unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
App1, App2, App3: string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses IniFiles;
{$R *.dfm}
function RunApp(MyApp: string): Pointer;
begin
ShellExecute(handle,PChar('open'),PChar(MyApp),nil,nil,SW_SHOWNORMAL);
Result := nil;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RunApp(App1);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RunApp(App2);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RunApp(App3);
end;
procedure TForm1.FormCreate(Sender: TObject);
var Ini: TIniFile;
begin
// you do not actually need to make the extension .ini, it can be whatever you want.
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\app.ini');
app1 := Ini.ReadString('Buttons','MSN','C:\Program Files\MSN\messenger.exe');
app2 := ini.ReadString('Buttons','Notepad','C:\Windows\notepad.exe');
app3 := ini.ReadString('Buttons','IE','C:\Program Files\Internet Explorer\iexplorer.exe');
Ini.Free;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var Ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\app.ini');
ini.WriteString('Buttons','MSN',app1);
ini.WriteString('Buttons','Notepad',app2);
ini.WriteString('Buttons','IE',app3);
Ini.Free;
end;
end.