- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
所以感觉你这里的PID号给了个固定值,应该抓不住对话框。下面这段能够抓对话框,不知道是你要的效果么void?C对话框中嵌对话框Dlg::OnBnClickedOk(){//?TODO:?在此添加控件通知处理程序代码CRect?rec;CWnd::GetClientRect(rec);?HWND?hWnd?=?::FindWindow(NULL,?_T(TestDlg));::SetWindowPos(hWnd,?NULL,?0,0,0,0,SWP_NOMOVE|SWP_NOZORDER|SWP_NOSIZE|SWP_FRAMECHANGED);::SetParent(hWnd,?this-GetSafeHwnd());::SetWindowPos(hWnd,?NULL,?0,?0,?rec.Width(),?rec.Height(),?SWP_NOZORDER);//CDialogEx::OnOK();}
vc++ 在程序中运行另一个程序的方法
2010-08-13 14:47 1419人阅读 评论(0) 收藏 举报
vc++nullattributes文档microsoftsecurity
在vc++ 程序中运行另一个程序的方法有三个: WinExec(),ShellExcute()和CreateProcess()
三个SDK函数:?WinExec,ShellExecute?,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。????WinExec?两个参数,前一个指定路径,后一个指定显示方式。????ShellExecute?可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。????CreateProcess?一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。?三个SDK函数(?WinExec、ShellExec、CrateProcess?)的语法:?WinExec这个函数最简单,只有两个参数,原型如下:???????UINT?WinExec(??????LPCSTR?lpCmdLine,???//?命令路径??????UINT?uCmdShow??????//?显示方式??????;
lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程序的命令行(文件名加上可选参数)。
uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。
返回值:
若函数调用成功,则返回值大于31。若函数调用失败,则返回值为下列之一:
0:系统内存或资源已耗尽。
ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。
ERROR_FILE_NOT_FOUND:指定的文件未找到。
ERROR_PATH_NOT_FOUND:指定的路径未找到。
虽然Microsoft认为WinExec已过时,但是在许多时候,简单的WinExec函数仍是运行新程序的最好方式。简单地传送作为第一个参数的命令行,还需要决定如何显示程序(该程序也许会忽视它)的第二个参数。通常,将其设置为SW_SHOW,也可尝试SW_MINIMIZED或SW_MAXIMIZED。WinExec不允许用CreateProcess获得的所有选项,而它的确简单。
使用方法如下:WinExec(Notepad.exe,?SW_SHOW);??//?打开记事本WinExec(D://Program?Files//Test//Test.exe,SW_SHOWMAXIMIZED);?//?以最大化的方式打Test.exe其中这里的SW_SHOW,SW_SHOWMAXIMIZED都是执行程序时窗口的显示方式,在winuser.h中定义。需要注意的是若用?SW_SHOWMAXMIZED?方式去加载一个无最大化按钮的程序,譬如Neterm,Calc?等等,就不会出现正常的?窗体,但是已经被加到任务列表里了。?ShellExecute原型如下:??????HINSTANCE?ShellExecute(??????HWND?h
您可能关注的文档
最近下载
- 中国建筑色卡千色卡色号查询表.pdf
- 物流配送及其运输调度优化研究.docx VIP
- 北师大版八年级数学下册知识点:定理知识点汇总.doc VIP
- 预防未成年人犯罪法宣传青少年法制教育主题班会ppt课件.pptx
- ISO 4427-2-2019中文+英文,塑料管材系统,聚乙烯,第2部分,管材.pdf
- 吻合器的原理、种类及操作.ppt VIP
- 2024年中考(学业水平考试)生物热点:生物学与社会 跨学科实践(学生版+解析版).docx
- 《第3节 细胞通过分解有机分子获取能量》课件_高中生物_必修1 分子与细胞_沪科版.pptx VIP
- 百家争鸣 作业设计 .doc VIP
- 6MW光伏发电项目报价清单表(全项).docx
文档评论(0)