全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三个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 / 显示方式)使用方法如下:WinExec(Notepad.exe, SW_SHOW); / 打开记事本WinExec(D:Program FilesTestTest.exe,SW_SHOWMAXIMIZED); / 以最大化的方式打开Test.exe需要注意的是若用 SW_SHOWMAXMIZED 方式去加载一个无最大化按钮的程序,譬如Neterm,Calc 等等,就不会出现正常的 窗体,但是已经被加到任务列表里了。 ShellExecute原型如下:HINSTANCE ShellExecute(HWND hwnd, /父窗口句柄LPCTSTRlpOperation,/操作,打开方式(“edit”, “explore”, “open”, “find”, “print”, “NULL”)LPCTSTR lpFile, /文件名,前面可加路径LPCTSTR lpParameters, /参数LPCTSTR lpDirectory, /默认文件夹INT nShowCmd /显示方式)使用方法如下:ShellExecute(NULL,open,C:Test.txt,NULL,NULL,SW_SHOWNORMAL); / 打开C:Test.txt 文件ShellExecute(NULL, open, ,NULL, NULL, SW_SHOWNORMAL); / 打开网页ShellExecute(NULL,explore, D:C+,NULL,NULL,SW_SHOWNORMAL); / 打开目录D:C+ShellExecute(NULL,print,C:Test.txt,NULL,NULL, SW_HIDE); / 打印文件C:Test.txtShellExecute不支持定向输出。 CreateProcess原型如下:BOOL CreateProcess(LPCTSTR lpApplicationName, /执行程序名LPTSTR lpCommandLine, / 参数行/下面两个参数描述了所创建的进程和线程的安全属性,如果为NULL则使用默认的安全属性LPSECURITY_ATTRIBUTES lpProcessAttributes, / process security attributesLPSECURITY_ATTRIBUTES lpThreadAttributes, / thread security attributes BOOL bInheritHandles, / 继承标志 DWORD dwCreationFlags, / 创建标志 LPVOID lpEnvironment, / 环境变量 LPCTSTR lpCurrentDirectory, / 运行该进程的初始目录 LPSTARTUPINFO lpStartupInfo, / 用于在创建子进程时设置各种属性LPPROCESS_INFORMATION lpProcessInformation /用于在进程创建后接受相关信息)使用方法如下:PROCESS_INFORMATION pi;STARTUPINFO si;memset(&si,0,sizeof(si);si.cb=sizeof(si);si.wShowWindow=SW_SHOW;si.dwFlags=STARTF_USESHOWWINDOW;boolfRet=CreateProcess(D:putty.exe,NULL,NULL,FALSE,NULL,NULL,NULL,NULL,&si,&pi); 可以看出,通过上面的几个不同的方法,都可以实现在应用程序中打开其他应用程序的目的,其中有些方法可能会麻烦一点,所以就需要我们根据不同的目的去选择最适合自己的方法去实现自己的目的!关于三个SDK函数: WinExec, ShellExecute,CreateProcess 的其他注意事项:1、定义头文件在头文件stdafx.h中必须定义以下两个头文件:#include / 可替换为 windows.h#include 如果定义了头文件 #include 的话就不必定义 #include 了,windows.h 不光是包含了shellapi.h,它还定义了许多数据类型,如果没有这些数据类型,shellapi.h本身会出错。 2、定义路径C+中所表示的路径要用 而不是平常所用的 ,所以以上三个函数表示路径都为:Disk:Directory.File nameWinExec(D:Program FilesTestTest.exe,SW_SHOWMAXIMIZED);ShellExecut
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货物租赁协议书范本
- 购房协议时候签合同
- 货车司机保险协议书
- 购房订金退还协议书
- 购买押金协议书范本
- 2025年宣城绩溪县公开招聘社区专职工作者6名备考题库含答案详解(培优)
- 货车租车安全协议书
- 贴牌生产框架协议书
- 贷款收押协议书范本
- 2025山东德州市德城区招聘城市社区专职工作者200人备考题库含答案详解(典型题)
- 招标代理公司企业管理制度
- 自然元素设计分析
- 建设监理框架协议书
- 工厂托管协议书范本
- 正视自己的不足课件
- 叉车作业安全培训课件
- 2025贵阳市康养集团有限公司三医康养服务分公司招聘2人笔试考试备考试题及答案解析
- 商场转租合同协议书
- 【MOOC】中国智慧-华东师范大学 中国大学慕课MOOC答案
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- 建军大业课件完整版
评论
0/150
提交评论