logo

Python Win32-proces

In dit artikel bespreken we het Python win32-proces. En ook zullen we de methoden ervan één voor één bespreken.

Kortom, het Win32-proces is een methode in Python. Uitgebreide mogelijkheden voor het maken en beheren van Win32-processen zijn toegankelijk via deze module. De Create-methode creëert procesobjecten (de constructor). Het is mogelijk om processen op objecten te beëindigen, op te schorten, te hervatten en de prioriteit ervan in te stellen met behulp van aanvullende methoden.

Windows Management Instrumentation (WMI; voorheen WBEM) en WMI-extensies voor het Windows Driver Model dienen als basis voor beheerbaarheid in Windows 2019/2016/2012/2008 en Windows 10/7/XP (WDM).

De mogelijkheid om monitorcontroleprocedures te creëren op basis van WMI wordt aangeboden door ActiveXperts Network Monitor. Er zijn meer dan honderd WMI-voorbeelden die ActiveXperts heeft verzameld. Deze voorbeelden kunnen dienen als uitgangspunt voor gloednieuwe controleroutines die u zelf kunt maken.

Op deze website zijn veel WMI-voorbeelden beschikbaar.

ActiveXperts Network Monitor gebruikt de Win32_Process WMI-klasse om uw servers te monitoren.

Een reeks gebeurtenissen op een Windows-besturingssysteem wordt weergegeven door de Win32_Process WMI-klasse. Een reeks die de interactie omvat van een of meer processors of tolken, een uitvoerbare code en een reeks invoergegevens, zoals een clientprogramma dat op een Windows-systeem draait, is een afstammeling of lid van deze klasse.

Nu rijst de vraag wat is Python win32?

De mogelijkheden van de Python win32 en Win32 Application Programming Interface (API) kunnen dus met Python worden gebruikt door gebruik te maken van de PyWin32-bibliotheek met extensies voor Windows.

Laten we een kleine introductie geven over de win32api-module.

De win32api-module biedt diverse extra methoden voor het aansturen van processen. Deze bieden u de mogelijkheid om veel van de gebruikelijke stappen uit te voeren die nodig zijn om nieuwe processen te lanceren, maar ze bieden nog steeds niet het hoogste niveau van controle op laag niveau.

In tegenstelling tot de functie os.system, die eerder werd uitgelegd, biedt de functie WinExec verschillende aanpassingen voor GUI-programma's. Er wordt bijvoorbeeld geen console tot stand gebracht en de functie wacht niet tot het nieuwe proces is voltooid.

De functie vereist deze twee invoer:

  • De opdracht om uit te voeren
  • Als alternatief kan dit de beginstatus van het toepassingsvenster zijn

Laten we een kleine introductie geven over de win32api.ShellExecute.

Bovendien biedt de win32api-module nog een nuttige functie voor het starten van nieuwe processen. In tegenstelling tot het starten van willekeurige processen, is het openen van documenten het hoofddoel van de ShellExecute-functie. U kunt ShellExecute bijvoorbeeld de opdracht geven 'MyDocument.doc te openen'. Windows kiest welk proces namens u wordt gestart om .doc-bestanden te openen. De klik (of dubbelklik) op een a.doc-bestand zorgt ervoor dat Windows Verkenner dezelfde actie uitvoert.

Een programma dat wordt uitgevoerd, wordt een proces (processed) genoemd. Een proces hoeft niet een proces te zijn dat de gebruiker handmatig uitvoert; het kan in plaats daarvan een systeemproces zijn dat door het besturingssysteem wordt voortgebracht. Elk programma dat op een besturingssysteem draait, moet eerst een afzonderlijk proces genereren voordat het kan beginnen te werken. De meeste processen in een typische OS-installatie zijn achtergrondprogramma's en besturingssysteemservices die worden gebruikt om de hardware, software en het besturingssysteem in goede staat te houden.

In dit bericht worden enkele alternatieve Python-methoden besproken om een ​​lijst te krijgen van de momenteel actieve processen van een Windows-besturingssysteem.

Om het gewenste resultaat te krijgen, zullen we eerst een Python-methode beschrijven. We zullen dan een opdracht van de Windows Command Processor onderzoeken om hetzelfde te bereiken.

pip installeer wmi

Kopieer deze bovenstaande code in de terminal.

Voorbeeld

 #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}>

Parameters

    hendel:PyHANDLE (handvat naar de draad van interesse)dwIdealProcessor:int (ideaal processornummer)

Retourtype

Deze methode retourneert de int-waarde

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Syntaxis

win32process.GetProcessAffinityMask( hProcess )

Parameters

    hProces:PyHANDLE (handvat voor het interesseproces)

Retourtype

Deze methode retourneert een tupel van ( procesaffiniteitsmasker, systeemaffiniteitsmasker ).

28. StelProcessAffinityMask in

win32process.SetProcessAffinityMask

Syntaxis

win32process.SetProcessAffinityMask( hProcess, mask )

Stelt een processoraffiniteitsmasker in voor een opgegeven proces.

Parameters

    hProces:PyHANDLE (handvat voor het interesseproces)masker:int (een processoraffiniteitsmasker)

Opmerking: sommige platforms hebben deze functie niet.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Syntaxis

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parameters

    hDraad:PyHANDLE (handvat naar de draad van interesse)ThreadAffinityMasker:int (een processoraffiniteitsmasker)

Retourtype

Deze methode retourneert een int-waarde.

30. SuspendThread

win32process.SuspendThread

Syntaxis

int = SuspendThread( handle )

Onderbreekt de opgegeven draad.

Parameters

    hendel:PyHANDLE (greep naar de draad)

Winstwaarde

De geretourneerde waarde is het vorige opschortingsaantal van de thread

31. ResumeThread

win32process.ResumeThread

Syntaxis

int = ResumeThread( handle )

Hervat de opgegeven thread. Wanneer de opschortingstelling wordt verlaagd naar nul, wordt de uitvoering van de thread hervat.

Parameters

    hendel:PyHANDLE (greep naar de draad)

Winstwaarde

De geretourneerde waarde is het vorige opschortingsaantal van de thread

32. Beëindig het proces

win32process.TerminateProcess

Syntaxis

opgeslagen programmabesturing
TerminateProcess( handle, exitCode )

Parameters

    hendel:PyHANDLE (handvat voor het proces)exitCode:int (de afsluitcode voor het proces)

33. xitProces

win32process.ExitProcess

    ExitProces:Het einde van het proces en al zijn threads

Parameters

    exitCode:int (Er wordt informatie over de afsluitcode verstrekt voor het proces en voor alle threads die worden beëindigd als gevolg van deze aanroep.)

De beste manier om een ​​proces te stoppen is met ExitProcess. Deze functie zorgt voor een schone procesafsluiting. Dit omvat het contact opnemen met de ingangspuntfunctie van elke geassocieerde Dynamic-Link Library (DLL) met een waarde die aangeeft dat het proces zich scheidt van de DLL. De DLL's die aan het proces zijn gekoppeld, worden niet geïnformeerd over de beëindiging van het proces als een proces wordt beëindigd door het aanroepen van win32process::TerminateProcess.

34. EnumProcessen

win32process.EnumProcessen

Syntaxis

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

Biedt Pids voor activiteiten die daadwerkelijk worden uitgevoerd.

35. EnumProcessModules

win32process.EnumProcessModules

Syntaxis

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

Geeft een overzicht van geladen modules voor een procesingang

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntaxis

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

geeft een overzicht van de 32- of 64-bits modules die een proces heeft geladen.

Parameters

    hProces:PyHANDLE ( De proceshandle die OpenProcess heeft geretourneerd ) FilterFlag=LIST_MODULES_DEFAULT : int ( kies of u 32-bits of 64-bits modules wilt retourneren. ) heeft Windows Vista of hoger nodig.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntaxis

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parameters

    hProces:PyHANDLE (de proceshandle die OpenProcess heeft geretourneerd)hModule:PyHANDLE (Deze parameter verwerkt de modules)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntaxis

dict = GetProcessMemoryInfo( hProcess )

Een dictaat dat een PROCESS_MEMORY_COUNTERS-structuur vertegenwoordigt, wordt geretourneerd als de procesgeheugenstatistieken.

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Syntaxis

vikas divyakirti
dict = GetProcessTimes( hProcess )

Verkrijg tijdstatistieken voor een proces met behulp van de handle. (In eenheden van 100 nanoseconden voor UserTime en KernelTime)

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntaxis

dict = GetProcessIoCounters( hProcess )

I/O-statistieken voor een proces worden geretourneerd als een woordenboek dat overeenkomt met een IO_COUNTERS-structuur.

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntaxis

GetProcessWindowStation()

Geeft een handle terug aan het vensterstation voor het aanroepproces.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntaxis

int,int = GetProcessWorkingSetSize( hProcess )

De minimale en maximale werksetgroottes van een proces worden geretourneerd.

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door win32api::OpenProcess )

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntaxis

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Stelt de minimale en maximale werksetgroottes voor een proces in.

Parameters

    hProces:PyHANDLE (Proceshandle zoals geretourneerd door OpenProcess)Minimale werksetgrootte:int (Minimaal aantal bytes dat in het fysieke geheugen moet worden bewaard)Maximale werksetgrootte:int (Maximum aantal bytes dat in het fysieke geheugen moet worden bewaard)

OPMERKING: Om de procedure volledig uit te wisselen, stelt u zowel min als max in op -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Syntaxis

int,int = GetProcessShutdownParameters()

Onthult het huidige beëindigingsniveau en de triggers van het proces.

Het bereik is 000-0FF. vensters gereserveerd, Laatste, 200-2FF Midden, Eerste, 300-3FF en Vierde, 400-4FF Windows-reserves.

45. StelProcessShutdownParameters in

win32process.SetProcessShutdownParameters

Syntaxis

SetProcessShutdownParameters(Level, Flags)

Stelt de vlaggen en beëindigingsprioriteit van het proces in.

Parameters

    Niveau:int (deze parameter geeft aan dat een hogere prioriteit eerder gelijk is)vlaggen:int (Deze parameter laat zien dat SHUTDOWN NORETRY momenteel geldig is).

Het bereik is 000-0FF. 100-1FF Laatste, 200-2FF Midden, 300-3FF Eerste, 400-4FF, en gereserveerd door Windows-venster gereserveerd.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntaxis

int = GetGuiResources(Process, Flags )

Geeft het aantal GDI- of gebruikersobjecthandles dat een proces vasthoudt.

Parameters

    Proces:PyHANDLE (deze parameter Win32api::OpenProcess retourneert handle naar een proces)vlaggen:int (Deze parameter toont GR USEROBJECTS of GR GDIOBJECTS (van win32con))

47. IsWow64Proces

win32process.IsWow64Process

Syntaxis

bool = IsWow64Process(Process)

Identificeert of WOW64 momenteel het opgegeven proces uitvoert.

Parameters

    Proces=Geen:PyHANDLE (Procesingang geretourneerd door win32api::OpenProcess, win32api::GetCurrentProcess, enz.; als Geen (de standaardwaarde) wordt opgegeven, wordt de huidige procesingang gebruikt.)

Laten we eens kijken naar de retourwaarde.

De geretourneerde waarde is False als het besturingssysteem deze functie niet biedt (dat wil zeggen

een NotImplemented uitzondering zal nooit gegenereerd worden). Echter, een

win32process.error uitzondering hierop wordt normaal gesproken gegenereerd als de functie beschikbaar is

maar ineffectief.

Conclusie

In dit artikel hebben we het Python win32-proces besproken. En ook hebben we de verschillende soorten methoden en hun parameters en retourwaarden één voor één besproken.