AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen ob Delphi läuft

Ein Thema von Pseudemys Nelsoni · begonnen am 15. Okt 2005 · letzter Beitrag vom 15. Okt 2005
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 15:27
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?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 15:41
Willst Du prüfen ob Delphi allgemein läuft oder ob deine Anwendung unter Delphi oder einem Debugger läuft?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 16:10
ich möchte prüfen, ob delphi allgmein laeuft
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#4

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 16:45
Erstmal folgendes in die Uses Liste einbinden:

uses TlHelp32;
Das die Funktion wo überprüft , ob eine EXE datei läuft:

Delphi-Quellcode:
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;
Zu guter Letzt der Beispielaufruf:

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:
  If FindWindow('TAppBuilder',nil) <= 0 then
    ShowMessage('Delphi läuft nicht')
  else
    ShowMessage('Delphi läuft');
2. Moeglichkeit

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:
uses
 tlhelp32;
Die Funktion:
Delphi-Quellcode:
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;
Beispielaufruf:

 GetProcessList(listbox1.Items);
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 16:53
@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 folgendes.


Nachtrag: Achtung, Kommentare dazu lesen:

Zitat:
Was noch viel wichtiger ist!

Hier die Deklaration von FindWindow:

HWND FindWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName
);

Wie man sehen kann, ist der erste Parameter der Klassen-Name!!

Und nicht wie im Tipp beschrieben der zweite Parameter!
  Mit Zitat antworten Zitat
A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#6

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 16:54
Ich hab es überarbeitet!
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Prüfen ob Delphi läuft

  Alt 15. Okt 2005, 16:58
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
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz