logo

Procesul Python Win32

În acest articol, vom discuta despre procesul Python win32. Și, de asemenea, vom discuta metodele sale una câte una.

Practic, procesul Win32 este o metodă în Python. Capacitățile extinse de creare și gestionare a proceselor Win32 sunt accesibile prin acest modul. Metoda Create creează obiecte de proces (constructorul). Este posibil să omorâți, să suspendați, să reluați și să setați prioritatea proceselor pe obiecte folosind metode suplimentare.

Windows Management Instrumentation (WMI; anterior WBEM) și extensiile WMI pentru modelul de driver Windows servesc drept baze pentru gestionabilitate în Windows 2019/2016/2012/2008 și Windows 10/7/XP (WDM).

Capacitatea de a crea proceduri de verificare a monitorului bazate pe WMI este oferită de ActiveXperts Network Monitor. Există mai mult de o sută de mostre WMI pe care ActiveXperts le-a adunat. Aceste exemple pot servi drept punct de plecare pentru rutine de verificare noi pe care le creați singur.

Multe mostre WMI sunt disponibile pe acest site web.

ActiveXperts Network Monitor utilizează clasa Win32_Process WMI pentru a vă monitoriza serverele.

O serie de evenimente pe un sistem de operare Windows este reprezentată de clasa Win32_Process WMI. O secvență care implică interacțiunea unuia sau mai multor procesoare sau interpreți, un cod executabil și un set de intrări, cum ar fi un program client care rulează pe un sistem Windows, este un descendent sau membru al acestei clase.

Acum se pune întrebarea ce este Python win32?

Astfel, capacitățile Python win32 și Win32 pentru interfața de programare a aplicațiilor (API) pot fi utilizate cu Python folosind biblioteca de extensii PyWin32 pentru Windows.

arhitectura linux

Să facem o mică introducere la Modulul win32api.

Modulul win32api oferă diverse metode suplimentare pentru controlul proceselor. Acestea vă oferă posibilitatea de a efectua mulți dintre pașii obișnuiți necesari pentru a lansa noi procese, dar încă nu oferă cel mai înalt nivel de control la nivel scăzut.

Spre deosebire de funcția os.system, care a fost explicată anterior, funcția WinExec face diverse adaptări pentru programele GUI. De exemplu, nu este stabilită nicio consolă, iar funcția nu așteaptă până la finalizarea noului proces.

Funcția necesită aceste două intrări:

  • Ordinul de îndeplinit
  • Alternativ, starea inițială a ferestrei aplicației

Să facem o mică introducere la win32api.ShellExecute.

În plus, modulul win32api oferă o altă caracteristică benefică pentru pornirea de noi procese. Spre deosebire de pornirea proceselor aleatoare, deschiderea documentelor este scopul principal al funcției ShellExecute. Puteți indica ShellExecute să „deschidă MyDocument.doc”, de exemplu. Windows alege ce proces să lanseze în numele dvs. pentru a deschide fișierele.doc. Clic (sau dublu clic) pe un fișier a.doc face ca Windows Explorer să efectueze aceeași acțiune.

Un program care rulează este denumit proces (procesat). Un proces nu trebuie să fie unul pe care utilizatorul îl rulează manual; ar putea fi în schimb un proces de sistem pe care sistemul de operare îl generează. Orice program care rulează pe un sistem de operare trebuie să genereze mai întâi un proces separat înainte de a putea începe să funcționeze. Majoritatea proceselor dintr-o instalare tipică a sistemului de operare sunt programe de fundal și servicii ale sistemului de operare care sunt utilizate pentru a menține hardware-ul, software-ul și sistemul de operare în stare bună de funcționare.

Această postare va analiza câteva metode alternative Python pentru a obține o listă a proceselor active în prezent ale unui sistem de operare Windows.

Pentru a obține rezultatul dorit, vom descrie mai întâi o metodă Python. Vom examina apoi o comandă din procesorul de comandă Windows pentru a realiza același lucru.

pip install wmi

Copiați acest cod de mai sus în terminal.

Exemplu

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

Parametrii

    mâner:PyHANDLE ( mâner la firul de interes )dwIdealProcessor:int (numărul ideal de procesor)

Tip de returnare

Această metodă returnează valoarea int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Sintaxă

win32process.GetProcessAffinityMask( hProcess )

Parametrii

    hProces:PyHANDLE (tratează procesul de interes)

Tip de returnare

Această metodă returnează un tuplu de ( masca de afinitate de proces, masca de afinitate de sistem ).

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Sintaxă

win32process.SetProcessAffinityMask( hProcess, mask )

Setează o mască de afinitate a procesorului pentru un proces specificat.

Parametrii

    hProces:PyHANDLE (tratează procesul de interes)masca:int (o mască de afinitate a procesorului)

Notă: Unele platforme nu au această caracteristică.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Sintaxă

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametrii

    hFiul:PyHANDLE ( mâner la firul de interes )ThreadAffinityMask:int (o mască de afinitate a procesorului)

Tip de returnare

Această metodă returnează o valoare int.

30. Suspend Thread

win32process.SuspendThread

Sintaxă

int = SuspendThread( handle )

Suspend firul specificat.

toate majusculele comandă excel

Parametrii

    mâner:PyHANDLE (mâner la fir)

Valoare returnată

Valoarea returnată este numărul de suspendări anterior al firului

31. Resume Thread

win32process.ResumeThread

Sintaxă

int = ResumeThread( handle )

Reia firul specificat. Când numărul de suspendări este redus la zero, execuția firului de execuție este reluată.

Parametrii

    mâner:PyHANDLE (mâner la fir)

Valoare returnată

Valoarea returnată este numărul de suspendări anterior al firului

32. TerminateProcess

win32process.TerminateProcess

Sintaxă

TerminateProcess( handle, exitCode )

Parametrii

    mâner:PyHANDLE ( mâner la proces )exitCode:int (Codul de ieșire pentru proces)

33. xitProcess

win32process.ExitProcess

    ExitProcess:Sfârșitul procesului și toate firele sale

Parametrii

    exitCode:int (Informațiile despre codul de ieșire sunt furnizate pentru proces și toate firele de execuție care sunt încheiate ca urmare a acestui apel.)

Cel mai bun mod de a opri un proces este cu ExitProcess. Această funcție asigură o oprire curată a procesului. Aceasta include contactarea fiecărei funcție de punct de intrare a bibliotecii de legături dinamice (DLL) asociată cu o valoare care indică faptul că procesul se separă de DLL. DLL-urile asociate cu procesul nu sunt informate despre terminarea procesului dacă un proces se încheie prin invocarea win32process::TerminateProcess.

34. EnumProceses

win32process.EnumProcesses

Sintaxă

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

Oferă Pid-uri pentru activitățile care rulează efectiv.

35. EnumProcessModules

win32process.EnumProcessModules

Sintaxă

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

Listează modulele încărcate pentru un handle de proces

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Sintaxă

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

listează modulele pe 32 sau 64 de biți pe care le-a încărcat un proces.

Parametrii

    hProces:PyHANDLE (Handlerul de proces pe care OpenProcess l-a returnat) FilterFlag=LIST_MODULES_DEFAULT : int (alegeți dacă să returnați module pe 32 de biți sau 64 de biți. ) necesită Windows Vista sau o versiune ulterioară.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

lista java a

Sintaxă

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametrii

    hProces:PyHANDLE (Handlerul de proces pe care OpenProcess l-a returnat)hModul:PyHANDLE (Acest parametru se ocupă de module)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Sintaxă

dict = GetProcessMemoryInfo( hProcess )

Un dict care reprezintă o structură PROCESS_MEMORY_COUNTERS este returnat ca statistici de memorie de proces.

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Sintaxă

dict = GetProcessTimes( hProcess )

Obține statistici de timp pentru un proces folosind mânerul acestuia. (În unități de 100 de nanosecunde pentru UserTime și KernelTime)

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Sintaxă

dict = GetProcessIoCounters( hProcess )

Statisticile I/O pentru un proces sunt returnate ca un dicționar corespunzător unei structuri IO_COUNTERS.

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Sintaxă

GetProcessWindowStation()

Returnează un handle la stația fereastră pentru procesul de apelare.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Sintaxă

int,int = GetProcessWorkingSetSize( hProcess )

Dimensiunile minime și maxime ale seturilor de lucru ale unui proces sunt returnate.

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Sintaxă

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Setează dimensiunile minime și maxime ale seturilor de lucru pentru un proces.

Parametrii

    hProces:PyHANDLE (Manerul procesului, așa cum este returnat de OpenProcess)MinimumWorkingSetSize:int (număr minim de octeți de păstrat în memoria fizică)MaximumWorkingSetSize:int (Numărul maxim de octeți de păstrat în memoria fizică)

NOTĂ: Pentru a schimba complet procedura, setați atât min și max la -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Sintaxă

int,int = GetProcessShutdownParameters()

Dezvăluie nivelul de terminare curent al procesului și declanșează.

Intervalul este 000-0FF. ferestre rezervate, Last, 200-2FF Middle, First, 300-3FF și al patrulea, 400-4FF rezerve Windows.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Sintaxă

compoziția relației
SetProcessShutdownParameters(Level, Flags)

Setează steagurile procesului și prioritatea de terminare.

Parametrii

    Nivel:int (Acest parametru arată că prioritatea mai mare este egală mai devreme)Steaguri:int (Acest parametru arată că doar SHUTDOWN NORETRY este valabil în acest moment).

Intervalul este 000-0FF. 100-1FF Last, 200-2FF Middle, 300-3FF First, 400-4FF și rezervat de fereastră Windows rezervată.

46. ​​GetGuiResources

win32process.GetGuiResources

Sintaxă

int = GetGuiResources(Process, Flags )

Oferă cantitatea de mânere GDI sau obiect utilizator pe care le deține un proces.

Parametrii

    Proces:PyHANDLE (Acest parametru Win32api::Manerul returnat de OpenProcess unui proces)Steaguri:int (Acest parametru arată fie GR USEROBJECTS, fie GR GDIOBJECTS (din win32con))

47. IsWow64Process

win32process.IsWow64Process

Sintaxă

bool = IsWow64Process(Process)

Identifică dacă WOW64 rulează în prezent procesul specificat.

Parametrii

    Proces=Niciunul:PyHANDLE (Handlerul de proces returnat de win32api::OpenProcess, win32api::GetCurrentProcess etc.; dacă nu este specificat None (implicit), va fi folosit handle-ul de proces curent.)

Să vedem valoarea sa de returnare.

Valoarea returnată este False dacă sistemul de operare nu oferă această funcție (adică,

o excepție NotImplemented nu va fi niciodată aruncată). Cu toate acestea, a

win32process.error excepția de la aceasta este în mod normal aruncată dacă funcția este disponibilă

dar ineficient.

Concluzie

În acest articol, am discutat despre procesul Python win32. Și, de asemenea, am discutat despre diferitele tipuri de metode și parametrii acestora și valorile returnate unul câte unul.