|
Geschrieben von Lemmy
|
|
Dienstag, 24. Januar 2006 |
|
Es gibt 2 Möglichkeiten eine andere Anwendung zu starten: 1. ShellExecute Dazu muss man in der USES-Klausel noch die ShellApi einbinden: uses ..., ShellApi; Der Befehl im Programm heißt dann wie folgt. Bei den Punkten ist der Name der zu startenden Datei einzutragen. Damit können auch Dateien geöffnet werden, die unter Windows mit irgendwelchen Programmen verknüpft sind (z. B. eine DOC-Datei, wenn Word installiert ist) - es können auch Windows-Befehle eingetragen werden. shellexecute(handle,PChar('OPEN'), PChar('...'), nil, nil, sw_normal);
2. CreateProcess Diese Prozedur ist etwas umfangreicher - liefert aber eine Meldung, falls das Programm nicht gestartet werden konnte. Leider können hiermit nur Programme ausgeführt werden und keine verknüpften Dateien. Bei den 3 Punkten in der Prozedurmitte ist der Programmname (evtl. mit Pfad) einzutragen. procedure AnwendungStarten; var aSi:TStartUpInfo; aPI:TProcessInformation; dwError:DWord; begin FillChar(aSi,SizeOf(TStartupInfo),0); with aSI do begin cb:=SizeOf(TStartupInfo); dwFlags:=STARTF_USESHOWWINDOW; wShowWindow:=SW_SHOW; end; if not CreateProcess(PChar('...'),nil,nil,nil,false, NORMAL_PRIORITY_CLASS,nil,nil,aSI,aPI) then begin dwError:= GetLastError; showmessage(Format('Programm kann nicht gestartet werden. Fehler : %d',[dwError])); end; end;
|
|
Letzte Aktualisierung ( Sonntag, 19. Februar 2006 )
|