AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Anzahl der Threads eines Prozesses mit EnumProcessModusl

Anzahl der Threads eines Prozesses mit EnumProcessModusl

Ein Thema von Luckie · begonnen am 5. Aug 2007 · letzter Beitrag vom 2. Sep 2007
Antwort Antwort
Benutzerbild von Luckie
Luckie

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

Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 03:42
Ich verwende folgende Routine, um die anzahl der Threads eines Processes zu ermitteln.
Delphi-Quellcode:
function TProcess.SetCountThreads: DWORD;
var
  hProcess : THandle;
  ModuleList : array[0..1024] of DWORD;
  cbNeeded : DWORD;
  foo: DWORD;
  bar: WideString;
  i: Integer;

begin
  cbNeeded := 0;
  hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, FProcID);
  if hProcess <> 0 then
  begin
    if EnumProcessModules(hProcess, @ModuleList, SizeOf(ModuleList), cbNeeded) then
    begin
      foo := SizeOf(DWORD);
      Result := cbNeeded div foo;
    end
    else
    begin
      Result := 0;
    end;
    CloseHandle(hProcess);
  end
  else
    begin
      Result := 0;
    end;
end;
Leider kommen da unsinnige Werte bei raus. Die Demo-Anwendung hat nur einen Thread, es werden aber 14 angezeigt. Wo liegt da mein Fehler?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
delphis spassbremse

Registriert seit: 7. Jun 2007
Ort: Enger
104 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 03:54
----
sry hab selber was net gesehen.. hat sich somit erledigt...

MFG

Björn[quote]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 04:04
Moin Michael,

probier's doch mal mit CreateToolHelp32Snapshot, und vergleiche mal die Werte.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 04:07
Ich habe sie schon mit dem Taskmanager verglichen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 09:42
Hi,

mit GetModuleBaseName() bin ich deine ModuleList mal durchgegangen und habe die Namen aller Module von Notepad auflisten lassen. Das sind auch eine ganze Menge wie GDI32.dll, USER32.dll usw. dabei.
Miniaturansicht angehängter Grafiken
enumprocessmodules_101.jpg  
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 5. Aug 2007, 15:14
Ich Depp. Ich will die Threads und liste die Module auf.

Weiß jemand, wie man im Boden versinken kann?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#7

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl

  Alt 2. Sep 2007, 04:15
Zitat von Luckie:
Weiß jemand, wie man im Boden versinken kann?
Auf ein Moor stellen und warten?!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:23 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