首页 > 代码库 > 走进windows编程的世界-----windows进程

走进windows编程的世界-----windows进程

 Windows进程
 
 1 Windows进程
    进程是一个容器,包含了一个应用程序实例的各种资源。Windows多任务的操作系统,因此可以同时执行多个进程。
    
  2 Windows进程的一些特点
    2.1 进程中包含了执行代码等资源。
    2.2 进程都具有私有的地址空间。
    2.3 每个进程都有一个ID,标识进程。
    2.4 每个进程都有自己的安全属性
    2.5 至少要包含一个可以执行的线程。
    
二 进程的环境

  1 环境信息的获取
    获取:
    LPVOID GetEnvironmentStrings(VOID)
    返回值是获取到的所有环境信息
    释放:

    BOOL FreeEnvironmentStrings(  
     LPTSTR lpszEnvironmentBlock )

  2 环境变量的获取和设置
    获取:

     DWORD GetEnvironmentVariable(
     LPCTSTR lpName,  //变量名称
     LPTSTR lpBuffer, //数据BUFF
     DWORD nSize      //BUFF的长度
    );

    返回值是获取到的字符串的长度
    设置:

  BOOL SetEnvironmentVariable(
     LPCTSTR lpName, //变量名称
     LPCTSTR lpValue  //变量的值
    );


三 进程的信息
   1 进程ID和句柄
     GetCurrentProcessID 获取进程的ID
     GetCurrentProcess 获取进程的句柄,
         返回值为-1,是当前进程的伪句柄,永远是-1.如果想获取当前进程的实际句柄需要使用OpenProcess函数.
   2 打开进程

     HANDLE OpenProcess(
       DWORD dwDesiredAccess, //访问模式
       BOOL bInheritHandle, //继承标识
       DWORD dwProcessId //进程ID
     );

   返回进程的句柄
   3 获取进程的所使用的所有模块(EXE或DLL)
     使用PSAPI函数.

复制代码
      BOOL EnumProcessModules(
       HANDLE hProcess,//进程句柄
       HMODULE * lphModule,//模块的数组
       DWORD cb, //数组的长度
       LPDWORD lpcbNeeded //获取到数据的字节数
      );
复制代码