logo

Python Win32-process

I den här artikeln kommer vi att diskutera Python win32-processen. Och vi kommer också att diskutera dess metoder en efter en.

I grund och botten är Win32-processen en metod i Python. Utökade funktioner för att skapa och hantera Win32-processer är tillgängliga via denna modul. Metoden Skapa skapar processobjekt (konstruktorn). Det är möjligt att döda, avbryta, återuppta och ställa in prioritet för processer på objekt med hjälp av ytterligare metoder.

Windows Management Instrumentation (WMI; tidigare WBEM) och WMI-tillägg för Windows Driver Model fungerar som grunden för hanterbarhet i Windows 2019/2016/2012/2008 och Windows 10/7/XP (WDM).

Möjligheten att skapa kontrollprocedurer för monitorer baserade på WMI erbjuds av ActiveXperts Network Monitor. Det finns mer än hundra WMI-prover som ActiveXperts har samlat in. Dessa exempel kan fungera som en startpunkt för helt nya kontrollrutiner som du skapar på egen hand.

Många WMI-exempel finns tillgängliga på denna webbplats.

ActiveXperts Network Monitor använder Win32_Process WMI-klassen för att övervaka dina servrar.

En serie händelser på ett Windows-operativsystem representeras av Win32_Process WMI-klassen. En sekvens som involverar interaktion mellan en eller flera processorer eller tolkar, viss körbar kod och en uppsättning indata, till exempel ett klientprogram som körs på ett Windows-system, är en ättling eller medlem av denna klass.

Nu uppstår frågan vad är Python win32?

Så Python win32 och Win32 Application Programming Interface (API) kan användas med Python genom att använda PyWin32-biblioteket med tillägg för Windows.

Låt oss ta en liten introduktion till win32api-modul.

Win32api-modulen erbjuder olika extra metoder för att styra processer. Dessa ger dig möjligheten att utföra många av de vanliga stegen som behövs för att lansera nya processer, men de saknar fortfarande den högsta nivån av kontroll på låg nivå.

I motsats till os.system-funktionen, som tidigare förklarats, gör WinExec-funktionen olika anpassningar för GUI-program. Till exempel är ingen konsol etablerad och funktionen väntar inte tills den nya processen är klar.

Funktionen kräver dessa två ingångar:

  • Ordern att utföra
  • Alternativt programmets fönsters initiala tillstånd

Låt oss ta en liten introduktion till win32api.ShellExecute.

java array sortera

Dessutom erbjuder win32api-modulen en annan fördelaktig funktion för att starta nya processer. I motsats till att starta slumpmässiga processer är öppning av dokument huvudsyftet med ShellExecute-funktionen. Du kan instruera ShellExecute att 'öppna MyDocument.doc', till exempel. Windows väljer vilken process som ska startas för din räkning för att öppna.doc-filer. Klicka (eller dubbelklicka) på en a.doc-fil gör att Windows Explorer utför samma åtgärd.

Ett program som körs kallas en process (bearbetad). En process behöver inte vara en som användaren kör manuellt; det kan istället vara en systemprocess som operativsystemet skapar. Alla program som körs på ett operativsystem måste först generera en separat process innan det kan börja fungera. Majoriteten av processerna i en typisk OS-installation är bakgrundsprogram och operativsystemtjänster som används för att hålla hårdvaran, mjukvaran och operativsystemet i gott skick.

Det här inlägget kommer att titta på några alternativa Python-metoder för att få en lista över ett Windows OS:s för närvarande aktiva processer.

För att få det önskade resultatet kommer vi först att beskriva en Python-metod. Vi kommer sedan att undersöka ett kommando från Windows Command Processor för att åstadkomma samma sak.

pip installera wmi

Kopiera ovanstående kod i terminalen.

Exempel

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

Parametrar

    hantera:PyHANDLE ( handtag till tråden av intresse )dwIdealProcessor:int (idealt processornummer)

Returtyp

Denna metod returnerar int-värdet

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Syntax

win32process.GetProcessAffinityMask( hProcess )

Parametrar

    hProcess:PyHANDLE ( handtag till processen av intresse )

Returtyp

Den här metoden returnerar en tupel av (processaffinitetsmask, systemaffinitetsmask).

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Syntax

win32process.SetProcessAffinityMask( hProcess, mask )

Ställer in en processoraffinitetsmask för en specificerad process.

Parametrar

    hProcess:PyHANDLE ( handtag till processen av intresse )mask:int (en processoraffinitetsmask)

Obs: Vissa plattformar har inte den här funktionen.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Syntax

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametrar

    hTråd:PyHANDLE ( handtag till tråden av intresse )ThreadAffinityMask:int (en processoraffinitetsmask)

Returtyp

Denna metod returnerar ett int-värde.

30. SuspendThread

win32process.SuspendThread

Syntax

int = SuspendThread( handle )

Stänger av den angivna tråden.

Parametrar

    hantera:PyHANDLE (handtag till tråden)

Returvärde

Returvärdet är trådens tidigare avstängningsräkning

31. Återuppta tråd

win32process.ResumeThread

Syntax

int = ResumeThread( handle )

Återupptar den angivna tråden. När uppehållsräkningen minskas till noll, återupptas exekveringen av tråden.

Parametrar

    hantera:PyHANDLE (handtag till tråden)

Returvärde

Returvärdet är trådens tidigare avstängningsräkning

32. Avsluta Process

win32process.TerminateProcess

Syntax

TerminateProcess( handle, exitCode )

Parametrar

    hantera:PyHANDLE (handtag till processen)exitCod:int (Utgångskoden för processen)

33. xitProcess

win32process.ExitProcess

    ExitProcess:Processens slut och alla dess trådar

Parametrar

    exitCod:int (Utgångskodsinformation tillhandahålls för processen och alla trådar som avslutas som ett resultat av detta anrop.)

Det bästa sättet att stoppa en process är med ExitProcess. En ren processavstängning tillhandahålls av denna funktion. Detta inkluderar att kontakta varje associerat dynamiskt länkbiblioteks (DLL) ingångspunktsfunktion med ett värde som indikerar att processen separeras från DLL. DLL:erna som är associerade med processen informeras inte om processens avslutning om en process avslutas genom att anropa win32process::TerminateProcess.

34. Uppräkningsprocesser

win32process.EnumProcesses

Syntax

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

Tillhandahåller PID för aktiviteter som faktiskt är igång.

avgränsare java

35. EnumProcessModules

win32process.EnumProcessModules

Syntax

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

Listar laddade moduler för ett processhandtag

Parametrar

    hProcess:PyHANDLE (Processhandtag som returneras av OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntax

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

listar de 32- eller 64-bitarsmoduler som en process har laddat.

Parametrar

    hProcess:PyHANDLE ( Processhandtaget som OpenProcess returnerade ) FilterFlag=LIST_MODULES_DEFAULT : int ( välj om du vill returnera 32-bitars eller 64-bitars moduler. ) behöver Windows Vista eller senare.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntax

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametrar

    hProcess:PyHANDLE (Processhandtaget som OpenProcess returnerade)hModule:PyHANDLE (Denna parameter hanterar modulerna)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntax

dict = GetProcessMemoryInfo( hProcess )

En dict som representerar en PROCESS_MEMORY_COUNTERS-struktur returneras som processminnesstatistiken.

Parametrar

    hProcess:PyHANDLE (Processhandtag som returneras av OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Syntax

dict = GetProcessTimes( hProcess )

Skaffa tidsstatistik för en process med hjälp av dess handtag. (I 100 nanosekundersenheter för UserTime och KernelTime)

Parametrar

    hProcess:PyHANDLE (Processhandtag som returneras av OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntax

dict = GetProcessIoCounters( hProcess )

I/O-statistik för en process returneras som en ordbok som motsvarar en IO_COUNTERS-struktur.

Parametrar

    hProcess:PyHANDLE (Processhandtag som returneras av OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntax

GetProcessWindowStation()

Returnerar ett handtag till fönsterstationen för anropsprocessen.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntax

int,int = GetProcessWorkingSetSize( hProcess )

En processs minsta och maximala arbetsuppsättningsstorlekar returneras.

Parametrar

    hProcess:PyHANDLE ( Processhandtag som returneras av win32api::OpenProcess )

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntax

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Ställer in minsta och maximala arbetsuppsättningsstorlekar för en process.

Parametrar

    hProcess:PyHANDLE (Processhandtag som returneras av OpenProcess)MinimumWorkingSetSize:int (Minsta antal byte att behålla i fysiskt minne)MaximumWorkingSetSize:int (Maximalt antal byte att behålla i fysiskt minne)

OBS: För att helt byta ut proceduren, ställ in både min och max på -1.

44. GetProcessShutdown-parametrar

win32process.GetProcessShutdownParameters

Syntax

int,int = GetProcessShutdownParameters()

Avslöjar processens aktuella avslutningsnivå och utlöser.

Räckvidden är 000-0FF. windows reserverade, Last, 200-2FF Middle, First, 300-3FF och Fourth, 400-4FF Windows reserver.

45. Ställ in ProcessShutdown-parametrar

win32process.SetProcessShutdownParameters

Syntax

SetProcessShutdownParameters(Level, Flags)

Ställer in processens flaggor och avslutningsprioritet.

Parametrar

    Nivå:int (den här parametern visar högre prioritet är lika med tidigare)Flaggor:int (Denna parameter visar att endast SHUTDOWN NORETRY är giltigt för tillfället).

Räckvidden är 000-0FF. 100-1FF Senaste, 200-2FF Mellan, 300-3FF Först, 400-4FF, och reserverat av windows fönster reserverat.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntax

int = GetGuiResources(Process, Flags )

Anger mängden GDI eller användarobjektshandtag som en process håller.

Parametrar

    Bearbeta:PyHANDLE (denna parameter Win32api::OpenProcess returnerade handtag till en process)Flaggor:int (Denna parameter visar antingen GR USEROBJECTS eller GR GDIOBJECTS (från win32con))

47. IsWow64Process

win32process.IsWow64Process

Syntax

bool = IsWow64Process(Process)

Identifierar om WOW64 för närvarande kör den angivna processen.

Parametrar

    Process=Ingen:PyHANDLE (Processhandtag som returneras av win32api::OpenProcess, win32api::GetCurrentProcess, etc.; om None (standard) anges, kommer det aktuella processhandtaget att användas.)

Låt oss se dess returvärde.

Returvärdet är False om operativsystemet inte tillhandahåller denna funktion (dvs.

ett NotImplemented undantag kommer aldrig att kastas). Men en

win32process.error undantag från detta skapas normalt om funktionen är tillgänglig

men ineffektivt.

Slutsats

I den här artikeln har vi diskuterat Python win32-processen. Vi har också diskuterat de olika typerna av metoder och deras parametrar och returvärden en efter en.