现在要在我的程序里启动一个外部程序,启动外部程序时,它的窗口会出现,我用::FindWindow找到它的句柄再用::ShowWindow
(hwnd,SW_HIDE)隐藏它(这个过程写在OnTimer中),启动了外部程序后我还要对它进行一系列的操作,所以它又会弹出其它的窗
口,如果每次都用FindWindow,ShowWindow的话,窗口还是会出现一瞬间,然后再被隐藏,而且还会经常出现Findwindow失败的情况(可能是因为写在OnTimer中的原因),但如果不写在OnTimer中就只能用Sleep来等待窗口出现,这样很难判断sleep多久,而且每台机器都不同,不可能这样做。不知道还有什么办法能把外部程序完全在后台运行?我听过好像可以用HOOK,什么DLL注入,这个小弟实在不太懂,各位高手们帮个忙吧,最好有例子,谢谢谢谢谢谢
(hwnd,SW_HIDE)隐藏它(这个过程写在OnTimer中),启动了外部程序后我还要对它进行一系列的操作,所以它又会弹出其它的窗
口,如果每次都用FindWindow,ShowWindow的话,窗口还是会出现一瞬间,然后再被隐藏,而且还会经常出现Findwindow失败的情况(可能是因为写在OnTimer中的原因),但如果不写在OnTimer中就只能用Sleep来等待窗口出现,这样很难判断sleep多久,而且每台机器都不同,不可能这样做。不知道还有什么办法能把外部程序完全在后台运行?我听过好像可以用HOOK,什么DLL注入,这个小弟实在不太懂,各位高手们帮个忙吧,最好有例子,谢谢谢谢谢谢
解决方案 »
- 怎样在对话框中放映PPT
- Debug Assertion Failed!
- 如何使得CFormView的尺寸永远保持和窗口一样大
- 做了个图片处理的软件,大家帮忙测试看看效果
- 求自定义浮动工具栏实例
- 有没有人知道关于proxy.h这个头文件?哪里可以下载???紧急等待中。。。
- 心里比较烦::::各位大侠,有谁知道在windows key event中如何区分键盘上的数字键和小键盘的数字键
- 求助,关于对话框
- 学VC++时,什么时候上机最好?
- 一个古老的问题 100分相送!!!
- 视图中嵌套对话框
- 物体平移到目的点后,有时消失,有时存在;特别是当把窗口拉伸为全屏时,点击鼠标时稍微托一下鼠标,物体存在的概率加大。
PROCESS_INFORMATION pi; memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
memset(&pi, 0, sizeof(pi)); if( !CreateProcessA( NULL,
(LPSTR)cmdline.c_str(),
NULL,
NULL,
FALSE,
CREATE_NO_WINDOW,// <<<<<<<-----此参数是否可以完成你要的功能
NULL,
workpath.empty() ? NULL : workpath.c_str(),
&si,
&pi)
)
{
return false;
}
if(exitcode)
{
// wait for process exit
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess, exitcode);
}
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);