VC 将CreateProcess 隐藏的窗口重新显示

VC 将CreateProcess 隐藏的窗口重新显示,第1张

没有直接的野颂陵方法。用EnumWindows枚举窗口,然后用GetProcessIidFromHwnd获取窗口进程id,与你创建的进程id比较,直到相同,这个窗口就是你所要找的窗口。

以上函数可能有个别字符差异,我记颂戚不太清,没装msdn也没装vc,不能帮你查。总之就是枚举窗口,通过窗樱握口句柄获取进程id,逐个与进程比较直到相同为止。

没这样做过,不过我兆嫌认为,这不是无窗口属性的继承问题塌烂,而是因为,CREATE_NO_WINDOW模式调用sys.exe的时候,根本不会进入OnInitDialog代码,因为这个族衫手函数,是初始化界面的时候才调用的。

建议你,将sys.exe这个程序中,CreateProcess部分代码,由OnInitDialog转到InitInstance这个入口函数里面(放在函数最后,return之前)试试,这样应该就可以了。

PROCESS_INFORMATION pi

ZeroMemory(&si,sizeof(STARTUPINFO))

si.cb = sizeof(STARTUPINFO)

GetStartupInfo(&si)

si.wShowWindow = SW_HIDE //隐兆租掘数藏窗族散兆口

si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES

if (!CreateProcess(NULL, appPath, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12228663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存