vc中调用外部程序方式总结.doc

vc中调用外部程序方式总结.doc

ID:13065577

大小:44.50 KB

页数:5页

时间:2018-07-20

vc中调用外部程序方式总结.doc_第1页
vc中调用外部程序方式总结.doc_第2页
vc中调用外部程序方式总结.doc_第3页
vc中调用外部程序方式总结.doc_第4页
vc中调用外部程序方式总结.doc_第5页
资源描述:

《vc中调用外部程序方式总结.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、目前知道三种方式:WinExec,ShellExecute,CreateProcess,别人已经总结的很好了《vc中调用其他应用程序的方法(函数)winexec,shellexecute,createprocess》,我全文转载一下,另外后面加点自己的总结(黑体部分,除了标题)。三个SDK函数:WinExec,ShellExecute,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。WinExec两个参数,前一个

2、指定路径,后一个指定显示方式。ShellExecute可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。CreateProcess一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。三个SDK函数(WinExec、ShellExec、CrateProces

3、s)的语法:(一)WinExec这个函数最简单,只有两个参数,原型如下:UINTWinExec(LPCSTRlpCmdLine,//命令路径UINTuCmdShow//显示方式);使用方法如下:WinExec("Notepad.exe",SW_SHOW);//打开记事本WinExec("D:\ProgramFiles\Test\Test.exe",SW_SHOWMAXIMIZED);//以最大化的方式打开Test.exe需要注意的是若用SW_SHOWMAXMIZED方式去加载一个无最大化按钮的程序,譬如Neterm,Calc等

4、等,就不会出现正常的窗体,但是已经被加到任务列表里了。这个函数只能打开exe文件。需要的头文件:windows.h,winbase.h(前者是试验出来,后者是msdn上说明),另外,这两者的先后顺序不能变。msdn上的说明:[url]http://msdn.microsoft.com/en-us/library/ms687393[/url](VS.85).aspx(二)ShellExecute原型如下:HINSTANCEShellExecute(HWNDhwnd,//父窗口句柄LPCTSTRlpOperation,//操作,打开方式

5、"edit","explore","open","find","print","NULL"LPCTSTRlpFile,//文件名,前面可加路径LPCTSTRlpParameters,//参数LPCTSTRlpDirectory,//默认文件夹INTnShowCmd//显示方式);使用方法如下:ShellExecute(NULL,"open","C:\Test.txt",NULL,NULL,SW_SHOWNORMAL);//打开C:Test.txt文件ShellExecute(NULL,"open","[url]http://ww

6、w.google.com/[/url]",NULL,NULL,SW_SHOWNORMAL);//打开网页[url]www.google.com[/url]ShellExecute(NULL,"explore","D:\C++",NULL,NULL,SW_SHOWNORMAL);//打开目录D:C++ShellExecute(NULL,"print","C:\Test.txt",NULL,NULL,SW_HIDE);//打印文件C:Test.txtShellExecute不支持定向输出。这个函数可以打开任意文件,会调用系统注册

7、的程序来打开对应后缀名的文件。需要的头文件:windows.h,shellapi.h(前者是我试验出来的,后者是msdn说需要的)。另外这两者的先后顺序不能变。msdn上说明:[url]http://msdn.microsoft.com/en-us/library/bb762153[/url](VS.85).aspx(三)CreateProcess原型如下:BOOLCreateProcess(LPCTSTRlpApplicationName,//执行程序名LPTSTRlpCommandLine,//参数行//下面两个参数描述了所创建

8、的进程和线程的安全属性,如果为NULL则使用默认的安全属性LPSECURITY_ATTRIBUTESlpProcessAttributes,//processsecurityattributesLPSECURITY_ATTRIBUTE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。