有些时候,我们需要在一个应用程序中打开另外的应用程序,我这几天就做了这样的事,总结了一些东西,希望可以跟大家一起分享和交流一下。其中有可能有一些东西是错误的或者走了弯路,恳请大家能够给我提意见!另外我这些天一直在学习多线程与多进程,期待找到一些共同进步的人! 闲话少说了,还是回答主题上面来。要在应用程序中启动其他的应用程序,有3个函数可以使用,下面我一一说说他们(我以打开D:\Program Files\zeecalls\目录下的zeecalls.exe应用程序为例):
1、Winexec
这个函数最简单,只有两个参数,原型如下:
UINT WinExec( LPCSTR lpCmdLine, // address of command line UINT uCmdShow // window style for new application );
使用方法如下:
WinExec(_T("D:\\Program Files\\zeecalls\\zeecalls.exe"),SW_SHOWMAXIMIZED);
这句话将会以最大化的方式打开zeecalls.exe,需要注意的是,在VC中,‘/’需要以‘//’来写。
2、ShellExecute
shellExecute比WinExex灵活一点,所以参数就要多一点,原型如下:
HINSTANCE ShellExecute( HWND hwnd, //父窗口句柄 LPCTSTR lpOperation,//打开方式 LPCTSTR lpFile, //待打开的文件名 LPCTSTR lpParameters, LPCTSTR lpDirectory,//文件路径 INT nShowCmd );
同样,我们也可以通过这个函数来打开我们需要的文件:
ShellExecute(NULL,_T("open"),_T("zeecalls.exe"),NULL,_T("D:\\Program Files\\zeecalls\\"),SW_SHOWNORMAL);
这句话是以用正常的显示方式打开zeecalls.exe
|