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('Printing the pid Process name') # all the running processes for process in f.Win32_Process(): print(f'{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'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'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'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'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'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'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'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'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's virtual address space.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hprocess :</td> PyHANDLE (the remote process's handle) </tr><tr><td>sa :</td> PySECURITY_ATTRIBUTES (Security characteristics, or None) </tr><tr><td>stackSize :</td> int (The new thread'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'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'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's unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>8. GetProcessVersion</h3> <p>win32process.GetProcessVersion reveals the system'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's unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>10. GetStartupInfo</h3> <p>win32process.GetStartupInfo reveals the STARTUPINFO structure'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'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'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's handle) </tr></ul> <h3>14. GetWindowThreadProcessId</h3> <p>win32process.GetWindowThreadProcessId returns the thread and process IDs that were responsible for the provided window'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'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'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'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'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'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'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'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'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'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'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'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'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'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
Tipo de devolución
Este método devuelve el valor int.
27. ObtenerProcessAffinityMask
win32process.GetProcessAffinityMask
Sintaxis
win32process.GetProcessAffinityMask( hProcess )
Parámetros
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
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
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
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
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
33. proceso de salida
win32process.ExitProcess
Parámetros
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
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
37. ObtenerModuleFileNameEx
win32process.GetModuleFileNameEx
Sintaxis
PyUNICODE = GetModuleFileNameEx( hProcess, hModule )
Parámetros
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
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
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
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
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
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
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
47. Es el proceso Wow64
win32process.IsWow64Process
Sintaxis
bool = IsWow64Process(Process)
Identifica si WOW64 está ejecutando actualmente el proceso especificado.
Parámetros
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.
5}>