WinExec和ShellExecutex

WinExec相当于DOS年代C语言里的system(...),VC为了保持与16位程序的兼容,把system改了个名字,就成了WinExec,所以只能执行标准的执行文件,如果你执行WinExec("Temp.txt"),那绝对是行不通的。在32位的世界里推荐CreateProcess,这个函数的参数贼多,第一次用的时候也把我吓晕了,被救醒后仔细一看,原来大多都可以取默认值,还是满简单的。至于那个ShellExecutEx,顾名思义,通过Windows的Shell启动一个东西,这就不一定是程序了,可以使所有在系统中注册过的有关联程序的东西,比如你可以用这个函数“执行”一个txt文件。

 

WinExec()用法

UINT WinExec(
   LPCSTR lpCmdLine,
   UINT uCmdShow
);
The WinExec function runs the specified application.

For example:
Open a specified directory:
WinExec("explorer <dir>", SW_SHOW);


Run a application:
WinExec("appname.exe", SW_SHOW);
WinExec("C://Program Files//MyApp", ...);
WinExec("/"C://Program Files//MyApp.exe/" -L -S", ...);

Requirements
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
DLL: kernel32.dll

你可能感兴趣的:(windows,function,dos,application,System,include)