目录
三个SDK函数( WinExec、ShellExec、CrateProcess )的语法:
简介
WinExec,ShellExecute ,CreateProcess这三个win32API均可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。
WinExec 两个参数,前一个指定路径,后一个指定显示方式,只能用来打开程序。
ShellExecute 可以指定工作目录,并且还可以寻找文件的关联直接打开不用加载与文件关联的应用程序,ShellExecute还可以打开网页,启动相应的邮件关联发送邮件等等。
CreateProcess 一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等。如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用CreateProcess函数了。
需要注意的是,C++中所表示的路径要用 " \\"而不是平常所用的" \ "。
三个SDK函数( WinExec、ShellExec、CrateProcess )的语法:
1、WinExec
这个函数最简单,只有两个参数,只能用来打开程序,原型如下:
UINT WinExec(
LPCSTR lpCmdLine, // 命令路径
UINT uCmdShow // 显示方式
);
使用方法如下:
WinExec("Notepad.exe",SW_SHOW); // 打开记事本
WinExec("D:\\ProgramFiles\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe
需要注意的是若用 SW_SHOWMAXMIZED 方式去加载一个无最大化按钮的程序,譬如Neterm,Calc 等等,就不会出现正常的窗体,但是已经被加到任务列表里了。
2、ShellExecute
原型如下:
HINSTANCE ShellExecute(
H