



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三个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年版综合性劳动合同样本
- 建筑租赁销售合同范本
- 农村建房签合同范本
- 大车驾校合同范本
- 2025版知名合同之居间合同
- 项目钢材供应合同范本
- 厨房包厨合同范本
- 2025学校食堂、小卖部承包合同书
- 景区游乐设施合同范本
- 2025合同法中合同试用期相关规定
- 6G多维度切片QoS保障-洞察及研究
- 2025-2026学年外研版(三起)(2024)小学英语四年级上册教学计划及进度表
- 2025年安徽国控集团所属企业招聘7人笔试备考题库及答案解析
- 2025年海南省警务辅助人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 城市道路清扫保洁协议
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材)
- 2025年医学检验在编考试题库
- 特色食品卖场建设方案(3篇)
- 2025年书法级考试题及答案
- 子宫癌肉瘤护理查房
- 乡村产业融合发展路径与振兴策略研究
评论
0/150
提交评论