logo

Procés Python Win32

En aquest article, parlarem del procés Python win32. I també parlarem dels seus mètodes un per un.

Bàsicament, el procés Win32 és un mètode en Python. A través d'aquest mòdul es pot accedir a les capacitats de gestió i creació de processos Win32 ampliades. El mètode Create crea objectes de procés (el constructor). És possible matar, suspendre, reprendre i establir la prioritat dels processos en objectes mitjançant mètodes addicionals.

La Instrumentació de gestió de Windows (WMI; anteriorment WBEM) i les extensions WMI per al model de controlador de Windows serveixen com a fonaments per a la gestió a Windows 2019/2016/2012/2008 i Windows 10/7/XP (WDM).

ActiveXperts Network Monitor ofereix la possibilitat de crear procediments de verificació del monitor basats en WMI. Hi ha més d'un centenar de mostres de WMI que ActiveXperts ha reunit. Aquests exemples poden servir com a punt de partida per a noves rutines de comprovació que creeu pel vostre compte.

programa java senzill

Moltes mostres de WMI estan disponibles en aquest lloc web.

ActiveXperts Network Monitor utilitza la classe WMI Win32_Process per supervisar els vostres servidors.

Una sèrie d'esdeveniments en un sistema operatiu Windows està representada per la classe WMI Win32_Process. Una seqüència que implica la interacció d'un o més processadors o intèrprets, algun codi executable i un conjunt d'entrades, com ara un programa client que s'executa en un sistema Windows, és descendent o membre d'aquesta classe.

Ara sorgeix la pregunta Què és Python win32?

Així, les capacitats de la interfície de programació d'aplicacions (API) de Python win32 i Win32 es poden utilitzar amb Python mitjançant la biblioteca d'extensions PyWin32 per a Windows.

Fem una petita introducció al Mòdul win32api.

El mòdul win32api ofereix diversos mètodes addicionals per controlar processos. Aquests us donen la possibilitat de dur a terme molts dels passos habituals necessaris per llançar nous processos, però encara no ofereixen el nivell més alt de control de baix nivell.

A diferència de la funció os.system, que s'ha explicat anteriorment, la funció WinExec fa diverses adaptacions per als programes GUI. Per exemple, no s'estableix cap consola i la funció no espera fins que s'hagi acabat el nou procés.

La funció requereix aquestes dues entrades:

  • L'ordre a dur a terme
  • Alternativament, l'estat inicial de la finestra de l'aplicació

Fem una petita introducció al win32api.ShellExecute.

A més, el mòdul win32api ofereix una altra característica beneficiosa per iniciar nous processos. A diferència d'iniciar processos aleatoris, obrir documents és l'objectiu principal de la funció ShellExecute. Podeu indicar a ShellExecute que 'obri MyDocument.doc', per exemple. Windows tria quin procés s'iniciarà en nom vostre per obrir fitxers.doc. El clic (o el doble clic) en un fitxer a.doc fa que l'Explorador de Windows realitzi la mateixa acció.

Un programa que s'està executant es coneix com a procés (processat). No cal que un procés sigui aquell que l'usuari executi manualment; En canvi, podria ser un procés del sistema que genera el sistema operatiu. Qualsevol programa que s'executi en un sistema operatiu primer ha de generar un procés separat abans que pugui començar a funcionar. La majoria dels processos d'una instal·lació del sistema operatiu típic són programes en segon pla i serveis del sistema operatiu que s'utilitzen per mantenir el maquinari, el programari i el sistema operatiu en bon estat de funcionament.

Aquesta publicació examinarà alguns mètodes alternatius de Python per obtenir una llista dels processos actius actualment d'un sistema operatiu Windows.

Per obtenir el resultat desitjat, primer descriurem un mètode Python. A continuació, examinarem una ordre del processador d'ordres de Windows per aconseguir el mateix.

pip install wmi

Copieu aquest codi anterior al terminal.

Exemple

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

Paràmetres

    gestionar:PyHANDLE (manejar al fil d'interès)dwIdealProcessor:int (número de processador ideal)

Tipus de retorn

Aquest mètode retorna el valor int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Sintaxi

win32process.GetProcessAffinityMask( hProcess )

Paràmetres

    hProcés:PyHANDLE (manejar el procés d'interès)

Tipus de retorn

Aquest mètode retorna una tupla de ( màscara d'afinitat de procés, màscara d'afinitat de sistema ).

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Sintaxi

win32process.SetProcessAffinityMask( hProcess, mask )

Estableix una màscara d'afinitat de processador per a un procés especificat.

Paràmetres

    hProcés:PyHANDLE (manejar el procés d'interès)màscara:int (una màscara d'afinitat del processador)

Nota: algunes plataformes no tenen aquesta funció.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Sintaxi

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Paràmetres

    h Fil:PyHANDLE (manejar al fil d'interès)ThreadAffinityMask:int (una màscara d'afinitat del processador)

Tipus de retorn

Aquest mètode retorna un valor int.

30. Suspend Thread

win32process.SuspendThread

Sintaxi

int = SuspendThread( handle )

Suspèn el fil especificat.

Paràmetres

    gestionar:PyHANDLE ( mànec al fil )

Valor de retorn

El valor de retorn és el recompte de suspensió anterior del fil

31. ResumeThread

win32process.ResumeThread

Sintaxi

int = ResumeThread( handle )

Reprèn el fil especificat. Quan el recompte de suspensió es redueix a zero, es reprèn l'execució del fil.

Paràmetres

    gestionar:PyHANDLE ( mànec al fil )

Valor de retorn

El valor de retorn és el recompte de suspensió anterior del fil

32. TerminateProcess

win32process.TerminateProcess

Sintaxi

TerminateProcess( handle, exitCode )

Paràmetres

    gestionar:PyHANDLE (manejar el procés)exitCode:int (El codi de sortida del procés)

33. xitProcess

win32process.ExitProcess

    Procés de sortida:El final del procés i tots els seus fils

Paràmetres

    exitCode:int (La informació del codi de sortida es proporciona per al procés i tots els fils que s'acaben com a resultat d'aquesta trucada.)

La millor manera d'aturar un procés és amb ExitProcess. Aquesta funció proporciona un tancament net del procés. Això inclou contactar amb cada funció de punt d'entrada de la biblioteca d'enllaços dinàmics (DLL) associada amb un valor que indica que el procés s'està separant de la DLL. Les DLL associades amb el procés no s'informa de la finalització del procés si un procés finalitza invocant win32process::TerminateProcess.

34. EnumProcesses

win32process.EnumProcesses

Sintaxi

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

Proporciona Pids per a activitats que s'estan executant.

35. EnumProcessModules

win32process.EnumProcessModules

Sintaxi

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

Llista els mòduls carregats per a un controlador de procés

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Sintaxi

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

enumera els mòduls de 32 o 64 bits que ha carregat un procés.

Paràmetres

    hProcés:PyHANDLE (L'identificador de procés que l'OpenProcess ha retornat) FilterFlag=LIST_MODULES_DEFAULT : int (trieu si voleu retornar mòduls de 32 o 64 bits.) necessita Windows Vista o posterior.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Sintaxi

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Paràmetres

    hProcés:PyHANDLE (El controlador del procés que OpenProcess ha retornat)hMòdul:PyHANDLE (Aquest paràmetre gestiona els mòduls)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Sintaxi

dict = GetProcessMemoryInfo( hProcess )

Es retorna un dictat que representa una estructura PROCESS_MEMORY_COUNTERS com a estadístiques de memòria de procés.

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Sintaxi

dict = GetProcessTimes( hProcess )

Obteniu estadístiques de temps per a un procés mitjançant el seu maneig. (En unitats de 100 nanosegons per UserTime i KernelTime)

interfície java comparable

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Sintaxi

dict = GetProcessIoCounters( hProcess )

Les estadístiques d'E/S d'un procés es tornen com a diccionari corresponent a una estructura IO_COUNTERS.

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Sintaxi

GetProcessWindowStation()

Retorna un identificador a l'estació de finestra per al procés de trucada.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Sintaxi

int,int = GetProcessWorkingSetSize( hProcess )

Es retornen les mides mínimes i màximes del conjunt de treball d'un procés.

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Sintaxi

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Estableix les mides mínimes i màximes del conjunt de treball per a un procés.

Paràmetres

    hProcés:PyHANDLE (identificador de procés tal com el retorna OpenProcess)MinimumWorkingSetSize:int (Nombre mínim de bytes per mantenir a la memòria física)MaximumWorkingSetSize:int (nombre màxim de bytes per mantenir a la memòria física)

NOTA: Per canviar completament el procediment, configureu el mínim i el màxim a -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Sintaxi

Com obtenir emojis d'Apple a Android
int,int = GetProcessShutdownParameters()

Revela el nivell de terminació actual del procés i els activadors.

El rang és 000-0FF. windows reserved, Last, 200-2FF Middle, First, 300-3FF, i Quart, 400-4FF Windows reserve.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Sintaxi

SetProcessShutdownParameters(Level, Flags)

Estableix els indicadors i la prioritat de finalització del procés.

Paràmetres

    Nivell:int (Aquest paràmetre mostra que la prioritat més alta és igual a abans)Banderes:int (Aquest paràmetre mostra que només SHUTDOWN NORETRY és vàlid en aquest moment).

El rang és 000-0FF. 100-1FF Últim, 200-2FF Mitjà, 300-3FF Primer, 400-4FF i reservat per la finestra de Windows reservada.

46. ​​GetGuiResources

win32process.GetGuiResources

Sintaxi

int = GetGuiResources(Process, Flags )

Proporciona la quantitat de GDI o identificadors d'objectes d'usuari que té un procés.

Paràmetres

    Procés:PyHANDLE (Aquest paràmetre Win32api::L'identificador retornat d'OpenProcess a un procés)Banderes:int (Aquest paràmetre mostra GR USEROBJECTS o GR GDIOBJECTS (de win32con))

47. IsWow64Process

win32process.IsWow64Process

Sintaxi

bool = IsWow64Process(Process)

Identifica si WOW64 està executant el procés especificat.

Paràmetres

    Procés=Cap:PyHANDLE (identificador de procés retornat per win32api::OpenProcess, win32api::GetCurrentProcess, etc.; si no s'indica Cap (el valor predeterminat), s'utilitzarà l'identificador de procés actual.)

Vegem el seu valor de retorn.

El valor de retorn és Fals si el sistema operatiu no proporciona aquesta funció (és a dir,

mai no es llançarà una excepció NotImplemented). Tanmateix, a

L'excepció win32process.error a això normalment es llança si la funció està disponible

però ineficaç.

Conclusió

En aquest article, hem parlat del procés Python win32. A més, hem comentat els diferents tipus de mètodes i els seus paràmetres i valors de retorn un per un.