调用sdk中的 ExecProgram函数
procedure TForm1.Button1Click(Sender: TObject);
begin
   ExecProgram('e:\project1.exe', 1);
end;编译时说  ExecProgram没有声明
是不是要用加入其他单元文件

解决方案 »

  1.   

    uses ShellAPI;
    ShellExecute(handle, "open", 'e:\project1.exe', NULL, NULL, SW_SHOWNORMAL);
      

  2.   

    用api函数WinExec("\"C:\Program Files\MyApp.exe\" -L -S", ...)The WinExec function runs the specified application. Note  This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function. UINT WinExec(
      LPCSTR lpCmdLine,  // command line
      UINT uCmdShow      // window style
    );
    Parameters
    lpCmdLine 
    [in] Pointer to a null-terminated character string that contains the command line (file name plus optional parameters) for the application to be executed. If the name of the executable file in the lpCmdLine parameter does not contain a directory path, the system searches for the executable file in this sequence: 
    The directory from which the application loaded. 
    The current directory. 
    The Windows system directory. The GetSystemDirectory function retrieves the path of this directory. 
    The Windows directory. The GetWindowsDirectory function retrieves the path of this directory. 
    The directories listed in the PATH environment variable. 
    uCmdShow 
    [in] Specifies how a Windows-based application window is to be shown and is used to supply the wShowWindow member of the STARTUPINFO parameter to the CreateProcess function. For a list of the acceptable values, see the description of the nCmdShow parameter of the ShowWindow function. For a non-Windows – based application, the PIF file, if any, for the application determines the window state. 
    Return Values
    If the function succeeds, the return value is greater than 31.If the function fails, the return value is one of the following error values: Value Meaning 
    0 The system is out of memory or resources. 
    ERROR_BAD_FORMAT The .exe file is invalid. 
    ERROR_FILE_NOT_FOUND The specified file was not found. 
    ERROR_PATH_NOT_FOUND The specified path was not found. 
    Res
    The WinExec function returns when the started process calls the GetMessage function or a time-out limit is reached. To avoid waiting for the time out delay, call the GetMessage function as soon as possible in any process started by a call to WinExec. Security Res
    The 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", ...)
    Requirements 
      Windows NT/2000/XP: Included in Windows NT 3.1 and later.
      Windows 95/98/Me: Included in Windows 95 and later.
      Header: Declared in Winbase.h; include Windows.h.
      Library: Use Kernel32.lib.See Also
      

  3.   

    用API函数WinExec 可以掉用EXE文件
    winexec('d:\qq.exe',sw_shownormal)这样即可调用别的可执行文件了
      

  4.   

    uses ShellAPI;
    ShellExecute(handle, "open", '盘符路径:\project1.exe', NULL, NULL, SW_SHOWNORMAL);
      
      

  5.   

    uses ShellAPI;
    ShellExecute
    WinExec()
      

  6.   

    uses ShellAPI;  //you need to use this unit first, or 'delphi' won't find the shellapi and winexec();
    ShellExecute//api funciton
    WinExec()   //funcion
      

  7.   

    但如果调用的是一个DOS程序,需要加入尾参数。
    如abc.exe e:\cc.h
    又如何用shellexecute呢?