vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Windows/System22.03.05
GetCurrentProcessId-Funktion

Diese Funktion ermittelt die Prozess-ID des Programms, das diese Funktion aufruft.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  15.985 

Deklaration:

Declare Function GetCurrentProcessId Lib "kernel32" () As Long

Beschreibung:
Diese Funktion ermittelt die Prozess-ID des Programms, das diese Funktion aufruft.

Parameter:
keine

Rückgabewert:
Die Rückgabe ist die Prozess-ID des aktuellen Prozesses.

Beispiel:

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" ( _
  ByVal dwFlags As Long, _
  ByVal th32ProcessID As Long) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" ( _
  ByVal hObject As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function Thread32First Lib "kernel32.dll" ( _
  ByVal hSnapshot  As Long, _
  lppe As THREADENTRY32) As Long
Private Declare Function Thread32Next Lib "kernel32.dll" ( _
  ByVal hSnapshot  As Long, _
  lppe As THREADENTRY32) As Long
 
Private Type THREADENTRY32
  dwSize As Long
  cntUsage As Long
  th32ThreadID As Long
  th32OwnerProcessID As Long
  tpBasePri As Long
  tpDeltaPri As Long
  dwFlags As Long
End Type
 
' CreateToolhelp32Snapshot dwFlags-Konstanten
Private Const TH32CS_INHERIT = &H80000000
Private Const TH32CS_SNAPALL = &HF
Private Const TH32CS_SNAPHEAPLIST = &H1
Private Const TH32CS_SNAPPROCESS = &H2
Private Const TH32CS_SNAPTHREAD = &H4
Private Const TH32CS_SNAPMODULE = &H8
' Alle Threads des eigenen Prozesses ermitteln
Private Sub Command1_Click()
  Dim Retval As Long, ThreadInfo As THREADENTRY32
  Dim hSnap As Long, PID As Long
 
  ' Prozess-ID des eigenen Programms ermitteln
  PID = GetCurrentProcessId()
 
  ' Schnappschuss des Systems machen
  hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, PID)
 
  ' Größe der Struktur setzen
  ThreadInfo.dwSize = Len(ThreadInfo)
 
  ' Ersten Thread ermitteln
  Retval = Thread32First(hSnap, ThreadInfo)
  If Retval <= 0 Then Exit Sub
 
  ' Alle weiteren Threads enumerieren
  Do
    With ThreadInfo
      If PID = .th32OwnerProcessID Then
        Debug.Print "Thread: " & .th32ThreadID & vbTab &  _
        "Proirität: " & .tpBasePri
      End If
    End With
  Loop Until Thread32Next(hSnap, ThreadInfo) = 0
 
  ' Schnappschuss zerstören
  Call CloseHandle(hSnap)
End Sub

Diese Seite wurde bereits 15.985 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel