logo

Proceso de Python Win32

En este artículo, analizaremos el proceso Python win32. Y también discutiremos sus métodos uno por uno.

arquitectura von neumann

Básicamente, el proceso Win32 es un método en Python. A través de este módulo se puede acceder a capacidades extendidas de creación y administración de procesos Win32. El método Create crea objetos de proceso (el constructor). Es posible finalizar, suspender, reanudar y establecer la prioridad de procesos en objetos utilizando métodos adicionales.

El Instrumental de administración de Windows (WMI; anteriormente WBEM) y las extensiones WMI para el modelo de controlador de Windows sirven como base para la capacidad de administración en Windows 2019/2016/2012/2008 y Windows 10/7/XP (WDM).

ActiveXperts Network Monitor ofrece la capacidad de crear procedimientos de verificación de monitor basados ​​en WMI. Hay más de cien muestras de WMI que ActiveXperts ha recopilado. Estos ejemplos pueden servir como punto de partida para nuevas rutinas de verificación que cree usted mismo.

Muchos ejemplos de WMI están disponibles en este sitio web.

ActiveXperts Network Monitor utiliza la clase WMI Win32_Process para monitorear sus servidores.

Una serie de eventos en un sistema operativo Windows está representada por la clase WMI Win32_Process. Una secuencia que involucra la interacción de uno o más procesadores o intérpretes, algún código ejecutable y un conjunto de entradas, como un programa cliente que se ejecuta en un sistema Windows, es descendiente o miembro de esta clase.

Ahora surge la pregunta ¿Qué es Python win32?

Por lo tanto, las capacidades de la interfaz de programación de aplicaciones (API) Win32 y Win32 de Python se pueden utilizar con Python mediante la biblioteca de extensiones PyWin32 para Windows.

Hagamos una pequeña introducción a la Módulo win32api.

El módulo win32api ofrece varios métodos adicionales para controlar procesos. Estos le brindan la capacidad de llevar a cabo muchos de los pasos habituales necesarios para iniciar nuevos procesos, pero aún no llegan a ofrecer el nivel más alto de control de bajo nivel.

A diferencia de la función os.system explicada anteriormente, la función WinExec realiza diversas adaptaciones para los programas GUI. Por ejemplo, no se establece ninguna consola y la función no espera hasta que finalice el nuevo proceso.

La función requiere estas dos entradas:

  • La orden de realizar
  • Alternativamente, el estado inicial de la ventana de la aplicación

Hagamos una pequeña introducción a la win32api.ShellExecute.

Además, el módulo win32api ofrece otra característica beneficiosa para iniciar nuevos procesos. A diferencia de iniciar procesos aleatorios, abrir documentos es el objetivo principal de la función ShellExecute. Puede indicarle a ShellExecute que 'abra MyDocument.doc', por ejemplo. Windows elige qué proceso iniciar en su nombre para abrir archivos.doc. Hacer clic (o doble clic) en un archivo.doc hace que el Explorador de Windows realice la misma acción.

Un programa que se está ejecutando se denomina proceso (procesado). Un proceso no tiene por qué ser uno que el usuario ejecute manualmente; en cambio, podría ser un proceso del sistema que genera el sistema operativo. Cualquier programa que se ejecute en un sistema operativo debe generar primero un proceso separado antes de que pueda comenzar a funcionar. La mayoría de los procesos en una instalación típica de un sistema operativo son programas en segundo plano y servicios del sistema operativo que se utilizan para mantener el hardware, el software y el sistema operativo en buen estado de funcionamiento.

Esta publicación analizará algunos métodos alternativos de Python para obtener una lista de los procesos actualmente activos de un sistema operativo Windows.

Para obtener el resultado deseado, primero describiremos un método de Python. Luego examinaremos un comando del procesador de comandos de Windows para lograr lo mismo.

instalar pip wmi

Copie este código anterior en la terminal.

Ejemplo

 #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ámetros

    manejar:PyHANDLE (identificador del hilo de interés)Procesador dwIdeal:int (número de procesador ideal)

Tipo de devolución

Este método devuelve el valor int.

27. ObtenerProcessAffinityMask

win32process.GetProcessAffinityMask

Sintaxis

win32process.GetProcessAffinityMask( hProcess )

Parámetros

    hProceso:PyHANDLE (identificador del proceso de interés)

Tipo de devolución

Este método devuelve una tupla de (máscara de afinidad de proceso, máscara de afinidad del sistema).

28. Establecer máscara de afinidad de proceso

win32process.SetProcessAffinityMask

Sintaxis

win32process.SetProcessAffinityMask( hProcess, mask )

Establece una máscara de afinidad de procesador para un proceso específico.

Parámetros

    hProceso:PyHANDLE (identificador del proceso de interés)mascarilla:int (una máscara de afinidad del procesador)

Nota: Algunas plataformas no tienen esta función.

29. Establecer máscara de afinidad de hilo

win32process.SetThreadAffinityMask

Sintaxis

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parámetros

    hHilo:PyHANDLE (identificador del hilo de interés)Máscara de afinidad de subprocesos:int (una máscara de afinidad del procesador)

Tipo de devolución

Este método devuelve un valor int.

30. Suspender hilo

win32process.SuspendThread

Sintaxis

int = SuspendThread( handle )

Suspende el hilo especificado.

Parámetros

    manejar:PyHANDLE (identificador del hilo)

Valor de retorno

El valor de retorno es el recuento de suspensión anterior del hilo.

31. Reanudar hilo

win32process.ResumeThread

Sintaxis

int = ResumeThread( handle )

Reanuda el hilo especificado. Cuando el recuento de suspensiones disminuye a cero, se reanuda la ejecución del hilo.

Parámetros

    manejar:PyHANDLE (identificador del hilo)

Valor de retorno

El valor de retorno es el recuento de suspensión anterior del hilo.

32. Terminar el proceso

win32process.TerminateProcess

Sintaxis

TerminateProcess( handle, exitCode )

Parámetros

    manejar:PyHANDLE (identificador del proceso)código de salida:int (el código de salida del proceso)

33. proceso de salida

win32process.ExitProcess

    Proceso de salida:El final del proceso y todos sus hilos.

Parámetros

    código de salida:int (Se proporciona información del código de salida para el proceso y todos los subprocesos que finalizan como resultado de esta llamada).

La mejor manera de detener un proceso es con ExitProcess. Esta función proporciona un cierre limpio del proceso. Esto incluye contactar la función de punto de entrada de cada biblioteca de vínculos dinámicos (DLL) asociada con un valor que indique que el proceso se está separando de la DLL. Las DLL asociadas con el proceso no reciben información de la finalización del proceso si un proceso finaliza invocando win32process::TerminateProcess.

34. Procesos de enumeración

win32process.EnumProcesses

Sintaxis

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

Proporciona Pids para las actividades que realmente se están ejecutando.

35. Módulos de proceso de enumeración

win32process.EnumProcessModules

Sintaxis

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

Enumera los módulos cargados para un identificador de proceso

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Sintaxis

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

enumera los módulos de 32 o 64 bits que ha cargado un proceso.

Parámetros

    hProceso:PyHANDLE (El identificador de proceso que devolvió OpenProcess) FilterFlag=LIST_MODULES_DEFAULT: int (elija si desea devolver módulos de 32 o 64 bits) necesita Windows Vista o posterior.

37. ObtenerModuleFileNameEx

win32process.GetModuleFileNameEx

Sintaxis

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parámetros

    hProceso:PyHANDLE (el identificador del proceso que devolvió OpenProcess)hMódulo:PyHANDLE (este parámetro maneja los módulos)

38. Obtener información de memoria de proceso

win32process.GetProcessMemoryInfo

string.compareto c#

Sintaxis

dict = GetProcessMemoryInfo( hProcess )

Se devuelve un dict que representa una estructura PROCESS_MEMORY_COUNTERS como estadísticas de la memoria del proceso.

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por OpenProcess)

39. Obtener tiempos de proceso

win32process.GetProcessTimes

Sintaxis

dict = GetProcessTimes( hProcess )

Obtenga estadísticas de tiempo para un proceso utilizando su identificador. (En unidades de 100 nanosegundos para UserTime y KernelTime)

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por OpenProcess)

40. GetProcessIoContadores

win32process.GetProcessIoCounters

Sintaxis

dict = GetProcessIoCounters( hProcess )

Las estadísticas de E/S de un proceso se devuelven como un diccionario correspondiente a una estructura IO_COUNTERS.

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por OpenProcess)

41. ObtenerProcessWindowStation

win32process.GetProcessWindowStation

Sintaxis

GetProcessWindowStation()

Devuelve un identificador a la estación de ventana para el proceso de llamada.

42. ObtenerProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

cómo inyectar una clase abstracta simulada

Sintaxis

int,int = GetProcessWorkingSetSize( hProcess )

Se devuelven los tamaños de conjunto de trabajo mínimo y máximo de un proceso.

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por win32api::OpenProcess)

43. EstablecerProcesoTrabajandoSetTamaño

win32process.SetProcessWorkingSetSize

Sintaxis

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Establece tamaños mínimos y máximos de conjuntos de trabajo para un proceso.

Parámetros

    hProceso:PyHANDLE (identificador del proceso devuelto por OpenProcess)Tamaño mínimo del conjunto de trabajo:int (Número mínimo de bytes para mantener en la memoria física)Tamaño máximo del conjunto de trabajo:int (Número máximo de bytes para mantener en la memoria física)

NOTA: Para cambiar completamente el procedimiento, establezca tanto el mínimo como el máximo en -1.

44. Obtener parámetros de apagado del proceso

win32process.GetProcessShutdownParameters

Sintaxis

int,int = GetProcessShutdownParameters()

Revela el nivel de terminación actual del proceso y sus desencadenantes.

El rango es 000-0FF. ventanas reservadas, último, 200-2FF medio, primero, 300-3FF y cuarto, 400-4FF reservas de Windows.

45. Establecer parámetros de apagado del proceso

win32process.SetProcessShutdownParameters

Sintaxis

SetProcessShutdownParameters(Level, Flags)

Establece las banderas del proceso y la prioridad de terminación.

Parámetros

    Nivel:int (Este parámetro muestra que la prioridad más alta es igual a la anterior)Banderas:int (Este parámetro muestra que solo SHUTDOWN NORETRY es válido en este momento).

El rango es 000-0FF. 100-1FF último, 200-2FF medio, 300-3FF primero, 400-4FF y reservado por ventana de Windows reservada.

46. ​​ObtenerGuiRecursos

win32process.GetGuiResources

Sintaxis

int = GetGuiResources(Process, Flags )

Proporciona la cantidad de identificadores de objetos de usuario o GDI que contiene un proceso.

Parámetros

    Proceso:PyHANDLE (Este parámetro Win32api::OpenProcess devuelve el identificador a un proceso)Banderas:int (Este parámetro muestra GR USEROBJECTS o GR GDIOBJECTS (de win32con))

47. Es el proceso Wow64

win32process.IsWow64Process

Sintaxis

bool = IsWow64Process(Process)

Identifica si WOW64 está ejecutando actualmente el proceso especificado.

Parámetros

    Proceso=Ninguno:PyHANDLE (identificador de proceso devuelto por win32api::OpenProcess, win32api::GetCurrentProcess, etc.; si se proporciona Ninguno (valor predeterminado), se utilizará el identificador de proceso actual).

Veamos su valor de retorno.

El valor de retorno es Falso si el sistema operativo no proporciona esta función (es decir,

nunca se lanzará una excepción NotImplemented). Sin embargo, un

La excepción win32process.error a esto normalmente se lanza si la función está disponible

pero ineficaz.

Conclusión

En este artículo, analizamos el proceso Python win32. Y también hemos discutido los diferentes tipos de métodos y sus parámetros y valores de retorno uno por uno.