unit MainSetupProject;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;var
  frmMainSetup: TfrmMainSetup;implementation{$R *.dfm}procedure TfrmMainSetup.Label1Click(Sender: TObject);
begin
  Self.Close;
end;procedure TfrmMainSetup.Image1Click(Sender: TObject);
begin
  Self.Close;
end;procedure TfrmMainSetup.ins_unins_NeedEnv_OnEnter(Sender: TObject);
begin
  optionInfo.Caption := 'cc';
end;procedure TfrmMainSetup.ins_unins_backbox_OnEnter(Sender: TObject);
begin
  optionInfo.Caption := 'bb';
end;procedure TfrmMainSetup.ins_unins_OnEnter(Sender: TObject);
begin
  optionInfo.Caption := 'aa';
end;procedure TfrmMainSetup.excuteClick(Sender: TObject);
begin
  ShellExecute(handle, "open", 'Setup.exe', NULL, NULL, SW_SHOWNORMAL);end;end.//////////////////////////////////////////////////////////////////
procedure TfrmMainSetup.excuteClick(Sender: TObject);
begin
  ShellExecute(handle, "open", 'Setup.exe', NULL, NULL, SW_SHOWNORMAL);end;[Error] MainSetupProject.pas(66): Undeclared identifier: 'ShellExecute'
[Error] MainSetupProject.pas(66): Illegal character in input file: '"' ($22)//////////////////////////////
另外,如果当前程序的启动路径。

解决方案 »

  1.   

    出现了新的错误: ShellExecute(handle, "open", "Setup.exe", NULL, NULL, SW_SHOWNORMAL);[Error] MainSetupProject.pas(66): Illegal character in input file: '"' ($22)
    [Error] MainSetupProject.pas(66): Not enough actual parameters
      

  2.   

    我靠,细看真吓一跳,字符串要用单引号,而且api都要用pchar,null要写成nil,这样
    ShellExecute(handle, pchar('open'), pchar('notepad.exe'), nil, nil, SW_SHOWNORMAL);
      

  3.   

    我把代码改成这样就OK了:ShellExecute(handle, 'open', 'iCSP\Setup.exe', nil, nil, SW_SHOWNORMAL);