Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Anzahl der Threads eines Prozesses mit EnumProcessModusl (https://www.delphipraxis.net/97118-anzahl-der-threads-eines-prozesses-mit-enumprocessmodusl.html)

Luckie 5. Aug 2007 02:42


Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
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?

delphis spassbremse 5. Aug 2007 02:54

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
----
sry hab selber was net gesehen.. hat sich somit erledigt...

MFG

Björn[quote]

Christian Seehase 5. Aug 2007 03:04

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
Moin Michael,

probier's doch mal mit CreateToolHelp32Snapshot, und vergleiche mal die Werte.

Luckie 5. Aug 2007 03:07

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
Ich habe sie schon mit dem Taskmanager verglichen. ;)

bitsetter 5. Aug 2007 08:42

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
Liste der Anhänge anzeigen (Anzahl: 1)
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.

Luckie 5. Aug 2007 14:14

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
Ich Depp. :wall: Ich will die Threads und liste die Module auf. :wall:

Weiß jemand, wie man im Boden versinken kann?

Olli 2. Sep 2007 03:15

Re: Anzahl der Threads eines Prozesses mit EnumProcessModusl
 
Zitat:

Zitat von Luckie
Weiß jemand, wie man im Boden versinken kann?

Auf ein Moor stellen und warten?! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 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