logo

Processo Python Win32

In questo articolo discuteremo del processo Python win32. E discuteremo anche i suoi metodi uno per uno.

Fondamentalmente, il processo Win32 è un metodo in Python. Le funzionalità estese di creazione e gestione dei processi Win32 sono accessibili tramite questo modulo. Il metodo Create crea oggetti di processo (il costruttore). È possibile terminare, sospendere, riprendere e impostare la priorità dei processi sugli oggetti utilizzando metodi aggiuntivi.

Strumentazione gestione Windows (WMI; in precedenza WBEM) e le estensioni WMI per il modello di driver Windows fungono da basi per la gestibilità in Windows 2019/2016/2012/2008 e Windows 10/7/XP (WDM).

La possibilità di creare procedure di controllo del monitor basate su WMI è offerta da ActiveXperts Network Monitor. Sono disponibili più di cento campioni WMI raccolti da ActiveXperts. Questi esempi potrebbero servire come punto di partenza per nuove routine di controllo che creerai autonomamente.

Molti esempi WMI sono disponibili su questo sito Web.

ActiveXperts Network Monitor utilizza la classe WMI Win32_Process per monitorare i server.

Una serie di eventi in un sistema operativo Windows è rappresentata dalla classe WMI Win32_Process. Una sequenza che coinvolge l'interazione di uno o più processori o interpreti, del codice eseguibile e un insieme di input, come un programma client in esecuzione su un sistema Windows, è un discendente o un membro di questa classe.

Ora sorge la domanda cos'è Python win32?

Pertanto le funzionalità API (Application Programming Interface) di Python win32 e Win32 possono essere utilizzate con Python utilizzando la libreria di estensioni PyWin32 per Windows.

Facciamo una piccola introduzione al Modulo win32api.

Il modulo win32api offre vari metodi aggiuntivi per il controllo dei processi. Questi ti danno la possibilità di eseguire molti dei soliti passaggi necessari per avviare nuovi processi, ma non riescono ancora a offrire il massimo livello di controllo di basso livello.

A differenza della funzione os.system spiegata in precedenza, la funzione WinExec offre diverse sistemazioni per i programmi GUI. Ad esempio, non viene stabilita alcuna console e la funzione non attende il completamento del nuovo processo.

La funzione richiede questi due input:

  • L'ordine da eseguire
  • In alternativa, lo stato iniziale della finestra dell'applicazione

Facciamo una piccola introduzione al win32api.ShellExecute.

Inoltre il modulo win32api offre un'altra caratteristica vantaggiosa per l'avvio di nuovi processi. A differenza dell'avvio di processi casuali, l'apertura di documenti è lo scopo principale della funzione ShellExecute. Ad esempio, puoi istruire ShellExecute ad 'aprire MyDocument.doc'. Windows sceglie quale processo avviare per tuo conto per aprire i file.doc. Il clic (o il doppio clic) su un file a.doc fa sì che Esplora risorse esegua la stessa azione.

Un programma in esecuzione viene definito processo (elaborato). Non è necessario che un processo venga eseguito manualmente dall'utente; potrebbe invece essere un processo di sistema generato dal sistema operativo. Qualsiasi programma eseguito su un sistema operativo deve prima generare un processo separato prima di poter iniziare a funzionare. La maggior parte dei processi in una tipica installazione del sistema operativo sono programmi in background e servizi del sistema operativo utilizzati per mantenere l'hardware, il software e il sistema operativo in buone condizioni.

Questo post esaminerà alcuni metodi Python alternativi per ottenere un elenco dei processi attualmente attivi di un sistema operativo Windows.

Per ottenere il risultato desiderato, descriveremo prima un metodo Python. Esamineremo quindi un comando dal processore dei comandi di Windows per ottenere la stessa cosa.

pip installa wmi

Copia questo codice sopra nel terminale.

Esempio

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

Parametri

    maniglia:PyHANDLE (handle per il thread di interesse)dwIdealProcessore:int (numero processore ideale)

Tipo di reso

array in stringa

Questo metodo restituisce il valore int

27. OttieniProcessAffinityMask

win32process.GetProcessAffinityMask

Sintassi

win32process.GetProcessAffinityMask( hProcess )

Parametri

    hProcesso:PyHANDLE (handle al processo di interesse)

Tipo di reso

Questo metodo restituisce una tupla di ( maschera di affinità del processo, maschera di affinità del sistema ).

28. ImpostaProcessAffinityMask

win32process.SetProcessAffinityMask

Sintassi

win32process.SetProcessAffinityMask( hProcess, mask )

Imposta una maschera di affinità del processore per un processo specificato.

Parametri

linux esegui cmd
    hProcesso:PyHANDLE (handle al processo di interesse)maschera:int (una maschera di affinità del processore)

Nota: alcune piattaforme non dispongono di questa funzionalità.

29. ImpostaThreadAffinityMask

win32process.SetThreadAffinityMask

Sintassi

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametri

    h Discussione:PyHANDLE (handle per il thread di interesse)ThreadAffinityMask:int (una maschera di affinità del processore)

Tipo di reso

Questo metodo restituisce un valore int.

30. Sospendi discussione

win32process.SuspendThread

Sintassi

int = SuspendThread( handle )

Sospende il thread specificato.

Parametri

    maniglia:PyHANDLE (handle per il thread)

Valore di ritorno

Il valore restituito è il conteggio delle sospensioni precedenti del thread

31. Riprendi discussione

win32process.ResumeThread

Sintassi

int = ResumeThread( handle )

Riprende il thread specificato. Quando il conteggio delle sospensioni viene ridotto a zero, l'esecuzione del thread viene ripresa.

Parametri

    maniglia:PyHANDLE (handle per il thread)

Valore di ritorno

Il valore restituito è il conteggio delle sospensioni precedenti del thread

32. Termina processo

win32process.TerminateProcess

Sintassi

TerminateProcess( handle, exitCode )

Parametri

    maniglia:PyHANDLE (handle del processo)codice uscita:int (il codice di uscita del processo)

33. xitProcesso

win32process.ExitProcess

    Processo di uscita:Fine del processo e di tutti i suoi thread

Parametri

    codice uscita:int (le informazioni sul codice di uscita vengono fornite per il processo e per tutti i thread che vengono terminati come risultato di questa chiamata.)

Il modo migliore per interrompere un processo è con ExitProcess. Questa funzione garantisce un arresto pulito del processo. Ciò include contattare la funzione del punto di ingresso di ciascuna libreria a collegamento dinamico (DLL) associata con un valore che indica che il processo si sta separando dalla DLL. Le DLL associate al processo non vengono informate della terminazione del processo se un processo termina richiamando win32process::TerminateProcess.

34. Processi Enum

win32process.EnumProcesses

Sintassi

10 di 100
( long,.... ) = EnumProcesses()

Fornisce PID per le attività effettivamente in esecuzione.

35. EnumProcessModules

win32process.EnumProcessModules

Sintassi

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

Elenca i moduli caricati per un handle di processo

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Sintassi

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

elenca i moduli a 32 o 64 bit caricati da un processo.

Parametri

    hProcesso:PyHANDLE (l'handle del processo restituito da OpenProcess) FilterFlag=LIST_MODULES_DEFAULT: int (scegli se restituire moduli a 32 o 64 bit.) richiede Windows Vista o versione successiva.

37. OttieniNomeFileModuloEx

win32process.GetModuleFileNameEx

Sintassi

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametri

    hProcesso:PyHANDLE (l'handle del processo restituito da OpenProcess)hModulo:PyHANDLE (Questo parametro gestisce i moduli)

38. Ottieni informazioni memoria processo

win32process.GetProcessMemoryInfo

Sintassi

dict = GetProcessMemoryInfo( hProcess )

Un dict che rappresenta una struttura PROCESS_MEMORY_COUNTERS viene restituito come statistiche della memoria del processo.

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da OpenProcess)

39. OttieniTempiProcesso

win32process.GetProcessTimes

Sintassi

dict = GetProcessTimes( hProcess )

Ottieni statistiche temporali per un processo utilizzando il suo handle. (In unità di 100 nanosecondi per UserTime e KernelTime)

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da OpenProcess)

40. OttieniContatoriProcesso

win32process.GetProcessIoCounters

Sintassi

dict = GetProcessIoCounters( hProcess )

Le statistiche I/O per un processo vengono restituite come dizionario corrispondente a una struttura IO_COUNTERS.

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da OpenProcess)

41. OttieniProcessWindowStation

win32process.GetProcessWindowStation

Sintassi

GetProcessWindowStation()

Restituisce un handle all'oggetto finestra per il processo chiamante.

Java aggiunge stringa

42. Ottieni dimensione set di lavoro processo

win32process.GetProcessWorkingSetSize

Sintassi

int,int = GetProcessWorkingSetSize( hProcess )

Vengono restituite le dimensioni minime e massime del working set di un processo.

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da win32api::OpenProcess)

43. ImpostaDimensioneImpostaProcessoLavoro

win32process.SetProcessWorkingSetSize

Sintassi

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Imposta le dimensioni minime e massime del working set per un processo.

Parametri

    hProcesso:PyHANDLE (handle del processo restituito da OpenProcess)Dimensione minima del set di lavoro:int (Numero minimo di byte da conservare nella memoria fisica)Dimensione massima del set di lavoro:int (Numero massimo di byte da conservare nella memoria fisica)

NOTA: per invertire completamente la procedura, impostare sia min che max su -1.

44. Ottieni parametri di arresto del processo

win32process.GetProcessShutdownParameters

Sintassi

int,int = GetProcessShutdownParameters()

Rivela il livello di terminazione corrente e i trigger del processo.

L'intervallo è 000-0FF. finestre riservate, Ultimo, 200-2FF Medio, Primo, 300-3FF e Quarto, 400-4FF riserve di Windows.

45. Imposta parametri di arresto del processo

win32process.SetProcessShutdownParameters

Sintassi

SetProcessShutdownParameters(Level, Flags)

Imposta i flag del processo e la priorità di terminazione.

Parametri

    Livello:int (questo parametro mostra che la priorità più alta è uguale a prima)Bandiere:int (questo parametro mostra che al momento è valido solo SHUTDOWN NORETRY).

L'intervallo è 000-0FF. 100-1FF Ultimo, 200-2FF Medio, 300-3FF Primo, 400-4FF e riservato dalla finestra riservata di Windows.

46. ​​Ottieni risorseGui

win32process.GetGuiResources

Sintassi

int = GetGuiResources(Process, Flags )

Fornisce la quantità di GDI o handle di oggetti utente conservati da un processo.

Parametri

    Processi:PyHANDLE (l'handle restituito da Win32api::OpenProcess a un processo)Bandiere:int (Questo parametro mostra GR USEROBJECTS o GR GDIOBJECTS (da win32con))

47. IsWow64Processo

win32process.IsWow64Process

Sintassi

bool = IsWow64Process(Process)

Identifica se WOW64 sta attualmente eseguendo il processo specificato.

Parametri

    Processo=Nessuno:PyHANDLE (handle del processo restituito da win32api::OpenProcess, win32api::GetCurrentProcess, ecc.; se viene fornito None (impostazione predefinita), verrà utilizzato l'handle del processo corrente.)

Vediamo il suo Valore di Ritorno.

Il valore restituito è False se il sistema operativo non fornisce questa funzione (ovvero,

non verrà mai generata un'eccezione NotImplemented). Tuttavia, a

L'eccezione win32process.error a questo viene normalmente lanciata se la funzione è disponibile

ma inefficace.

proprietà acide nei DBMS

Conclusione

In questo articolo, abbiamo discusso del processo Python win32. Inoltre, abbiamo discusso i diversi tipi di metodi, i relativi parametri e i valori restituiti uno per uno.