Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2646768
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: C/C++

2008-11-19 19:01:41


struct EnumParam
{
 HWND hMainWnd;
 DWORD dwProcessID;
};
BOOL CALLBACK EnumWinProc(HWND hwnd, LPARAM lParam)
{
 DWORD dwID;
 EnumParam* pep = (EnumParam*)lParam;
 GetWindowThreadProcessId(hwnd, &dwID);
 if (dwID == pep->dwProcessID) {
  pep->hMainWnd = hwnd;
  return 0;
 }
 return TRUE;
}

void CPlayFlashDlg::Button3Click()
{
 EnumParam ep;
 STARTUPINFO si;
 PROCESS_INFORMATION pi;
 ep.hMainWnd = NULL;
 memset(&si, 0, sizeof(si));
 si.cb = sizeof(STARTUPINFO);
 if (CreateProcess(NULL,"notepad.exe c:\\1.txt",
  NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))  
 {
  CloseHandle(pi.hThread);
  CloseHandle(pi.hProcess);
  ep.dwProcessID = pi.dwProcessId;
  EnumWindows((WNDENUMPROC)EnumWinProc, (long)&ep);
 }
 //此时的 ep.hMainWnd 就是你要的NodePad.exe窗口的句柄
}
阅读(1404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~