[00022]-[2015-09-19]-[00]-[Windows 平台基礎知識0]

來源:互聯網
上載者:User

標籤:

[檔案的相關操作]
[CreateFile]// 開啟或建立檔案

HANDLE CreateFile(            LPCTSTR lpFileName,                // 檔案名稱            DWORD dwDesiredAccess,                // 檔案的訪問模式 GENERIC_READ|GENERIC_WRITE            DWORD dwShareMode,                // 檔案的共用模式            LPSECURITY_ATTRIBUTES lpSecurityAttributes,    // 檔案的安全屬性 NULL            DWORD dwCreationDispositon,            // 檔案建立的處理方式 ....            DWORD dwFlagsAndAttributes,            // 檔案建立時的標誌和屬性 FILE_ATTRIBUTE_NORMAL            HANDLE hTemplateFile                // 檔案模板 NULL             );

 

[CloseHandle] // 檔案使用結束 關閉檔案控制代碼以釋放資源

BOOL CloseHandle( HANDLE hObject);     // 檔案的控制代碼

 

[DeleteFile] // 刪除檔案

BOOL DeleteFile( LPCTSTR lpFileName);     // 檔案名稱

 

[ReadFile] // 檔案讀取

BOOL ReadFile(    HANDLE hFile,     // 檔案控制代碼    LPVOID lpBuffer,     // 資料讀取的緩衝區    DWORD nNumberOfBytesToRead,     // 計劃讀取的資料位元組數    LPDWORD lpNumberOfBytesRead,     // 實際讀取的資料位元組數    LPOVERLAPPED lpOverlapped     // NULL);

 

[WriteFile] // 檔案寫入

BOOL WriteFile(    HANDLE hFile,     // 檔案控制代碼    LPVOID lpBuffer,     // 資料寫入的緩衝區    DWORD nNumberOfBytesToWrite,     // 計劃寫入的資料位元組數    LPDWORD nNumberOfBytesWritten,     // 實際寫入的資料位元組數    LPOVERLAPPED lpOverlapped     // NULL);

 

[SetFilePointer] // 設定檔案指標位置

DWORD SetFilePointer(    HANDLE hFile,     // 檔案指標    LONG lDistanceToMove,     // 位移量(低位)    PLONG lpDistanceToMoveHigh,     // 位移量(高位) 指標類型 一般為    NULL 只使用 低位位移量    DWORD dwMoveMethod     // 基準位置 FILE_BEGIN(檔案開始位置)     FILE_CURRENT(檔案當前位置) FILE_END(檔案結束位置));

 

[CreateDirectory] // 建立目錄

BOOL CreateDirectory(    LPCTSTR lpPathName,     // 建立的目錄名稱    LPSECURITY_ATTRIBUTES lpSecurityAttributes    // NULL);

 

[RemoveDirectory] // 刪除目錄

BOOL RemoveDirectory(    LPCTSTR lpPathName     // 刪除的目錄名稱);

 


[進程的基本操作]
[CreateProcess]// 建立strName進程

BOOL CreateProcess(    LPCTSTR lpApplicationName,     // 可執行檔的名稱    LPCTSTR lpCommandLine,     // 可執行檔的運行參數 NULL    LPSECURITY_ATTRIBUTES lpProcessAttributes,    // 進程安全屬性 NULL    LPSECURITY_ATTRIBYTES lpThreadAttributes,    // 安全執行緒屬性 NULL    BOOL bInheritHandle,      // 當前進程中的可繼承控制代碼是否可被新進程繼承    DWORD dwCreationFlags,     // 新進程的優先順序和建立標誌                               // DEBUG_PROCESS 父進程可對【子進程(建立的進程)及其子進程】進行調試                               // DEBUG_ONLY_THIS_PROCESS 父進程可對【子進程(建立的進程)】進行調試                               // CREATE_SUSPENDED 子進程(建立的進程)建立後不立即運行(被掛起)    LPVOID lpEnvironment,      // 新進程的環境變數 NULL    LPCTSTR lpCurrentDirectory,     // 新進程使用的目前的目錄    LPSTARTUPINFO lpStartupInfo,     // 新進程的啟動資訊/*typedef struct _STARTUPINFO {DWORD cb;LPTSTR lpReserved;LPTSTR lpDesktop;LPTSTR lpTitle;DWORD dwX;DWORD dwY;DWORD dwXSize;DWORD dwYSize;DWORD dwXCountChars;DWORD dwYCountChars;DWORD dwFillAttribute;DWORD dwFlags;WORD wShowWindow;WORD cbReserved2;LPBYTE lpReserved2;HANDLE hStdInput;HANDLE hStdOutput;HANDLE hStdError;} STARTUPINFO, *LPSTARTUPINFO;*/    LPPROCESS_INFORMATION lpProcessInformation    // 新進程中的(進程和主線程)的相關資訊參數/*typedef struct{HANDLE hProcess,HANDLE hThread,DWORD dwProcessId,DWORD dwThreadId}PROCESS_INFORMATION, *LPPROCESS_INFORMATION*/);             

 

[egcode]:

PROCESS_INFORMATION pi = {0};STARTUPINFO si = {0};si.cb = sizeof(STARTUPINFO);BOOL bRet = CreateProcess("C:\\1.exe",                      NULL,                 NULL,                 NULL,                 FALSE,                 NULL,                  NULL,                 NULL,                 &si,                 &pi);// 如果不想佔用過多的系統資源 可以在建立好進程以後就關閉進程和主線程的控制代碼以釋放控制代碼資源CloseHandle(pi.hThread);CloseHandle(pi.hProcess);

[OpenProcess] // 開啟dwProcessId進程

HANDLE OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);

[ExitProcess] // 正常退出進程

[TerminateProcess] // 強制退出進程

[CloseHandle] // 關閉進程控制代碼 當不是意味著關閉進程 只是釋放了【進程控制代碼】這個資源(控制代碼也是系統資源的一種)

[00022]-[2015-09-19]-[00]-[Windows 平台基礎知識0]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.