我用WinExec(SM.exe C:\\Program Files\\Temp.txt, SW_SHOWNORMAL);
结果程序在Program Files中间切断,提示C:\\Program找不到。
请问该如何写?

解决方案 »

  1.   

    看来楼主不看MSDN的,上面有特别讲到这一点的!Security ResThe executable name is treated as the first white space-delimited string in lpCmdLine. If the executable or path name has a space in it, there is a risk that a different executable could be run because of the way the function parses spaces. The following example is dangerous because the function will attempt to run "Program.exe", if it exists, instead of "MyApp.exe".WinExec("C:\Program Files\MyApp", ...)
    If a malicious user were to create an application called "Program.exe" on a system, any program that incorrectly calls WinExec using the Program Files directory will run this application instead of the intended application.To avoid this problem, use CreateProcess rather than WinExec. However, if you must use WinExec for legacy reasons, make sure the application name is enclosed in quotation s as shown in the example below.WinExec("\"C:\Program Files\MyApp.exe\" -L -S", ...)