นวัตกรรม สิ่งประดิษฐ์ และเทคโนโลยี

กรุณา เข้าสู่ระบบ หรือ สมัครสมาชิก.

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
การค้นหาขั้นสูง  

ผู้เขียน หัวข้อ: execute another program  (อ่าน 8 ครั้ง)

NAWATTAKAM

  • Administrator
  • Sr. Member
  • *****
  • กระทู้: 345
execute another program
« เมื่อ: กุมภาพันธ์ 11, 2019, 09:17:59 PM »

Delphi



โค๊ด

uses
  ShellApi;

{ Start notepad }

ShellExecute(Handle, 'open', 'notepad.exe', '', nil, SW_SHOW);

WinExec('C:\Windows\notepad.exe', SW_SHOW);

{ Start notepad and load a file }

ShellExecute(Handle, 'open', 'notepad', 'c:\MyFile.txt', nil, SW_SHOW);

{ Open a txt file }

ShellExecute(Handle, 'open', 'c:\Readme.txt', nil, nil, SW_SHOW);


{ Calling "Dir" from the DOS-Prompt and redirect the output to a file }

{1. With Winexec }

procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
  flags: array [Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
  cmdbuffer: array [0..MAX_PATH] of Char;
begin
  GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
  StrCat(cmdbuffer, ' /C ');
  StrPCopy(StrEnd(cmdbuffer), cmdline);
  WinExec(cmdbuffer, flags[hidden]);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  ExecuteShellCommand('dir C:\ > c:\temp\dirlist.txt', True);
end;


{2. With Shellexecute }

procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
  flags: array[Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
  cmdbuffer: array[0..MAX_PATH] of Char;
begin
  GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
  ShellExecute(0,'open',cmdbuffer, PChar('/c' + cmdline), nil, flags[hidden]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ExecuteShellCommand('copy file1.txt file2.txt', True);
end;

บันทึกการเข้า