AGB  ·  Datenschutz  ·  Impressum  







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

"psApi" unter Delphi 2.0

Ein Thema von Wheelie · begonnen am 26. Okt 2003 · letzter Beitrag vom 27. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

"psApi" unter Delphi 2.0

  Alt 26. Okt 2003, 23:44
Hi!

Wie kann ich die oben genannte Unit unter Delphi 2.0 installieren? Brauche ich, um feststellen zu können, ob ein bestimmtes Programm (*.exe) läuft.

Prüfen ob eine EXE schon läuft oder nicht

Gibt es vielleicht noch eine andere Möglichkeit, mit der man die Aktivität anderer Programme feststellen kann ????
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 00:53
Eine Unit "installiert" man nicht, eine Unit bindet man unter uses ein. was gibt es denn für Probleme? Das wäre doch mal eien nützliche Information von deiner Seite.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#3

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 08:26
ok die sache ist etwas kompliziert...ich habe ein programm in delphi 2.0 geschrieben, welche die komponente SuperTimer benötigt...jetzt wollte ich diese Prüfen, ob EXE-Datei schon läuft-Prozedur (siehe oben) einbinden, brauche unter delphi 2.0 aber die psApi. des weiteren habe ich delphi6 und delphi7 auf meinem rechner -> problem: SuperTimer geht nur bis delphi4

jetzt gibt es drei möglichkeiten:

1. man nimmt die psApi von delphi6 und bindet sie irgendwie in delphi2 ein
2. man sucht sich eine andere prozedur, mit der man die aktivität eines anderen programmes prüfen kann

in einem anderen thread von mir habe ich von Luckie den vorschlag CreateToolHelp32Snapshot bekommen...wie geht das??

3. ihr sagt mir, was an dieser prozedur falsch ist, dass sie unter win2000/xp nicht funktioniert:

Delphi-Quellcode:
function ExeFileIsRunning(ExeFile: string): boolean;
var
  H:word;
begin
  H := CreateFile(PChar(ExeFile),
                  GENERIC_READ,
                  0,
                  nil,
                  OPEN_EXISTING,
                  0,
                  0);
  Result := (H >= 65535);
  CloseHandle(H);
end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  If ExeFileIsRunning('C:\Broca.exe') then
    ShowMessage('Programm läuft!')
    else ShowMessage('Programm läuft nicht!');
end;
vielen dank für eure hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 08:41
Hallo Wheelie,

ich denke mal, es lizenzrechtlich nicht erlaubt in ein Delphi2-Programm Units aus späteren Delphi-Versionen einzubinden, auch wenn man diese offiziell gekauft hat. Warum migrierst Du das Programm nicht einfach in eine höhere Delphi-Version?

[EDIT]Man sollte genauer lesen : Suche doch einfach auch mal nach einer Alternative für den SuperTimer. Wenn Dir dafür auch der Quellcode vorliegt (?), kannst Du ja auch versuchen, diese Komponente in die anderen Delphi-Versioenen zu übernehmen.[/EDIT]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 10:12
2. CreateToolHelp32SnapshotCreateToolHelp32Snapshot. (Hätte man auch von alleien drauf kommen können oder? )
3. Der Datentyp Word ist zu klein für ein Handle. Nimm ein DWORD, Cardinal oder der übersichtlichkeithalber gleich ein THandle.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#6

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 11:12
ihr werdet mich bestimmt für total bekloppt halten ( ) aber es klappt weder mit dword, noch mit cardinal oder thandle (habe alles eingesetzt, sonst muss man doch nix ändern, oder)???

und das mit CREATETOOLHELP32SNAPSHOT habe ich mir alles durchgelesen aber es klappt nicht bzw. ich weiß nicht wie ich es auf genau eine exe-datei umschreiben soll (ich weiß, ich geh euch ganz schön auf'n sack...muss das aber bis morgen fertig haben).

also...es muss mit delphi 2.0 kompilierbar sein und unter win200/xp funktionieren.

tausend dank für alles
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 11:17
Du mußt doch nur hier
Delphi-Quellcode:
procedure GetProcs(sl: TStringlist);
var
  hProcSnap: THandle;
  pe32: TProcessEntry32;
begin
  { Snapshot machen *PENG* } 
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
  if hProcSnap = INVALID_HANDLE_VALUE then exit;

  pe32.dwSize := SizeOf(ProcessEntry32);

  { wenn es geklappt hat } 
  if Process32First(hProcSnap, pe32) = true then
    { und los geht's } 
    while Process32Next(hProcSnap, pe32) = true do
    begin
      sl.Add(pe32.szExeFile);
    end;
  CloseHandle(hProcSnap);
end;
in der while Schleife kucken, ob der gefundene Prozess (die Exe davon) die ist, die du suchst. Wo ist das Problem? Und anstatt der StringList übergibst du den Namen der Exe und machst daraus eine Funktion, die dir True zurückgibt, wenn die Exe gefunden wurde. Und dir den Code so in zu biegen, dass er deinen Erfordernissen entspricht, dürfte ja nicht so sschwer sein oder?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#8

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 11:32
hier meldet mir mein delphi 2 bei "pe32.dwSize := SizeOf(ProcessEntry32);" einen Fehler...kommt damit wahrscheinlich nicht ganz klar...gibt es denn keine andere Möglichkeit ??
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 11:42
Zitat von Wheelie:
hier meldet mir mein delphi 2 bei "pe32.dwSize := SizeOf(ProcessEntry32);" einen Fehler...
Ich glaube, ich bin hier heute in einer Quizzsendung. Verrätst du auch welchen oder muss ich raten?
Zitat:
kommt damit wahrscheinlich nicht ganz klar...gibt es denn keine andere Möglichkeit ??
Wird an dem Fehler liegen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#10

Re: "psApi" unter Delphi 2.0

  Alt 27. Okt 2003, 12:10
http://mitglied.lycos.de/webspace333/error.jpg

"TLHelp32" hatte ich unter uses...

Habe noch eine Idee: Hat jemand Delphi 4? Da dürfte das vielleicht funktionieren (möglicherweise ist Delphi 2 schon zu alt) und die Komponente SuperTimer wird bis Delphi 4 unterstützt (die brauche ich ja)...ich schicke der netten Person sozusagen das Projekt und er schickt mir die exe zurück
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:58 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