标签:
[文件的相关操作]
[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]
标签:
原文地址:http://www.cnblogs.com/Auris/p/4821215.html