VC API常用函数简单例子大全七

  • Post author:
  • Post category:其他


第六十一个GetWindowThreadProcessId根据窗口句柄获得对应进程ID号,和线程ID号 函数只有两个参数,第一个参数是窗口句柄,第二个参数是一个DOWRD类型的指针,函数返回线程ID 如: DWORD ThreadId,ProcessId; ThreadId=GetWindowThreadProcessId(wnd,&ProcessId); 第六十二个EnumWindows枚举当前正运行的所有主窗口,不包括子窗口 调用这个函数,还必须定义一个回调函数,它的格式是这样的:BOOL CALLBACK lpEnumFunc(HWND wnd, LPARAM lParam); EnumWindows函数有两个参数,第一个就是回调函数的地址,另一个是自定义参数,对应着回调函数的第二个参数。 每枚举一次窗口,这个回调函数就会被执行一次,而获得的窗口句柄,就会传递给回调函数,对应着回调函数的第一个参数。直到枚举完所有窗口。而在回调用函数里,返回真表示继续枚举,返回假则停止枚举。 例子:枚举窗口 #include #include BOOL CALLBACK lpEnumFunc(HWND hwnd, LPARAM lParam); int main() { ::EnumWindows(lpEnumFunc,0); return 0; } BOOL CALLBACK lpEnumFunc(HWND wnd, LPARAM lParam) { char WindowName[52]={0}; GetWindowText(wnd,WindowName,sizeof(WindowName));//根据窗口句柄获得窗口名 printf(“窗口句柄:%d 窗口名称:%s/n,”,wnd,WindowName); //可以在这里加个判断当前是否有一个窗口正在运行 //如if(strcmp(WindowName,”Windows 任务管理器”)==0) return 0;结束枚举, return 1; } 第六十三个MessageBox弹出一个消息提示框 int MessageBox( HWND hWnd ,//指明消息框是属于哪个窗口的,可以为NULL LPCSTR lpText,//消息提示具体内容 LPCSTR lpCaption,//提示框窗口标题 UINT uType);//指明提示框类型,按钮,图标 这里只说下uType的常用可选值: 按钮: MB_ABORTRETRYIGNORE 终止 重试 忽略 MB_OK 确定 MB_OKCANCEL 确定 取消 MB_RETRYCANCEL 重试 取消 MB_YESNO 是 否 MB_YESNOCANCEL 是 否 取消 图标: MB_ICONWARNING 感叹号 MB_ICONINFORMATION 提示i MB_ICONQUESTION 问号 MB_ICONSTOP 红X号 按钮和图标可以结合用,如: MessageBox(NULL,”该内存不能访问”,”出错”,MB_OK|MB_ICONSTOP); 系统模式:MB_SYSTEMMODAL 函数的返回值确定用户选择了哪个按钮,正面给



版权声明:本文为d3582077原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。