unit1.pas

来自「这有很多Delphi应用的例子」· PAS 代码 · 共 54 行

PAS
54
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SUInfo   : TStartupInfo;
  ProcInfo : TProcessInformation;
  i:integer;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
//单击Button1,打开一个指定的外部程序
begin
  FillChar(SUInfo, SizeOf(SUInfo),#0);
  //填写参数信息
  SUInfo.cb := SizeOf(SUInfo);
  SUInfo.dwFlags := STARTF_USESHOWWINDOW;
  SUInfo.wShowWindow := SW_SHOW;
  //打开一个外部程序cterm.exe
  if not CreateProcess(nil,pChar('c:\program files\cterm\cterm.exe'),
                   nil,nil,FALSE,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
                   nil,pChar(ExtractFilePath('C:\Program Files\cterm\cterm.EXE')),
                   SUInfo,ProcInfo) then
    ShowMessage('CreateProcess FAILED!!!');//如果打开外部程序失败则报错
end;

procedure TForm1.Button2Click(Sender: TObject);
//单击Button2,关闭单击Button1后打开的外部程序
begin
  TerminateProcess(ProcInfo.hProcess,i);//调用API函数关闭一个外部程序
end;

end.
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?