Windows进程
1 Windows进程
进程是一个容器,包含了一个应用程序实例的各种资源。Windows多任务的操作系统,因此可以同时执行多个进程。
2 Windows进程的一些特点
2.1 进程中包含了执行代码等资源。
2.2 进程都具有私有的地址空间。
2.3 每个进程都有一个ID,标识进程。
2.4 每个进程都有自己的安全属性
2.5 至少要包含一个可以执行的线程。
二 进程的环境
1 环境信息的获取
获取:
LPVOID GetEnvironmentStrings(VOID)
返回值是获取到的所有环境信息
释放:
<span> BOOL FreeEnvironmentStrings(
LPTSTR lpszEnvironmentBlock )</span>
2 环境变量的获取和设置
获取:
<span> DWORD GetEnvironmentVariable(
LPCTSTR lpName, </span>
<span>//</span>
<span>变量名称</span>
LPTSTR lpBuffer, <span>//</span><span>数据BUFF</span>
DWORD nSize <span>//</span><span>BUFF的长度</span>
);
返回值是获取到的字符串的长度
设置:
<span> BOOL SetEnvironmentVariable(
LPCTSTR lpName, </span>
<span>//</span>
<span>变量名称</span>
LPCTSTR lpValue <span>//</span><span>变量的值</span>
);
三 进程的信息
1 进程ID和句柄
GetCurrentProcessID 获取进程的ID
GetCurrentProcess 获取进程的句柄,
返回值为-1,是当前进程的伪句柄,永远是-1.如果想获取当前进程的实际句柄需要使用OpenProcess函数.
2 打开进程
<span> HANDLE OpenProcess(
DWORD dwDesiredAccess, </span>
<span>//</span>
<span>访问模式</span>
BOOL bInheritHandle, <span>//</span><span>继承标识</span>
DWORD dwProcessId <span>//</span><span>进程ID</span>
);
返回进程的句柄
3 获取进程的所使用的所有模块(EXE或DLL)
使用PSAPI函数.
<span> BOOL EnumProcessModules(
HANDLE hProcess,</span>
<span>//</span>
<span>进程句柄</span>
HMODULE * lphModule,<span>//</span><span>模块的数组</span>
DWORD cb, <span>//</span><span>数组的长度</span>
LPDWORD lpcbNeeded <span>//</span><span>获取到数据的字节数</span>
);
原文:http://blog.csdn.net/sjin_1314/article/details/38051407
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!