logo

Python Win32-Prozess

In diesem Artikel besprechen wir den Python-Win32-Prozess. Und wir werden auch die Methoden einzeln besprechen.

Im Grunde ist der Win32-Prozess eine Methode in Python. Über dieses Modul können Sie auf erweiterte Funktionen zur Erstellung und Verwaltung von Win32-Prozessen zugreifen. Die Create-Methode erstellt Prozessobjekte (den Konstruktor). Mit zusätzlichen Methoden ist es möglich, Prozesse für Objekte zu beenden, anzuhalten, fortzusetzen und ihre Priorität festzulegen.

Windows Management Instrumentation (WMI; früher WBEM) und WMI-Erweiterungen für das Windows-Treibermodell dienen als Grundlage für die Verwaltbarkeit in Windows 2019/2016/2012/2008 und Windows 10/7/XP (WDM).

Die Möglichkeit, Monitor-Prüfverfahren auf Basis von WMI zu erstellen, bietet ActiveXperts Network Monitor. Es gibt mehr als hundert WMI-Beispiele, die ActiveXperts gesammelt hat. Diese Beispiele können als Ausgangspunkt für völlig neue Prüfroutinen dienen, die Sie selbst erstellen.

Viele WMI-Beispiele sind auf dieser Website verfügbar.

ActiveXperts Network Monitor verwendet die WMI-Klasse Win32_Process, um Ihre Server zu überwachen.

Eine Reihe von Ereignissen auf einem Windows-Betriebssystem wird durch die WMI-Klasse Win32_Process dargestellt. Eine Sequenz, die die Interaktion eines oder mehrerer Prozessoren oder Interpreter, eines ausführbaren Codes und einer Reihe von Eingaben umfasst, z. B. ein Clientprogramm, das auf einem Windows-System ausgeführt wird, ist ein Nachkomme oder Mitglied dieser Klasse.

Nun stellt sich die Frage Was ist Python Win32?

Daher können die Python-Win32- und Win32-API-Funktionen (Application Programming Interface) mit Python verwendet werden, indem die PyWin32-Erweiterungsbibliothek für Windows verwendet wird.

Machen wir eine kleine Einführung in die win32api-Modul.

Das Modul win32api bietet verschiedene zusätzliche Methoden zur Steuerung von Prozessen. Diese geben Ihnen die Möglichkeit, viele der üblichen Schritte auszuführen, die zum Starten neuer Prozesse erforderlich sind, bieten jedoch immer noch nicht das höchste Maß an Kontrolle auf niedriger Ebene.

Im Gegensatz zur zuvor erläuterten Funktion os.system bietet die Funktion WinExec verschiedene Anpassungen für GUI-Programme. Beispielsweise wird keine Konsole eingerichtet und die Funktion wartet nicht, bis der neue Prozess abgeschlossen ist.

Die Funktion erfordert diese beiden Eingaben:

  • Der Auftrag zur Ausführung
  • Alternativ der Anfangszustand des Anwendungsfensters

Machen wir eine kleine Einführung in die win32api.ShellExecute.

Darüber hinaus bietet das Modul win32api ein weiteres nützliches Feature zum Starten neuer Prozesse. Im Gegensatz zum Starten zufälliger Prozesse ist das Öffnen von Dokumenten der Hauptzweck der ShellExecute-Funktion. Sie können ShellExecute beispielsweise anweisen, „MyDocument.doc zu öffnen“. Windows wählt aus, welcher Prozess in Ihrem Namen gestartet wird, um DOC-Dateien zu öffnen. Der Klick (oder Doppelklick) auf eine a.doc-Datei führt dazu, dass Windows Explorer dieselbe Aktion ausführt.

Ein Programm, das ausgeführt wird, wird als Prozess (verarbeitet) bezeichnet. Ein Prozess muss nicht unbedingt einer sein, den der Benutzer manuell ausführt; Es könnte sich stattdessen um einen Systemprozess handeln, der vom Betriebssystem erzeugt wird. Jedes Programm, das auf einem Betriebssystem ausgeführt wird, muss zunächst einen separaten Prozess generieren, bevor es ausgeführt werden kann. Die meisten Prozesse in einer typischen Betriebssysteminstallation sind Hintergrundprogramme und Betriebssystemdienste, die dazu dienen, die Hardware, Software und das Betriebssystem in gutem Zustand zu halten.

In diesem Beitrag werden einige alternative Python-Methoden zum Abrufen einer Liste der derzeit aktiven Prozesse eines Windows-Betriebssystems vorgestellt.

Um das gewünschte Ergebnis zu erzielen, beschreiben wir zunächst eine Python-Methode. Anschließend untersuchen wir einen Befehl des Windows-Befehlsprozessors, um dasselbe zu erreichen.

pip wmi installieren

Kopieren Sie diesen obigen Code in das Terminal.

Beispiel

 #import wmi module import wmi # Initializise the wmi constructor f = wmi.WMI() # Print the header print(&apos;Printing the pid Process name&apos;) # all the running processes for process in f.Win32_Process(): print(f&apos;{process.ProcessId:<5} {process.name}') < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/88/python-win32-process.webp" alt="Python Win32 Process"> <br> <img src="//techcodeview.com/img/python-tutorial/88/python-win32-process-2.webp" alt="Python Win32 Process"> <p>The WMI() function of the wmi library is first initialized. This enables us to access its internal functions, such as WMI.Win32_Service, WMI.Win32_Process, and WMI.Win32_Printjob, each of which is intended to carry out a certain duty. To obtain a list of the system&apos;s active processes, we would use the WMI.Win32_Process function. After that, we iterated through all the running processes and placed them in the variable process by calling the function WMI.Win32_Process(). The corresponding attributes were then used to derive the process&apos;s ProcessID (pid) and ProcessName (name). To add padding to the output and properly align it, we used F-strings for the output.</p> <p>Now let&apos;s go through different methods of module Win32process.</p> <h3>1. STARTUPINFO</h3> <p>In this method, we create a new STARTUPINFO object.</p> <p>Let&apos;s understand how to create this, which is given below:</p> <p>win32process.STARTUPINFO</p> <p>PySTARTUPINFO = STARTUPINFO()</p> <h3>2. beginthreadex</h3> <p>In this method, we create a new thread.</p> <p>Let&apos;s understand how to create this, which is given below:</p> <p>win32process.beginthreadex</p> <p>PyHANDLE, int = beginthreadex(sa, stackSize , entryPoint , args , flags )</p> <p>Let&apos;s understand its parameters is given below</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>sa:</td> PySECURITY_ATTRIBUTES(The security attributes, or None) </tr><tr><td>stackSize :</td> int (The new thread&apos;s stack size, or 0 for the default size.) </tr><tr><td>entryPoint :</td> function (It is a thread function) </tr><tr><td>args :</td> tuple </tr><tr><td>flags :</td> int </tr></ul> <p>CREATE_SUSPENDED is an option for delaying the start of a thread.</p> <p> <strong>The thread handle and thread ID are returned as a tuple as the outcome.</strong> </p> <h3>3. CreateProcess</h3> <p>win32process.CreateProcess PyHANDLE, PyHANDLE, int, int = CreateProcess(appName, commandLine , processAttributes , threadAttributes , bInheritHandles , dwCreationFlags , newEnvironment , currentDirectory , startupinfo ) establishes a new process and the main thread for it. The newly created process runs the designated executable file.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>appName:</td> string (executable module&apos;s name, or None) </tr><tr><td>Commandline:</td> string (command-line argument, or Nothing) </tr><tr><td>processAttributes:</td> PySECURITY_ATTRIBUTES (attributes of process security, or None) </tr><tr><td>threadAttributes:</td> PySECURITY_ATTRIBUTES (aspects of thread security, or None) </tr><tr><td>bInheritHandles:</td> int </tr><tr><td>dwCreationFlags:</td> int </tr></ul> <h3>4. CreateRemoteThread</h3> <p>win32process.CreateRemoteThread PyHANDLE, int = CreateRemoteThread(hprocess, sa , stackSize , entryPoint , Parameter , flags ) establishes a thread that executes in another process&apos;s virtual address space.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hprocess :</td> PyHANDLE (the remote process&apos;s handle) </tr><tr><td>sa :</td> PySECURITY_ATTRIBUTES (Security characteristics, or None) </tr><tr><td>stackSize :</td> int (The new thread&apos;s stack size, or 0 for the default size.) </tr><tr><td>entryPoint :</td> function (The address of the thread function.) </tr><tr><td>Parameter :</td> int (a void pointer that served as the argument given to the function) </tr><tr><td>flags :</td> int </tr></ul> <p>The thread handle and thread ID are returned as a tuple as the outcome.</p> <h3>5. CreateProcessAsUser</h3> <p>win32process.CreateProcessAsUser creates a new process with the provided user as its context.</p> <p>PyHANDLE, PyHANDLE, int, int = CreateProcessAsUser(hToken, appName , commandLine , processAttributes , threadAttributes , bInheritHandles , dwCreationFlags , newEnvironment , currentDirectory , startupinfo )</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hToken:</td> PyHANDLE (Handle to a token that indicates a user who is currently logged in) </tr><tr><td>appName:</td> string (executable module&apos;s name, or None) </tr><tr><td>commandLine:</td> string (command-line argument, or Nothing) </tr><tr><td>processAttributes:</td> PySECURITY_ATTRIBUTES (attributes of process security, or None) </tr><tr><td>threadAttributes:</td> PySECURITY_ATTRIBUTES (aspects of thread security, or None) </tr><tr><td>bInheritHandles:</td> int (the inheritance flag handle) </tr><tr><td>dwCreationFlags:</td> int (creating of flags) </tr><tr><td>newEnvironment:</td> None (A dictionary of stringor Unicode pair definitions to specify the process environment, or None to use the default environment.) </tr><tr><td>currentDirectory:</td> string (name of the current directory, or None) </tr><tr><td>startupinfo:</td> PySTARTUPINFO (a STARTUPINFO object that describes the appearance of the new process&apos;s main window.) </tr></ul> <p> <strong>Consequently, a tuple of (hProcess, hThread, dwProcessId, dwThreadId)</strong> </p> <h3>6. GetCurrentProcess</h3> <p>win32process.GetCurrentProcess obtains a fictitious handle for the active process.</p> <p>int = GetCurrentProcess()</p> <h3>7. GetCurrentProcessId</h3> <p>win32process.GetCurrentProcessId reveals the caller process&apos;s unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>8. GetProcessVersion</h3> <p>win32process.GetProcessVersion reveals the system&apos;s main and minor version numbers, which are needed to conduct a specific process.</p> <p>int = GetProcessVersion(processId)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>processId:</td> int (a designation for the desired process.) </tr></ul> <h3>9. GetCurrentProcessId</h3> <p>win32process.GetCurrentProcessId reveals the caller process&apos;s unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>10. GetStartupInfo</h3> <p>win32process.GetStartupInfo reveals the STARTUPINFO structure&apos;s contents, which were supplied when the caller process was established.</p> <p>PySTARTUPINFO = GetStartupInfo()</p> <h3>11. GetPriorityClass</h3> <p>win32process.GetPriorityClass</p> <p>int = GetPriorityClass(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>12. GetExitCodeThread</h3> <p>win32process.GetExitCodeThread</p> <p>int = GetExitCodeThread(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>13. GetExitCodeProcess</h3> <p>win32process.GetExitCodeProcess</p> <p>int = GetExitCodeProcess(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>14. GetWindowThreadProcessId</h3> <p>win32process.GetWindowThreadProcessId returns the thread and process IDs that were responsible for the provided window&apos;s creation.</p> <p>int, int = GetWindowThreadProcessId(hwnd)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hwnd:</td> int (this parameter handles the window) </tr></ul> <p> <strong>Consequently, a tuple of (threadId, processId)</strong> </p> <h3>15. SetThreadPriority</h3> <p>win32process.SetThreadPriority</p> <p>SetThreadPriority(handle, nPriority)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (This parameter handles the thread) </tr><tr><td>nPriority:</td> int (This parameter thread the priority level) </tr></ul> <h3>16. GetThreadPriority</h3> <p>win32process.GetThreadPriority</p> <p>int = GetThreadPriority(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (this parameter handles the threads) </tr></ul> <h3>17. GetProcessPriorityBoost</h3> <p>win32process.GetProcessPriorityBoost determines whether a process&apos;s dynamic priority adjustment is enabled.</p> <p>bool = GetProcessPriorityBoost(Process)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles to a process) </tr></ul> <h3>18. SetProcessPriorityBoost</h3> <p>win32process.SetProcessPriorityBoost enables or disables a process&apos;s dynamic priority adjustment.</p> <p>SetProcessPriorityBoost(Process, DisablePriorityBoost)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles a process) </tr><tr><td>DisablePriorityBoost:</td> boolean (This parameter indicates True to disable and False to enable) </tr></ul> <h3>19. GetThreadPriorityBoost</h3> <p>win32process.GetThreadPriorityBoost</p> <p>determines whether a thread&apos;s dynamic priority adjustment is enabled.</p> <p>bool = GetThreadPriorityBoost(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>20. SetThreadPriorityBoost</h3> <p>win32process.SetThreadPriorityBoost enables or disables a thread&apos;s dynamic priority adjustment.</p> <p>SetThreadPriorityBoost(Thread, DisablePriorityBoost)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr><tr><td>DisablePriorityBoost:</td> boolean ((This parameter indicates True to disable and False to enable) </tr></ul> <h3>21. GetThreadIOPendingFlag</h3> <p>win32process.GetThreadIOPendingFlag determines whether a thread has any open IO requests.</p> <p>bool = GetThreadIOPendingFlag(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>22. GetThreadTimes</h3> <p>win32process.GetThreadTimes</p> <p>It returns the time statistics for a thread.</p> <p>dict = GetThreadTimes(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>23. GetProcessId</h3> <p>int = GetProcessId(Process)</p> <p>It returns the Pid for a process handle.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>24. SetPriorityClass</h3> <p>win32process.SetPriorityClass</p> <p>SetPriorityClass(handle, dwPriorityClass)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (This parameter handles to the process) </tr><tr><td>dwPriorityClass:</td> int (This parameter gives priority class value) </tr></ul> <h3>25. AttachThreadInput</h3> <p>win32process.AttachThreadInput connects and disconnects the input of two threads.</p> <p>AttachThreadInput(idAttach, idAttachTo, Attach)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>idAttach:</td> int (This parameter shows id of a thread) </tr><tr><td>idAttachTo:</td> int (This parameter shows the id of the thread) </tr><tr><td>Attach:</td> bool (determines whether a thread should be joined or disconnected.) </tr></ul> <h3>26. SetThreadIdealProcessor</h3> <p>win32process.SetThreadIdealProcessor</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetThreadIdealProcessor( handle, dwIdealProcessor )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread of interest ) </tr><tr><td>dwIdealProcessor:</td> int ( ideal processor number ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method return the int value</p> <h3>27. GetProcessAffinityMask</h3> <p>win32process.GetProcessAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.GetProcessAffinityMask( hProcess )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( handle to the process of interest ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method returns a tuple of ( process affinity mask, system affinity mask ).</p> <h3>28. SetProcessAffinityMask</h3> <p>win32process.SetProcessAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetProcessAffinityMask( hProcess, mask )</pre> <p>Sets a processor affinity mask for a specified process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( handle to the process of interest ) </tr><tr><td>mask:</td> int ( a processor affinity mask ) </tr></ul> <h4>Note: Some platforms do not have this feature.</h4> <h3>29. SetThreadAffinityMask</h3> <p>win32process.SetThreadAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hThread:</td> PyHANDLE ( handle to the thread of interest ) </tr><tr><td>ThreadAffinityMask:</td> int ( a processor affinity mask ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method returns an int value.</p> <h3>30. SuspendThread</h3> <p>win32process.SuspendThread</p> <p> <strong>Syntax</strong> </p> <pre>int = SuspendThread( handle )</pre> <p>Suspends the specified thread.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread ) </tr></ul> <p> <strong>Return value</strong> </p> <p>The return value is the thread&apos;s previous suspend count</p> <h3>31. ResumeThread</h3> <p>win32process.ResumeThread</p> <p> <strong>Syntax</strong> </p> <pre>int = ResumeThread( handle )</pre> <p>Resumes the specified thread. When the suspend count is decremented to zero, the execution of the thread is resumed.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread ) </tr></ul> <p> <strong>Return value</strong> </p> <p>The return value is the thread&apos;s previous suspend count</p> <h3>32. TerminateProcess</h3> <p>win32process.TerminateProcess</p> <p> <strong>Syntax</strong> </p> <pre>TerminateProcess( handle, exitCode )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the process ) </tr><tr><td>exitCode:</td> int ( The exit code for the process ) </tr></ul> <h3>33. xitProcess</h3> <p>win32process.ExitProcess</p> <ul> <tr><td>ExitProcess:</td> The process&apos;s end and all of its threads </tr></ul> <p> <strong>Parameters</strong> </p> <ul> <tr><td>exitCode:</td> int (Exit code information is provided for the process, and all threads that are terminated as a result of this call.) </tr></ul> <p>The best way to stop a process is with ExitProcess. A clean process shutdown is provided by this function. This includes contacting each associated dynamic-link library&apos;s (DLL) entry-point function with a value indicating that the process is separating from the DLL. The DLLs associated with the process are not informed of the process termination if a process terminates by invoking win32process::TerminateProcess.</p> <h3>34. EnumProcesses</h3> <p>win32process.EnumProcesses</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcesses()</pre> <p>Provides Pids for activities that are actually running.</p> <h3>35. EnumProcessModules</h3> <p>win32process.EnumProcessModules</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcessModules( hProcess )</pre> <p>Lists loaded modules for a process handle</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>36. EnumProcessModulesEx</h3> <p>win32process.EnumProcessModulesEx</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcessModulesEx( hProcess, FilterFlag )</pre> <p>lists the 32- or 64-bit modules that a process has loaded.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess :</td> PyHANDLE ( The process handle that OpenProcess returned ) FilterFlag=LIST_MODULES_DEFAULT : int ( choose whether to return 32-bit or 64-bit modules. ) needs Windows Vista or later. </tr></ul> <h3>37. GetModuleFileNameEx</h3> <p>win32process.GetModuleFileNameEx</p> <p> <strong>Syntax</strong> </p> <pre>PyUNICODE = GetModuleFileNameEx( hProcess, hModule )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( The process handle that OpenProcess returned ) </tr><tr><td>hModule:</td> PyHANDLE ( This parameter handles the modules ) </tr></ul> <h3>38. GetProcessMemoryInfo</h3> <p>win32process.GetProcessMemoryInfo</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessMemoryInfo( hProcess )</pre> <p>A dict representing a PROCESS_MEMORY_COUNTERS struct is returned as the process memory statistics.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>39. GetProcessTimes</h3> <p>win32process.GetProcessTimes</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessTimes( hProcess )</pre> <p>Obtain time statistics for a process using its handle. (In 100 nanosecond units for UserTime and KernelTime)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>40. GetProcessIoCounters</h3> <p>win32process.GetProcessIoCounters</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessIoCounters( hProcess )</pre> <p>I/O statistics for a process are returned as a dictionary corresponding to an IO_COUNTERS struct.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>41. GetProcessWindowStation</h3> <p>win32process.GetProcessWindowStation</p> <p> <strong>Syntax</strong> </p> <pre>GetProcessWindowStation()</pre> <p>Returns a handle to the window station for the calling process.</p> <h3>42. GetProcessWorkingSetSize</h3> <p>win32process.GetProcessWorkingSetSize</p> <p> <strong>Syntax</strong> </p> <pre>int,int = GetProcessWorkingSetSize( hProcess )</pre> <p>A process&apos;s minimum and maximum working set sizes are returned.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by win32api::OpenProcess ) </tr></ul> <h3>43. SetProcessWorkingSetSize</h3> <p>win32process.SetProcessWorkingSetSize</p> <p> <strong>Syntax</strong> </p> <pre>SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )</pre> <p>Sets minimum and maximum working set sizes for a process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess :</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr><tr><td>MinimumWorkingSetSize :</td> int ( Minimum number of bytes to keep in physical memory ) </tr><tr><td>MaximumWorkingSetSize :</td> int ( Maximum number of bytes to keep in physical memory ) </tr></ul> <h4>NOTE: To entirely swap out the procedure, set both min and max to -1.</h4> <h3>44. GetProcessShutdownParameters</h3> <p>win32process.GetProcessShutdownParameters</p> <p> <strong>Syntax</strong> </p> <pre>int,int = GetProcessShutdownParameters()</pre> <p>Reveals the process&apos;s current termination level and triggers.</p> <p>The range is 000-0FF. windows reserved, Last, 200-2FF Middle, First, 300-3FF, and Fourth, 400-4FF Windows reserves.</p> <h3>45. SetProcessShutdownParameters</h3> <p>win32process.SetProcessShutdownParameters</p> <p> <strong>Syntax</strong> </p> <pre>SetProcessShutdownParameters(Level, Flags)</pre> <p>Sets the process&apos;s flags and termination priority.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Level:</td> int (This parameter shows higher priority equals earlier) </tr><tr><td>Flags:</td> int (This parameter shows only SHUTDOWN NORETRY is valid at the moment). </tr></ul> <p>The range is 000-0FF. 100-1FF Last, 200-2FF Middle, 300-3FF First, 400-4FF, and reserved by windows window reserved.</p> <h3>46. GetGuiResources</h3> <p>win32process.GetGuiResources</p> <p> <strong>Syntax</strong> </p> <pre>int = GetGuiResources(Process, Flags )</pre> <p>Gives the amount of GDI or user object handles that a process is holding.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter Win32api::OpenProcess&apos;s returned handle to a process) </tr><tr><td>Flags:</td> int (This parameter shows either GR USEROBJECTS or GR GDIOBJECTS (from win32con)) </tr></ul> <h3>47. IsWow64Process</h3> <p>win32process.IsWow64Process</p> <p> <strong>Syntax</strong> </p> <pre>bool = IsWow64Process(Process)</pre> <p>Identifies whether WOW64 is currently running the specified process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process=None:</td> PyHANDLE (Process handle returned by win32api::OpenProcess, win32api::GetCurrentProcess, etc.; if None (the default) is given, the current process handle will be used.) </tr></ul> <p>Let&apos;s see its Return Value.</p> <p>The return value is False if the operating system does not provide this function (ie,</p> <p>a NotImplemented exception will never be thrown). However, a</p> <p>win32process.error exception to this is normally thrown if the function is available</p> <p>but ineffective.</p> <h2>Conclusion</h2> <p>In this article, we have discussed Python win32 process. And also, we have discussed the different types of methods and their parameters and return values one by one.</p> <hr></5}>

Parameter

    handhaben:PyHANDLE (Handle für den Thread von Interesse)dwIdealProcessor:int (ideale Prozessornummer)

Rückgabetyp

Diese Methode gibt den int-Wert zurück

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Syntax

win32process.GetProcessAffinityMask( hProcess )

Parameter

Was ist eine alphabetische Zahl?
    hProzess:PyHANDLE (Handle für den interessierenden Prozess)

Rückgabetyp

Diese Methode gibt ein Tupel von (Prozessaffinitätsmaske, Systemaffinitätsmaske) zurück.

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Syntax

win32process.SetProcessAffinityMask( hProcess, mask )

Legt eine Prozessoraffinitätsmaske für einen angegebenen Prozess fest.

Parameter

    hProzess:PyHANDLE (Handle für den interessierenden Prozess)Maske:int (eine Prozessor-Affinitätsmaske)

Hinweis: Einige Plattformen verfügen nicht über diese Funktion.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Syntax

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parameter

    hThread:PyHANDLE (Handle für den Thread von Interesse)ThreadAffinityMask:int (eine Prozessor-Affinitätsmaske)

Rückgabetyp

Diese Methode gibt einen int-Wert zurück.

30. SuspendThread

win32process.SuspendThread

Syntax

int = SuspendThread( handle )

Hält den angegebenen Thread an.

Parameter

    handhaben:PyHANDLE (Handle für den Thread)

Rückgabewert

Der Rückgabewert ist der vorherige Suspend-Zähler des Threads

31. ResumeThread

win32process.ResumeThread

Syntax

int = ResumeThread( handle )

Setzt den angegebenen Thread fort. Wenn der Suspend-Zähler auf Null verringert wird, wird die Ausführung des Threads fortgesetzt.

Parameter

    handhaben:PyHANDLE (Handle für den Thread)

Rückgabewert

Der Rückgabewert ist der vorherige Suspend-Zähler des Threads

32. TerminateProcess

win32process.TerminateProcess

Syntax

TerminateProcess( handle, exitCode )

Parameter

    handhaben:PyHANDLE (Handle für den Prozess)ExitCode:int (Der Exit-Code für den Prozess)

33. xitProcess

win32process.ExitProcess

    Exit-Prozess:Das Ende des Prozesses und alle seine Threads

Parameter

    ExitCode:int (Exit-Code-Informationen werden für den Prozess und alle Threads bereitgestellt, die als Ergebnis dieses Aufrufs beendet werden.)

Der beste Weg, einen Prozess zu stoppen, ist ExitProcess. Durch diese Funktion wird ein sauberer Prozessabbruch gewährleistet. Dazu gehört die Kontaktaufnahme mit der Einstiegspunktfunktion jeder zugehörigen Dynamic Link Library (DLL) mit einem Wert, der angibt, dass sich der Prozess von der DLL trennt. Die dem Prozess zugeordneten DLLs werden nicht über die Prozessbeendigung informiert, wenn ein Prozess durch Aufrufen von win32process::TerminateProcess beendet wird.

34. EnumProcesses

win32process.EnumProcesses

Syntax

( long,.... ) = EnumProcesses()

Stellt Pids für Aktivitäten bereit, die tatsächlich ausgeführt werden.

35. EnumProcessModules

win32process.EnumProcessModules

Syntax

( long,.... ) = EnumProcessModules( hProcess )

Listet geladene Module für ein Prozesshandle auf

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von OpenProcess zurückgegeben)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntax

( long,.... ) = EnumProcessModulesEx( hProcess, FilterFlag )

listet die 32- oder 64-Bit-Module auf, die ein Prozess geladen hat.

Parameter

    hProzess:PyHANDLE (Das von OpenProcess zurückgegebene Prozesshandle) FilterFlag=LIST_MODULES_DEFAULT: int (wählen Sie, ob 32-Bit- oder 64-Bit-Module zurückgegeben werden sollen.) benötigt Windows Vista oder höher.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntax

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parameter

    hProzess:PyHANDLE (Das Prozesshandle, das OpenProcess zurückgegeben hat)hModul:PyHANDLE (Dieser Parameter verwaltet die Module)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntax

dict = GetProcessMemoryInfo( hProcess )

Als Prozessspeicherstatistik wird ein Diktat zurückgegeben, das eine PROCESS_MEMORY_COUNTERS-Struktur darstellt.

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von OpenProcess zurückgegeben)

39. GetProcessTimes

win32process.GetProcessTimes

Syntax

dict = GetProcessTimes( hProcess )

Erhalten Sie Zeitstatistiken für einen Prozess mithilfe seines Handles. (In 100 Nanosekunden-Einheiten für UserTime und KernelTime)

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von OpenProcess zurückgegeben)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntax

dict = GetProcessIoCounters( hProcess )

E/A-Statistiken für einen Prozess werden als Wörterbuch zurückgegeben, das einer IO_COUNTERS-Struktur entspricht.

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von OpenProcess zurückgegeben)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntax

GetProcessWindowStation()

Gibt ein Handle für den aufrufenden Prozess an die Fensterstation zurück.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntax

int,int = GetProcessWorkingSetSize( hProcess )

Die minimalen und maximalen Arbeitssatzgrößen eines Prozesses werden zurückgegeben.

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von win32api::OpenProcess zurückgegeben)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntax

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Legt die minimale und maximale Arbeitssatzgröße für einen Prozess fest.

Parameter

    hProzess:PyHANDLE (Prozesshandle wie von OpenProcess zurückgegeben)MinimumWorkingSetSize:int (Mindestanzahl der im physischen Speicher zu behaltenden Bytes)MaximumWorkingSetSize:int (Maximale Anzahl von Bytes, die im physischen Speicher gehalten werden sollen)

HINWEIS: Um das Verfahren vollständig auszutauschen, setzen Sie sowohl Min als auch Max auf -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Syntax

int,int = GetProcessShutdownParameters()

Zeigt die aktuelle Beendigungsebene und die Auslöser des Prozesses an.

Der Bereich liegt zwischen 000 und 0FF. Fenster reserviert, letztes Fenster 200-2FF, mittleres Fenster erstes Fenster 300-3FF und viertes Fenster 400-4FF Fenster-Reserve.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Syntax

SetProcessShutdownParameters(Level, Flags)

Legt die Flags und die Beendigungspriorität des Prozesses fest.

Parameter

    Ebene:int (Dieser Parameter zeigt höhere Priorität gleich früher)Flaggen:int (Dieser Parameter zeigt nur an, dass SHUTDOWN NORETRY derzeit gültig ist).

Der Bereich liegt zwischen 000 und 0FF. 100-1FF Last, 200-2FF Middle, 300-3FF First, 400-4FF und durch Windows-Fenster reserviert.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntax

int = GetGuiResources(Process, Flags )

Gibt die Anzahl der GDI- oder Benutzerobjekthandles an, die ein Prozess enthält.

Parameter

    Verfahren:PyHANDLE (Dieser Parameter ist das von Win32api::OpenProcess zurückgegebene Handle für einen Prozess)Flaggen:int (Dieser Parameter zeigt entweder GR USEROBJECTS oder GR GDIOBJECTS (von win32con))

47. IsWow64Process

win32process.IsWow64Process

Syntax

bool = IsWow64Process(Process)

Gibt an, ob WOW64 derzeit den angegebenen Prozess ausführt.

Parameter

    Prozess=Keine:PyHANDLE (Prozesshandle, das von win32api::OpenProcess, win32api::GetCurrentProcess usw. zurückgegeben wird; wenn None (Standard) angegeben ist, wird das aktuelle Prozesshandle verwendet.)

Sehen wir uns den Rückgabewert an.

Der Rückgabewert ist False, wenn das Betriebssystem diese Funktion nicht bereitstellt (d. h.

eine NotImplemented-Ausnahme wird niemals ausgelöst). Allerdings a

Eine win32process.error-Ausnahme hiervon wird normalerweise ausgelöst, wenn die Funktion verfügbar ist

aber wirkungslos.

Abschluss

In diesem Artikel haben wir den Python-Win32-Prozess besprochen. Außerdem haben wir nacheinander die verschiedenen Arten von Methoden sowie deren Parameter und Rückgabewerte besprochen.