走进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 //获取到数据的字节数
      );



走进windows编程的世界-----windows进程,布布扣,bubuko.com

时间: 2024-12-09 07:28:11

走进windows编程的世界-----windows进程的相关文章

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

一 线程局部存储 Thread Local Storage 1 由于多个线程使用同一个变量,各个线程    都对变量进行操作,那么变量的值会被不同    线程操作覆盖.               通常   变量A   <-- 线程A                     <-- 线程B                       TLS    变量A   <-- 线程A             变量A   <-- 线程B                2 TLS的使用    

走进windows编程的世界-----消息处理函数(1)

Win32消息机制 过程驱动:程序是按照我们预先定义好的顺序执行,每执行一步,下一步都已经按照预定的顺序 继续执行,直至程序结束. 事件驱动:程序的执行顺序是无序的.某个时间点所执行的代码,是由外界 通知.由于我们无法决定程序执行顺序.所以代码的执行也是无序的. Win32基本消息 WM_DESTROY:       窗口销毁时的消息,可以做退出或善后处理 WM_CREATE:       窗口创建消息,是在窗口创建后,窗口处理函数收到的第一条消息   可以在这个消息内,做初始化或者穿件子窗口

走进windows编程的世界-----字符编码

1   字符编码 1.1编码的历史 1.1.1ASCII码 0=127 7位表示 1.1.2ASCII扩展码 0-255 8为表示. 代码页:通过代码也来切换对应的字符(数字表示) 1.1.3双字节字符集DBCS 使用一个或两个字节表示字符. 1.1.4Unicode编码 全部使用2个字节表示字符 内存 硬盘等资源占用变大.对编码支持度大. 字符集 1.2C 语言和编码 1.2.1单字节的字符和字符串 Char  cText = 'A'; Char * pszText ="ABCD"

走进windows编程的世界-----消息处理函数(4)

一 右键菜单  1 右键菜单    当在窗口点击鼠标右键时,弹出的菜单.  2 右键菜单的使用    2.1 创建菜单      CreatePopupMenu    2.2 菜单增加     AppendMenu    2.3 菜单的显示. BOOL TrackPopupMenu( HMENU hMenu, //显示的菜单句柄 UINT uFlags, //显示的方式 int x, //菜单的X屏幕坐标 int y, //菜单的Y屏幕坐标 int nReserved, //保留,必须为0 HW

走进windows编程的世界-----消息处理函数(3)

二 定时器消息 1 定时器消息 WM_TIMER   按照定时器设置时间段,自动向窗口发送一个定时器消息WM_TIMER. 优先级比较低.   定时器精度比较低,毫秒级别.消息产生时间也精度比较低.    2 消息和函数   2.1 WM_TIMER  - 消息ID    wParam: 定时器的ID    lParam: 定时器的处理函数 2.2 SetTimer  - 设置一个定时器 UINT SetTimer( HWND hWnd, //窗口的句柄,可以为NULL UINT nIDEven

走进windows编程的世界-----绘图相关

Windows绘图 1 图形绘制      1.1 图形绘制的方式      获取到绘图句柄-设备描述表(DC),使用相应的绘图的API,在设备上绘制图形.          1.2 颜色      R\G\B三色, 每种颜色8位, 共24位颜色.      32位颜色: 颜色数量24位颜色, 多出来的8位表示灰度.      16位: 颜色数量2的16次方.            Win32下,颜色的定义 COLORREF(DWORD), RGB宏定义颜色       COLORREF nCo

走进windows编程的世界-----窗口的注册及创建

1   窗口注册和创建 1.1WIN32 窗口程序创建步骤 1.WinMain入口函数的定义 2.WindowProc函数的定义 3.注册窗口类 RegisterClass.RegisterClassEX 4.创建窗口 CreateWindow.CreateWindowEx HWND CreateWindow( LPCTSTRlpClassName,//指向已注册的窗口类的名称的指针 LPCTSTRlpWindowName,//指向窗口名称的指针 DWORDdwStyle,//窗口的风格 int

走进windows编程的世界-----消息处理函数(2)

一 WM_PAINT消息 1 WM_PAINT的产生   由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息.   一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘制区域,来产生WM_PAINT消息.   例如,可以使用InvalidateRect声明一个需要重新绘制的区域.    2 WM_PAINT的注意点    2.1 如果一个消息队列中,有多个WM_PAINT消息,只有最后一个WM_PAINT消息会被处理.    2.2 WM_PAINT消息处理中,

走进windows编程的世界-----位图及映射模式

1   位图的使用 1.1位图介绍 位图-通过保存在图像上每个点的颜色,生成响应的位图文件. 光栅图:图像点阵的保存 矢量图:绘图命令的保存. 1.2位图的使用 1.             加载位图资源 LoadBitap(); 2.             创建防止位图的DC CreateCompatibleDC 3.             将位图放入创建的DC SlectObject 4.             绘制位图到当前DC中 BitBlt 5.             取出位图