标题:[求助]C++ 中遇到的奇怪问题
取消只看楼主
small1fish
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-3-6
 问题点数:0 回复次数:0 
[求助]C++ 中遇到的奇怪问题

我用::CreateProcess()打开了一个程序窗口
//参数省略,这里没有问题
if (::CreateProcess(m_reg,NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
AfxMessageBox("打开成功!");){
ProcessId = pi.dwProcessId;
Sleep(10000);
::EnumWindows(&EnumWindowsProc, ProcessId);
}
//上面的已经执行成功了的
//我是以隐藏方式打开一个窗口程序,想在挂起10秒后,找到该窗口句柄,然后再显示该窗口,下面是回调函数
//===================

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM param)
{

DWORD dwID ;

GetWindowThreadProcessId(hwnd, &dwID);

if (dwID == (DWORD)param) //已经执行到这里,找到了匹配的句柄
{
HWND hwndParent=hwnd;

if (::ShowWindow(hwndParent,SW_SHOW))//但是这里无法执行成功,运行后显示”显示失败”
{
AfxMessageBox("显示成功!");
}else{
AfxMessageBox("显示失败");
}
return false;
}
return false;
}

//我试过反过来,CreateProcess时不隐藏,然后在回调函数中隐藏窗口,还是执行不成功.

请哪位高人指点下小妹!谢谢啦!

2007-03-06 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-122807-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.230140 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved