01. september 2004 - 09:28
Der er
1 kommentar og 2 løsninger
Køre extern program og lukke vindue med knap
Har lavet en lille form hvor der 3 knapper. Ideen er at det lille program skal køre som autorun fra en CD hvor man kan installere 3 forskellige ting. Mit problem er nu at jeg ikke kan huske hvad det er man skal skrive for at køre en exe fil. begin run? procedure? ... end Hvis der er en der har en god linie til at lukke "vinduet" når man har trykket på en af de 3 knapper.
Annonceindlæg fra Thales
01. september 2004 - 09:39
#2
Kald program inde fra Delphi program: 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; Luk vinduet/programmet -knap: procedure TForm1.Button1Click(Sender: TObject); begin Close; end;
01. september 2004 - 21:04
#3
Har brugt lidt fra begge. Der er garanteret en hel del der kan skæres væk, eller hvad? unit tac; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons; type TInet = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; Image1: TImage; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; const flags: array [Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE); var Inet: TInet; cmdbuffer: array [0..MAX_PATH] of Char; implementation {$R *.DFM} procedure TInet.Button1Click(Sender: TObject); begin cmdbuffer := 'c:\1.bat'; WinExec(cmdbuffer, SW_Show); Close; end; procedure TInet.Button2Click(Sender: TObject); begin cmdbuffer := 'c:\2.bat'; WinExec(cmdbuffer, SW_Show); Close; end; procedure TInet.Button3Click(Sender: TObject); begin cmdbuffer := 'c:\3.bat'; WinExec(cmdbuffer, SW_Show); Close; end; end.