![]() |
Prüfen ob Delphi läuft
Moin,
wie würdet ihr prüfen ob Delphi läuft? Ich hatte da an FindWindow gedacht und zwar das ich da auf die klasse "TAppBuilder" prüfe.... ist das für alle Delphiversionen korrekt? |
Re: Prüfen ob Delphi läuft
Willst Du prüfen ob Delphi allgemein läuft oder ob deine Anwendung unter Delphi oder einem Debugger läuft?
|
Re: Prüfen ob Delphi läuft
ich möchte prüfen, ob delphi allgmein laeuft
|
Re: Prüfen ob Delphi läuft
Erstmal folgendes in die Uses Liste einbinden:
Delphi-Quellcode:
uses TlHelp32;
Das die Funktion wo überprüft , ob eine EXE datei läuft:
Delphi-Quellcode:
Zu guter Letzt der Beispielaufruf:
function IsExeRunning(const AExeName: string): boolean;
var h: THandle; p: TProcessEntry32; begin Result := False; p.dwSize := SizeOf(p); h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0); try Process32First(h, p); repeat Result := AnsiUpperCase(AExeName) = AnsiUpperCase(p.szExeFile); until Result or (not Process32Next(h, p)); finally CloseHandle(h); end; end;
Delphi-Quellcode:
if IsExeRunning('Notepad.exe') then
ShowMessage('Notepad läuft') else ShowMessage('Notepad läuft nicht'); _____________________ DANN kannst du noch Prüfen , ob ein Window "läuft":
Delphi-Quellcode:
var
Handle: THandle; begin Handle := FindWindow(PChar('Unbekannt - Editor'),nil); if Handle<>0 then Showmessage('Editor ist schon gestartet') else Showmessage('Editor wurde noch nicht gestartet'); _____________________ 1. Moeglichkeit Läuft Delphi IDE?
Delphi-Quellcode:
2. Moeglichkeit
If FindWindow('TAppBuilder',nil) <= 0 then
ShowMessage('Delphi läuft nicht') else ShowMessage('Delphi läuft');
Delphi-Quellcode:
___________________
if DebugHook <> 0 then
ShowMessage('Inside IDE') else ShowMessage('StandAlone'); Du kannst natürlich auch die laufendne Prozesse ermitteln und Delphi rauspicken: Uses Liste einbinden:
Delphi-Quellcode:
Die Funktion:
uses
tlhelp32;
Delphi-Quellcode:
Beispielaufruf:
procedure GetProcessList(const aProcessList: TStrings);
var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE) then Repeat aProcessList.Add(ProcessE.szExeFile); Until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end;
Delphi-Quellcode:
GetProcessList(listbox1.Items);
|
Re: Prüfen ob Delphi läuft
@A-M-X: Das zeigt dir aber allg. an, ob eine Anwendung läuft, wenn du den Dateinamen hast. Und so genau sind die Möglichkeiten dann auch nicht. ;)
@Mario: Im SDC steht dazu ![]() Nachtrag: Achtung, Kommentare dazu lesen: Zitat:
|
Re: Prüfen ob Delphi läuft
Ich hab es überarbeitet!
|
Re: Prüfen ob Delphi läuft
Moin,
besten Dank an euch zwei, habt euch ja richtig Mühe gegeben :) Noch ne Frage zu FindWIndow..... Ist TAppBuilder denn von Delphi 2-7 der Klassenname? MfG :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz