logo

Processus Python Win32

Dans cet article, nous discuterons du processus Python win32. Et nous discuterons également de ses méthodes une par une.

Fondamentalement, le processus Win32 est une méthode en Python. Des capacités étendues de création et de gestion de processus Win32 sont accessibles via ce module. La méthode Create crée des objets de processus (le constructeur). Il est possible d'arrêter, de suspendre, de reprendre et de définir la priorité des processus sur des objets à l'aide de méthodes supplémentaires.

Windows Management Instrumentation (WMI ; anciennement WBEM) et les extensions WMI pour le modèle de pilote Windows servent de base à la gérabilité dans Windows 2019/2016/2012/2008 et Windows 10/7/XP (WDM).

La possibilité de créer des procédures de vérification du moniteur basées sur WMI est offerte par ActiveXperts Network Monitor. Il existe plus d’une centaine d’échantillons WMI rassemblés par ActiveXperts. Ces exemples peuvent servir de point de départ à de toutes nouvelles routines de contrôle que vous créez vous-même.

De nombreux exemples WMI sont disponibles sur ce site Web.

ActiveXperts Network Monitor utilise la classe WMI Win32_Process pour surveiller vos serveurs.

Une série d'événements sur un système d'exploitation Windows est représentée par la classe WMI Win32_Process. Une séquence qui implique l'interaction d'un ou plusieurs processeurs ou interprètes, d'un code exécutable et d'un ensemble d'entrées, comme un programme client exécuté sur un système Windows, est un descendant ou un membre de cette classe.

Maintenant la question se pose qu'est-ce que Python win32 ?

acteur shweta tiwari

Ainsi, les fonctionnalités de l'interface de programmation d'application (API) Python Win32 et Win32 peuvent être utilisées avec Python en utilisant la bibliothèque d'extensions PyWin32 pour Windows.

Faisons une petite introduction au module win32api.

Le module win32api propose diverses méthodes supplémentaires pour contrôler les processus. Ceux-ci vous donnent la possibilité d'effectuer de nombreuses étapes habituelles nécessaires au lancement de nouveaux processus, mais ils ne parviennent toujours pas à offrir le plus haut niveau de contrôle de bas niveau.

Contrairement à la fonction os.system, expliquée précédemment, la fonction WinExec propose divers aménagements pour les programmes GUI. Par exemple, aucune console n'est établie et la fonction n'attend pas la fin du nouveau processus.

La fonction nécessite ces deux entrées :

  • L'ordre à exécuter
  • Alternativement, l'état initial de la fenêtre de l'application

Faisons une petite introduction au win32api.ShellExecute.

De plus, le module win32api offre une autre fonctionnalité intéressante pour démarrer de nouveaux processus. Contrairement au démarrage de processus aléatoires, l'ouverture de documents est l'objectif principal de la fonction ShellExecute. Vous pouvez demander à ShellExecute d'ouvrir MyDocument.doc, par exemple. Windows choisit le processus à lancer en votre nom pour ouvrir les fichiers .doc. Le clic (ou double-clic) sur un fichier a.doc amène l'Explorateur Windows à effectuer la même action.

Un programme en cours d'exécution est appelé processus (traité). Il n’est pas nécessaire qu’un processus soit exécuté manuellement par l’utilisateur ; il pourrait plutôt s'agir d'un processus système généré par le système d'exploitation. Tout programme exécuté sur un système d'exploitation doit d'abord générer un processus distinct avant de pouvoir commencer à fonctionner. La majorité des processus d'une installation typique du système d'exploitation sont des programmes d'arrière-plan et des services du système d'exploitation utilisés pour maintenir le matériel, les logiciels et le système d'exploitation en bon état de fonctionnement.

Cet article examinera quelques méthodes Python alternatives pour obtenir une liste des processus actuellement actifs d'un système d'exploitation Windows.

Pour obtenir le résultat souhaité, nous allons d’abord décrire une méthode Python. Nous examinerons ensuite une commande du processeur de commandes Windows pour accomplir la même chose.

pip installer wmi

Copiez ce code ci-dessus dans le terminal.

Exemple

 #import wmi module import wmi # Initializise the wmi constructor f = wmi.WMI() # Print the header print(&apos;Printing the pid Process name&apos;) # all the running processes for process in f.Win32_Process(): print(f&apos;{process.ProcessId:<5} {process.name}') < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/88/python-win32-process.webp" alt="Python Win32 Process"> <br> <img src="//techcodeview.com/img/python-tutorial/88/python-win32-process-2.webp" alt="Python Win32 Process"> <p>The WMI() function of the wmi library is first initialized. This enables us to access its internal functions, such as WMI.Win32_Service, WMI.Win32_Process, and WMI.Win32_Printjob, each of which is intended to carry out a certain duty. To obtain a list of the system&apos;s active processes, we would use the WMI.Win32_Process function. After that, we iterated through all the running processes and placed them in the variable process by calling the function WMI.Win32_Process(). The corresponding attributes were then used to derive the process&apos;s ProcessID (pid) and ProcessName (name). To add padding to the output and properly align it, we used F-strings for the output.</p> <p>Now let&apos;s go through different methods of module Win32process.</p> <h3>1. STARTUPINFO</h3> <p>In this method, we create a new STARTUPINFO object.</p> <p>Let&apos;s understand how to create this, which is given below:</p> <p>win32process.STARTUPINFO</p> <p>PySTARTUPINFO = STARTUPINFO()</p> <h3>2. beginthreadex</h3> <p>In this method, we create a new thread.</p> <p>Let&apos;s understand how to create this, which is given below:</p> <p>win32process.beginthreadex</p> <p>PyHANDLE, int = beginthreadex(sa, stackSize , entryPoint , args , flags )</p> <p>Let&apos;s understand its parameters is given below</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>sa:</td> PySECURITY_ATTRIBUTES(The security attributes, or None) </tr><tr><td>stackSize :</td> int (The new thread&apos;s stack size, or 0 for the default size.) </tr><tr><td>entryPoint :</td> function (It is a thread function) </tr><tr><td>args :</td> tuple </tr><tr><td>flags :</td> int </tr></ul> <p>CREATE_SUSPENDED is an option for delaying the start of a thread.</p> <p> <strong>The thread handle and thread ID are returned as a tuple as the outcome.</strong> </p> <h3>3. CreateProcess</h3> <p>win32process.CreateProcess PyHANDLE, PyHANDLE, int, int = CreateProcess(appName, commandLine , processAttributes , threadAttributes , bInheritHandles , dwCreationFlags , newEnvironment , currentDirectory , startupinfo ) establishes a new process and the main thread for it. The newly created process runs the designated executable file.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>appName:</td> string (executable module&apos;s name, or None) </tr><tr><td>Commandline:</td> string (command-line argument, or Nothing) </tr><tr><td>processAttributes:</td> PySECURITY_ATTRIBUTES (attributes of process security, or None) </tr><tr><td>threadAttributes:</td> PySECURITY_ATTRIBUTES (aspects of thread security, or None) </tr><tr><td>bInheritHandles:</td> int </tr><tr><td>dwCreationFlags:</td> int </tr></ul> <h3>4. CreateRemoteThread</h3> <p>win32process.CreateRemoteThread PyHANDLE, int = CreateRemoteThread(hprocess, sa , stackSize , entryPoint , Parameter , flags ) establishes a thread that executes in another process&apos;s virtual address space.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hprocess :</td> PyHANDLE (the remote process&apos;s handle) </tr><tr><td>sa :</td> PySECURITY_ATTRIBUTES (Security characteristics, or None) </tr><tr><td>stackSize :</td> int (The new thread&apos;s stack size, or 0 for the default size.) </tr><tr><td>entryPoint :</td> function (The address of the thread function.) </tr><tr><td>Parameter :</td> int (a void pointer that served as the argument given to the function) </tr><tr><td>flags :</td> int </tr></ul> <p>The thread handle and thread ID are returned as a tuple as the outcome.</p> <h3>5. CreateProcessAsUser</h3> <p>win32process.CreateProcessAsUser creates a new process with the provided user as its context.</p> <p>PyHANDLE, PyHANDLE, int, int = CreateProcessAsUser(hToken, appName , commandLine , processAttributes , threadAttributes , bInheritHandles , dwCreationFlags , newEnvironment , currentDirectory , startupinfo )</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hToken:</td> PyHANDLE (Handle to a token that indicates a user who is currently logged in) </tr><tr><td>appName:</td> string (executable module&apos;s name, or None) </tr><tr><td>commandLine:</td> string (command-line argument, or Nothing) </tr><tr><td>processAttributes:</td> PySECURITY_ATTRIBUTES (attributes of process security, or None) </tr><tr><td>threadAttributes:</td> PySECURITY_ATTRIBUTES (aspects of thread security, or None) </tr><tr><td>bInheritHandles:</td> int (the inheritance flag handle) </tr><tr><td>dwCreationFlags:</td> int (creating of flags) </tr><tr><td>newEnvironment:</td> None (A dictionary of stringor Unicode pair definitions to specify the process environment, or None to use the default environment.) </tr><tr><td>currentDirectory:</td> string (name of the current directory, or None) </tr><tr><td>startupinfo:</td> PySTARTUPINFO (a STARTUPINFO object that describes the appearance of the new process&apos;s main window.) </tr></ul> <p> <strong>Consequently, a tuple of (hProcess, hThread, dwProcessId, dwThreadId)</strong> </p> <h3>6. GetCurrentProcess</h3> <p>win32process.GetCurrentProcess obtains a fictitious handle for the active process.</p> <p>int = GetCurrentProcess()</p> <h3>7. GetCurrentProcessId</h3> <p>win32process.GetCurrentProcessId reveals the caller process&apos;s unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>8. GetProcessVersion</h3> <p>win32process.GetProcessVersion reveals the system&apos;s main and minor version numbers, which are needed to conduct a specific process.</p> <p>int = GetProcessVersion(processId)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>processId:</td> int (a designation for the desired process.) </tr></ul> <h3>9. GetCurrentProcessId</h3> <p>win32process.GetCurrentProcessId reveals the caller process&apos;s unique process identification.</p> <p>int = GetCurrentProcessId()</p> <h3>10. GetStartupInfo</h3> <p>win32process.GetStartupInfo reveals the STARTUPINFO structure&apos;s contents, which were supplied when the caller process was established.</p> <p>PySTARTUPINFO = GetStartupInfo()</p> <h3>11. GetPriorityClass</h3> <p>win32process.GetPriorityClass</p> <p>int = GetPriorityClass(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>12. GetExitCodeThread</h3> <p>win32process.GetExitCodeThread</p> <p>int = GetExitCodeThread(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>13. GetExitCodeProcess</h3> <p>win32process.GetExitCodeProcess</p> <p>int = GetExitCodeProcess(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (to the thread&apos;s handle) </tr></ul> <h3>14. GetWindowThreadProcessId</h3> <p>win32process.GetWindowThreadProcessId returns the thread and process IDs that were responsible for the provided window&apos;s creation.</p> <p>int, int = GetWindowThreadProcessId(hwnd)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hwnd:</td> int (this parameter handles the window) </tr></ul> <p> <strong>Consequently, a tuple of (threadId, processId)</strong> </p> <h3>15. SetThreadPriority</h3> <p>win32process.SetThreadPriority</p> <p>SetThreadPriority(handle, nPriority)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (This parameter handles the thread) </tr><tr><td>nPriority:</td> int (This parameter thread the priority level) </tr></ul> <h3>16. GetThreadPriority</h3> <p>win32process.GetThreadPriority</p> <p>int = GetThreadPriority(handle)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (this parameter handles the threads) </tr></ul> <h3>17. GetProcessPriorityBoost</h3> <p>win32process.GetProcessPriorityBoost determines whether a process&apos;s dynamic priority adjustment is enabled.</p> <p>bool = GetProcessPriorityBoost(Process)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles to a process) </tr></ul> <h3>18. SetProcessPriorityBoost</h3> <p>win32process.SetProcessPriorityBoost enables or disables a process&apos;s dynamic priority adjustment.</p> <p>SetProcessPriorityBoost(Process, DisablePriorityBoost)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles a process) </tr><tr><td>DisablePriorityBoost:</td> boolean (This parameter indicates True to disable and False to enable) </tr></ul> <h3>19. GetThreadPriorityBoost</h3> <p>win32process.GetThreadPriorityBoost</p> <p>determines whether a thread&apos;s dynamic priority adjustment is enabled.</p> <p>bool = GetThreadPriorityBoost(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>20. SetThreadPriorityBoost</h3> <p>win32process.SetThreadPriorityBoost enables or disables a thread&apos;s dynamic priority adjustment.</p> <p>SetThreadPriorityBoost(Thread, DisablePriorityBoost)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr><tr><td>DisablePriorityBoost:</td> boolean ((This parameter indicates True to disable and False to enable) </tr></ul> <h3>21. GetThreadIOPendingFlag</h3> <p>win32process.GetThreadIOPendingFlag determines whether a thread has any open IO requests.</p> <p>bool = GetThreadIOPendingFlag(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>22. GetThreadTimes</h3> <p>win32process.GetThreadTimes</p> <p>It returns the time statistics for a thread.</p> <p>dict = GetThreadTimes(Thread)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Thread:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>23. GetProcessId</h3> <p>int = GetProcessId(Process)</p> <p>It returns the Pid for a process handle.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter handles to a thread) </tr></ul> <h3>24. SetPriorityClass</h3> <p>win32process.SetPriorityClass</p> <p>SetPriorityClass(handle, dwPriorityClass)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE (This parameter handles to the process) </tr><tr><td>dwPriorityClass:</td> int (This parameter gives priority class value) </tr></ul> <h3>25. AttachThreadInput</h3> <p>win32process.AttachThreadInput connects and disconnects the input of two threads.</p> <p>AttachThreadInput(idAttach, idAttachTo, Attach)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>idAttach:</td> int (This parameter shows id of a thread) </tr><tr><td>idAttachTo:</td> int (This parameter shows the id of the thread) </tr><tr><td>Attach:</td> bool (determines whether a thread should be joined or disconnected.) </tr></ul> <h3>26. SetThreadIdealProcessor</h3> <p>win32process.SetThreadIdealProcessor</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetThreadIdealProcessor( handle, dwIdealProcessor )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread of interest ) </tr><tr><td>dwIdealProcessor:</td> int ( ideal processor number ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method return the int value</p> <h3>27. GetProcessAffinityMask</h3> <p>win32process.GetProcessAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.GetProcessAffinityMask( hProcess )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( handle to the process of interest ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method returns a tuple of ( process affinity mask, system affinity mask ).</p> <h3>28. SetProcessAffinityMask</h3> <p>win32process.SetProcessAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetProcessAffinityMask( hProcess, mask )</pre> <p>Sets a processor affinity mask for a specified process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( handle to the process of interest ) </tr><tr><td>mask:</td> int ( a processor affinity mask ) </tr></ul> <h4>Note: Some platforms do not have this feature.</h4> <h3>29. SetThreadAffinityMask</h3> <p>win32process.SetThreadAffinityMask</p> <p> <strong>Syntax</strong> </p> <pre>win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hThread:</td> PyHANDLE ( handle to the thread of interest ) </tr><tr><td>ThreadAffinityMask:</td> int ( a processor affinity mask ) </tr></ul> <p> <strong>Return type</strong> </p> <p>This method returns an int value.</p> <h3>30. SuspendThread</h3> <p>win32process.SuspendThread</p> <p> <strong>Syntax</strong> </p> <pre>int = SuspendThread( handle )</pre> <p>Suspends the specified thread.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread ) </tr></ul> <p> <strong>Return value</strong> </p> <p>The return value is the thread&apos;s previous suspend count</p> <h3>31. ResumeThread</h3> <p>win32process.ResumeThread</p> <p> <strong>Syntax</strong> </p> <pre>int = ResumeThread( handle )</pre> <p>Resumes the specified thread. When the suspend count is decremented to zero, the execution of the thread is resumed.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the thread ) </tr></ul> <p> <strong>Return value</strong> </p> <p>The return value is the thread&apos;s previous suspend count</p> <h3>32. TerminateProcess</h3> <p>win32process.TerminateProcess</p> <p> <strong>Syntax</strong> </p> <pre>TerminateProcess( handle, exitCode )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>handle:</td> PyHANDLE ( handle to the process ) </tr><tr><td>exitCode:</td> int ( The exit code for the process ) </tr></ul> <h3>33. xitProcess</h3> <p>win32process.ExitProcess</p> <ul> <tr><td>ExitProcess:</td> The process&apos;s end and all of its threads </tr></ul> <p> <strong>Parameters</strong> </p> <ul> <tr><td>exitCode:</td> int (Exit code information is provided for the process, and all threads that are terminated as a result of this call.) </tr></ul> <p>The best way to stop a process is with ExitProcess. A clean process shutdown is provided by this function. This includes contacting each associated dynamic-link library&apos;s (DLL) entry-point function with a value indicating that the process is separating from the DLL. The DLLs associated with the process are not informed of the process termination if a process terminates by invoking win32process::TerminateProcess.</p> <h3>34. EnumProcesses</h3> <p>win32process.EnumProcesses</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcesses()</pre> <p>Provides Pids for activities that are actually running.</p> <h3>35. EnumProcessModules</h3> <p>win32process.EnumProcessModules</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcessModules( hProcess )</pre> <p>Lists loaded modules for a process handle</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>36. EnumProcessModulesEx</h3> <p>win32process.EnumProcessModulesEx</p> <p> <strong>Syntax</strong> </p> <pre>( long,.... ) = EnumProcessModulesEx( hProcess, FilterFlag )</pre> <p>lists the 32- or 64-bit modules that a process has loaded.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess :</td> PyHANDLE ( The process handle that OpenProcess returned ) FilterFlag=LIST_MODULES_DEFAULT : int ( choose whether to return 32-bit or 64-bit modules. ) needs Windows Vista or later. </tr></ul> <h3>37. GetModuleFileNameEx</h3> <p>win32process.GetModuleFileNameEx</p> <p> <strong>Syntax</strong> </p> <pre>PyUNICODE = GetModuleFileNameEx( hProcess, hModule )</pre> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( The process handle that OpenProcess returned ) </tr><tr><td>hModule:</td> PyHANDLE ( This parameter handles the modules ) </tr></ul> <h3>38. GetProcessMemoryInfo</h3> <p>win32process.GetProcessMemoryInfo</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessMemoryInfo( hProcess )</pre> <p>A dict representing a PROCESS_MEMORY_COUNTERS struct is returned as the process memory statistics.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>39. GetProcessTimes</h3> <p>win32process.GetProcessTimes</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessTimes( hProcess )</pre> <p>Obtain time statistics for a process using its handle. (In 100 nanosecond units for UserTime and KernelTime)</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>40. GetProcessIoCounters</h3> <p>win32process.GetProcessIoCounters</p> <p> <strong>Syntax</strong> </p> <pre>dict = GetProcessIoCounters( hProcess )</pre> <p>I/O statistics for a process are returned as a dictionary corresponding to an IO_COUNTERS struct.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr></ul> <h3>41. GetProcessWindowStation</h3> <p>win32process.GetProcessWindowStation</p> <p> <strong>Syntax</strong> </p> <pre>GetProcessWindowStation()</pre> <p>Returns a handle to the window station for the calling process.</p> <h3>42. GetProcessWorkingSetSize</h3> <p>win32process.GetProcessWorkingSetSize</p> <p> <strong>Syntax</strong> </p> <pre>int,int = GetProcessWorkingSetSize( hProcess )</pre> <p>A process&apos;s minimum and maximum working set sizes are returned.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess:</td> PyHANDLE ( Process handle as returned by win32api::OpenProcess ) </tr></ul> <h3>43. SetProcessWorkingSetSize</h3> <p>win32process.SetProcessWorkingSetSize</p> <p> <strong>Syntax</strong> </p> <pre>SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )</pre> <p>Sets minimum and maximum working set sizes for a process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>hProcess :</td> PyHANDLE ( Process handle as returned by OpenProcess ) </tr><tr><td>MinimumWorkingSetSize :</td> int ( Minimum number of bytes to keep in physical memory ) </tr><tr><td>MaximumWorkingSetSize :</td> int ( Maximum number of bytes to keep in physical memory ) </tr></ul> <h4>NOTE: To entirely swap out the procedure, set both min and max to -1.</h4> <h3>44. GetProcessShutdownParameters</h3> <p>win32process.GetProcessShutdownParameters</p> <p> <strong>Syntax</strong> </p> <pre>int,int = GetProcessShutdownParameters()</pre> <p>Reveals the process&apos;s current termination level and triggers.</p> <p>The range is 000-0FF. windows reserved, Last, 200-2FF Middle, First, 300-3FF, and Fourth, 400-4FF Windows reserves.</p> <h3>45. SetProcessShutdownParameters</h3> <p>win32process.SetProcessShutdownParameters</p> <p> <strong>Syntax</strong> </p> <pre>SetProcessShutdownParameters(Level, Flags)</pre> <p>Sets the process&apos;s flags and termination priority.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Level:</td> int (This parameter shows higher priority equals earlier) </tr><tr><td>Flags:</td> int (This parameter shows only SHUTDOWN NORETRY is valid at the moment). </tr></ul> <p>The range is 000-0FF. 100-1FF Last, 200-2FF Middle, 300-3FF First, 400-4FF, and reserved by windows window reserved.</p> <h3>46. GetGuiResources</h3> <p>win32process.GetGuiResources</p> <p> <strong>Syntax</strong> </p> <pre>int = GetGuiResources(Process, Flags )</pre> <p>Gives the amount of GDI or user object handles that a process is holding.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process:</td> PyHANDLE (This parameter Win32api::OpenProcess&apos;s returned handle to a process) </tr><tr><td>Flags:</td> int (This parameter shows either GR USEROBJECTS or GR GDIOBJECTS (from win32con)) </tr></ul> <h3>47. IsWow64Process</h3> <p>win32process.IsWow64Process</p> <p> <strong>Syntax</strong> </p> <pre>bool = IsWow64Process(Process)</pre> <p>Identifies whether WOW64 is currently running the specified process.</p> <p> <strong>Parameters</strong> </p> <ul> <tr><td>Process=None:</td> PyHANDLE (Process handle returned by win32api::OpenProcess, win32api::GetCurrentProcess, etc.; if None (the default) is given, the current process handle will be used.) </tr></ul> <p>Let&apos;s see its Return Value.</p> <p>The return value is False if the operating system does not provide this function (ie,</p> <p>a NotImplemented exception will never be thrown). However, a</p> <p>win32process.error exception to this is normally thrown if the function is available</p> <p>but ineffective.</p> <h2>Conclusion</h2> <p>In this article, we have discussed Python win32 process. And also, we have discussed the different types of methods and their parameters and return values one by one.</p> <hr></5}>

Paramètres

    poignée:PyHANDLE ( handle du fil de discussion qui vous intéresse )dwIdealProcesseur :int (numéro de processeur idéal)

Type de retour

Cette méthode renvoie la valeur int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Syntaxe

win32process.GetProcessAffinityMask( hProcess )

Paramètres

    hProcessus :PyHANDLE (handle du processus qui vous intéresse)

Type de retour

Cette méthode renvoie un tuple de (masque d'affinité de processus, masque d'affinité système).

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Syntaxe

win32process.SetProcessAffinityMask( hProcess, mask )

Définit un masque d'affinité de processeur pour un processus spécifié.

Paramètres

    hProcessus :PyHANDLE (handle du processus qui vous intéresse)masque:int (un masque d'affinité de processeur)

Remarque : Certaines plates-formes ne disposent pas de cette fonctionnalité.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Syntaxe

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Paramètres

    hThème :PyHANDLE ( handle du fil de discussion qui vous intéresse )Masque d'affinité de fil :int (un masque d'affinité de processeur)

Type de retour

Cette méthode renvoie une valeur int.

30. SuspendThread

win32process.SuspendThread

arborescence

Syntaxe

int = SuspendThread( handle )

Suspend le thread spécifié.

Paramètres

    poignée:PyHANDLE (handle du thread)

Valeur de retour

La valeur de retour est le nombre de suspensions précédent du thread

31. Reprendre le fil de discussion

win32process.ResumeThread

Syntaxe

int = ResumeThread( handle )

Reprend le thread spécifié. Lorsque le nombre de suspensions est décrémenté à zéro, l'exécution du thread reprend.

Paramètres

    poignée:PyHANDLE (handle du thread)

Valeur de retour

La valeur de retour est le nombre de suspensions précédent du thread

32. Terminer le processus

win32process.TerminateProcess

Syntaxe

TerminateProcess( handle, exitCode )

Paramètres

    poignée:PyHANDLE ( handle du processus )Code de sortie :int ( Le code de sortie du processus )

33. xitProcessus

win32process.ExitProcess

    Processus de sortie :La fin du processus et tous ses fils

Paramètres

    Code de sortie :int (Les informations sur le code de sortie sont fournies pour le processus et pour tous les threads terminés à la suite de cet appel.)

La meilleure façon d'arrêter un processus est d'utiliser ExitProcess. Un arrêt propre du processus est assuré par cette fonction. Cela inclut le contact avec la fonction de point d'entrée de chaque bibliothèque de liens dynamiques (DLL) associée avec une valeur indiquant que le processus se sépare de la DLL. Les DLL associées au processus ne sont pas informées de la fin du processus si un processus se termine en appelant win32process :: TerminateProcess.

34. Processus d'énumération

win32process.EnumProcessus

Syntaxe

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

Fournit des Pids pour les activités réellement en cours.

35. EnumProcessModules

win32process.EnumProcessModules

Syntaxe

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

Répertorie les modules chargés pour un descripteur de processus

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntaxe

structures de données Java
( long,.... ) = EnumProcessModulesEx( hProcess, FilterFlag )

répertorie les modules 32 ou 64 bits chargés par un processus.

Paramètres

    hProcessus :PyHANDLE (le descripteur de processus renvoyé par OpenProcess) FilterFlag=LIST_MODULES_DEFAULT : int (choisissez si vous souhaitez renvoyer des modules 32 bits ou 64 bits.) nécessite Windows Vista ou une version ultérieure.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntaxe

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Paramètres

    hProcessus :PyHANDLE ( Le descripteur de processus renvoyé par OpenProcess )hModule :PyHANDLE ( Ce paramètre gère les modules )

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntaxe

dict = GetProcessMemoryInfo( hProcess )

Un dict représentant une structure PROCESS_MEMORY_COUNTERS est renvoyé en tant que statistiques de mémoire de processus.

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Syntaxe

dict = GetProcessTimes( hProcess )

Obtenez des statistiques de temps pour un processus à l’aide de son handle. (En unités de 100 nanosecondes pour UserTime et KernelTime)

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntaxe

dict = GetProcessIoCounters( hProcess )

Les statistiques d'E/S pour un processus sont renvoyées sous forme de dictionnaire correspondant à une structure IO_COUNTERS.

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntaxe

GetProcessWindowStation()

Renvoie un handle à la station Windows pour le processus appelant.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntaxe

int,int = GetProcessWorkingSetSize( hProcess )

Les tailles minimales et maximales de l’ensemble de travail d’un processus sont renvoyées.

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntaxe

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Définit les tailles minimales et maximales des ensembles de travail pour un processus.

Paramètres

    hProcessus :PyHANDLE (descripteur de processus tel que renvoyé par OpenProcess)Taille minimale de l'ensemble de travail :int ( Nombre minimum d'octets à conserver dans la mémoire physique )Taille maximale de l'ensemble de travail :int ( Nombre maximum d'octets à conserver dans la mémoire physique )

REMARQUE : Pour remplacer complètement la procédure, définissez min et max sur -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Syntaxe

int,int = GetProcessShutdownParameters()

Révèle le niveau de terminaison actuel du processus et les déclencheurs.

La plage est 000-0FF. fenêtres réservées, dernier, 200-2FF milieu, premier, 300-3FF et quatrième, 400-4FF réserves Windows.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Syntaxe

qu'est-ce que l'uri
SetProcessShutdownParameters(Level, Flags)

Définit les indicateurs et la priorité de fin du processus.

Paramètres

    Niveau:int (Ce paramètre montre une priorité plus élevée égale à plus tôt)Drapeaux :int (Ce paramètre montre que seul SHUTDOWN NORETRY est valide pour le moment).

La plage est 000-0FF. 100-1FF Last, 200-2FF Middle, 300-3FF First, 400-4FF et réservé par la fenêtre Windows réservée.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntaxe

int = GetGuiResources(Process, Flags )

Donne la quantité de handles GDI ou d’objet utilisateur qu’un processus détient.

Paramètres

    Processus:PyHANDLE (ce paramètre Win32api :: OpenProcess a renvoyé le handle à un processus)Drapeaux :int (Ce paramètre affiche soit GR USEROBJECTS, soit GR GDIOBJECTS (de win32con))

47. IsWow64Process

win32process.IsWow64Process

Syntaxe

bool = IsWow64Process(Process)

Identifie si WOW64 exécute actuellement le processus spécifié.

Paramètres

    Processus=Aucun :PyHANDLE (Descripteur de processus renvoyé par win32api::OpenProcess, win32api::GetCurrentProcess, etc. ; si Aucun (valeur par défaut) est indiqué, le descripteur de processus actuel sera utilisé.)

Voyons sa valeur de retour.

La valeur de retour est False si le système d'exploitation ne fournit pas cette fonction (c'est-à-dire,

une exception NotImplemented ne sera jamais levée). Cependant, un

L'exception win32process.error à ceci est normalement levée si la fonction est disponible

mais inefficace.

Conclusion

Dans cet article, nous avons discuté du processus Python win32. Et aussi, nous avons discuté des différents types de méthodes et de leurs paramètres et valeurs de retour un par un.