C++ 执行应用程序
来源:互联网 发布:做网站用java 还是php 编辑:程序博客网 时间:2024/06/16 03:51
void ShellExe()
{
shellexecuteinfo shexecinfo = {0};
shexecinfo.cbsize = sizeof(shellexecuteinfo);
shexecinfo.fmask = see_mask_nocloseprocess;
shexecinfo.hwnd = null;
shexecinfo.lpverb = null;
shexecinfo.lpfile = "c:timer.exe ";
shexecinfo.lpparameters = " ";
shexecinfo.lpdirectory = null;
shexecinfo.nshow = sw_show;
shexecinfo.hinstapp = null;
shellexecuteex(&shexecinfo);
sleep(3000); //延时3秒后关闭刚才打开的程序
terminateprocess(shexecinfo.hprocess,infinite);
}
ShellExecute()
函数原型:
HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile,
LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );
参数说明:
hwnd 窗口的句柄
lpOperation 进行的操作,如 "open ", "print ", "explore "分别对应 "打开 ", "打印 ", "游览 ", 也可以为空( " "),此时表示进行默认的操作。 lpFile 要操作的文件。
lpParameters 如果lpFile指定的是一个可执行文件则表示参数
lpDirectory 操作进行的目录
nShowCmd 程序的运行方式,其取值见上例。
如果这个函数调用成功,将返回实例的句柄,如果不成功,返回值包含错误信息,由于类型比较多,这里就不一一列举了,详见WinApi的帮助。
这样,上面的例子就可以改变为(假设窗口的句柄为Handle)
ShellExecute(NULL, "open ", "notepad ", "c:\\tst.txt ", " ",SW_SHOWNORMAL);
其实不用那么复杂,因为.TXT的关联程序就是记事本,所以只要这样就可以了
ShellExecute(NULL, " ", "c:\\tst.txt ", " ", " ",SW_SHOWNORMAL);
这个函数和WIN9X中的命令行命令 "start "类似,不光可以对文件进行操作,还可以对HTTP、MAILTO等进行操作。这样我们就可以设计有超级链接风格的程序了。
然后放置两个Label,设置其属性为:
Name lbHomepage lbEMail
Caption http://mail.126.com mailto:xxxx@126.com
并把字体改为蓝色有下划线,然后分别在两个Label的Click事件中加入以下代码:
ShellExecute(Me.hWnd, " ",lbHomepage.Caption, " ", " ",SW_SHOWNORMAL);
ShellExecute(Me.hWnd, " ",lbEMail.Caption, " ", " ",SW_SHOWNORMAL);
OK!试试看,如何?够酷的吧!
从上面可看出,ShellExecute的功能要强得多,并且可以完全替代WinExec(),事实上,WinExec()也是为了和以前版本兼容而保留,所以,我们要尽量使用ShellExecute()。其实在WinAPI
中,还有一个函数ShellExecuteEx() ,但其使用复杂,又不支持Windows NT。
- c#.net执行应用程序有两种方法
- 实战经验 PHP中通过Web执行C/C++应用程序
- c语言如何跳转到内存地址执行应用程序?
- PHP中如何通过Web执行C/C++应用程序?
- 调用ShellExecuteEx执行应用程序
- .Net应用程序执行解释
- js执行客户端应用程序
- 如何执行应用程序
- MFC应用程序执行流程
- C++ 执行应用程序
- 应用程序执行 内存分配
- QT应用程序执行错误
- springMVC应用程序执行流程
- 【C#】应用程序
- Android应用程序中用Java创建本地进程来执行C/C++程序
- C/C++/mfc/vc++中怎样通过代码让你做的应用程序以管理员的身份安装执行
- sas应用程序外部执行配置
- MFC中执行其它应用程序
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 在线文本编辑器FCKEditor java中的使用
- Android的Camera架构介绍
- 【整理】system\app中的APK一览
- Javascript学习笔录13(标签用法总结)
- C++ 执行应用程序
- xp下装win7
- 制作核心界面
- Android 开发指南 翻译10:Intents and Intent Filters
- 【整理】Android对Linux内核的改动你知道多少?
- 音视频编解码知识学习详解(分多部分进行详细分析)
- asp.net中文件下载时中文名称显示为乱码
- vim command line quick edit
- [情人节专属]纯js脚本1k大小的3D玫瑰