logo

Процес Python Win32

У цій статті ми обговоримо процес Python win32. А також ми обговоримо його методи по черзі.

По суті, процес Win32 — це метод у Python. Через цей модуль доступні розширені можливості створення процесів Win32 і керування ними. Метод Create створює об’єкти процесу (конструктор). Можна вимикати, призупиняти, відновлювати та встановлювати пріоритет процесів на об’єктах за допомогою додаткових методів.

Інструмент керування Windows (WMI; раніше WBEM) і розширення WMI для моделі драйверів Windows служать основою для керованості в Windows 2019/2016/2012/2008 і Windows 10/7/XP (WDM).

Можливість створювати процедури перевірки монітора на основі WMI пропонує ActiveXperts Network Monitor. ActiveXperts зібрала більше сотні зразків WMI. Ці приклади можуть слугувати відправною точкою для абсолютно нових процедур перевірки, які ви створюєте самостійно.

Багато зразків WMI доступні на цьому веб-сайті.

Монітор мережі ActiveXperts використовує клас WMI Win32_Process для моніторингу серверів.

Серія подій в операційній системі Windows представлена ​​класом Win32_Process WMI. Послідовність, яка передбачає взаємодію одного або кількох процесорів або інтерпретаторів, деякого виконуваного коду та набору вхідних даних, наприклад клієнтської програми, що виконується в системі Windows, є нащадком або членом цього класу.

Тепер виникає питання що таке Python win32?

Отже, можливості Python win32 і Win32 інтерфейсу прикладного програмування (API) можна використовувати з Python за допомогою бібліотеки розширень PyWin32 для Windows.

Давайте зробимо невеликий вступ до Модуль win32api.

Модуль win32api пропонує різні додаткові методи для керування процесами. Вони дають вам можливість виконувати багато звичайних кроків, необхідних для запуску нових процесів, але вони все одно не можуть запропонувати найвищий рівень низькорівневого контролю.

На відміну від функції os.system, яка пояснювалася раніше, функція WinExec робить різні пристосування для програм GUI. Наприклад, консоль не встановлено, і функція не чекає завершення нового процесу.

Для функції потрібні ці два входи:

рядок json java
  • Наказ виконати
  • Або початковий стан вікна програми

Давайте зробимо невеликий вступ до win32api.ShellExecute.

Крім того, модуль win32api пропонує ще одну корисну функцію для запуску нових процесів. На відміну від запуску випадкових процесів, відкриття документів є основною метою функції ShellExecute. Ви можете наказати ShellExecute «відкрити MyDocument.doc», наприклад. Windows вибирає, який процес запустити від вашого імені, щоб відкрити файли .doc. Клацання (або подвійне клацання) на файлі a.doc змушує Провідник Windows виконувати ту саму дію.

Програма, яка виконується, називається процесом (обробленим). Процес необов’язково запускається користувачем вручну; натомість це може бути системний процес, який породжує операційна система. Будь-яка програма, яка працює в операційній системі, повинна спочатку створити окремий процес, перш ніж вона зможе почати працювати. Більшість процесів у типовій інсталяції ОС — це фонові програми та служби операційної системи, які використовуються для підтримки апаратного, програмного забезпечення та операційної системи в хорошому робочому стані.

У цьому дописі буде розглянуто кілька альтернативних методів Python для отримання списку поточних активних процесів ОС Windows.

Щоб отримати бажаний результат, ми спочатку опишемо метод Python. Потім ми розглянемо команду з командного процесора Windows, щоб виконати те саме.

pip встановити wmi

Скопіюйте цей код вище в термінал.

приклад

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

Параметри

    ручка:PyHANDLE (дескриптор цікавого потоку)dwIdealProcessor:int (ідеальний номер процесора)

Тип повернення

Цей метод повертає значення int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Синтаксис

win32process.GetProcessAffinityMask( hProcess )

Параметри

    hProcess:PyHANDLE (дескриптор цікавого процесу)

Тип повернення

Цей метод повертає кортеж (маска спорідненості процесу, маска спорідненості системи).

28. ВстановитиProcessAffinityMask

win32process.SetProcessAffinityMask

Синтаксис

win32process.SetProcessAffinityMask( hProcess, mask )

Встановлює маску спорідненості процесора для вказаного процесу.

Параметри

    hProcess:PyHANDLE (дескриптор цікавого процесу)маска:int (маска спорідненості процесора)

Примітка. Деякі платформи не мають цієї функції.

29. Встановіть ThreadAffinityMask

win32process.SetThreadAffinityMask

Синтаксис

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Параметри

    hThread:PyHANDLE (дескриптор цікавого потоку)ThreadAffinityMask:int (маска спорідненості процесора)

Тип повернення

Цей метод повертає значення int.

Шрі Рамануджан

30. Призупинити нитку

win32process.SuspendThread

Синтаксис

int = SuspendThread( handle )

Призупиняє вказаний потік.

Параметри

    ручка:PyHANDLE (дескриптор потоку)

Повернене значення

Повернене значення — це кількість попередніх призупинень потоку

31. ResumeThread

win32process.ResumeThread

Синтаксис

int = ResumeThread( handle )

Відновлює вказаний потік. Коли лічильник призупинення зменшується до нуля, виконання потоку відновлюється.

Параметри

    ручка:PyHANDLE (дескриптор потоку)

Повернене значення

Повернене значення — це кількість попередніх призупинень потоку

32. Завершити процес

win32process.TerminateProcess

Синтаксис

TerminateProcess( handle, exitCode )

Параметри

    ручка:PyHANDLE (дескриптор процесу)код виходу:int (Код виходу для процесу)

33. xitProcess

win32process.ExitProcess

місцева дата
    ExitProcess:Кінець процесу та всі його потоки

Параметри

    код виходу:int (інформація про код виходу надається для процесу та всіх потоків, які завершуються в результаті цього виклику.)

Найкращий спосіб зупинити процес — це ExitProcess. Ця функція забезпечує чисте завершення процесу. Це включає звернення до функції точки входу кожної пов’язаної бібліотеки динамічних посилань (DLL) зі значенням, яке вказує, що процес відокремлюється від DLL. DLL-файли, пов’язані з процесом, не повідомляються про завершення процесу, якщо процес завершується викликом win32process::TerminateProcess.

34. EnumProcesses

win32process.EnumProcesses

Синтаксис

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

Надає Pids для дій, які фактично виконуються.

35. EnumProcessModules

win32process.EnumProcessModules

Синтаксис

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

Перераховує завантажені модулі для опису процесу

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повертає OpenProcess)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Синтаксис

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

містить список 32- або 64-розрядних модулів, які завантажив процес.

Параметри

    hProcess :PyHANDLE ( дескриптор процесу, який повернув OpenProcess ) FilterFlag=LIST_MODULES_DEFAULT : int ( виберіть, повертати 32-розрядні чи 64-розрядні модулі. ) потрібна Windows Vista або пізнішої версії.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Синтаксис

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повернув OpenProcess)hModule:PyHANDLE (цей параметр обробляє модулі)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Синтаксис

dict = GetProcessMemoryInfo( hProcess )

Dict, що представляє структуру PROCESS_MEMORY_COUNTERS, повертається як статистика пам’яті процесу.

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повертає OpenProcess)

39. GetProcessTimes

win32process.GetProcessTimes

Синтаксис

dict = GetProcessTimes( hProcess )

Отримати статистику часу для процесу за допомогою його дескриптора. (У 100 наносекундах для UserTime і KernelTime)

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повертає OpenProcess)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Синтаксис

dict = GetProcessIoCounters( hProcess )

Статистика введення/виведення для процесу повертається як словник, що відповідає структурі IO_COUNTERS.

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повертає OpenProcess)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Синтаксис

GetProcessWindowStation()

Повертає дескриптор віконної станції для процесу виклику.

скільки міст в США

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Синтаксис

int,int = GetProcessWorkingSetSize( hProcess )

Повертається мінімальний і максимальний робочі розміри набору процесу.

Параметри

    hProcess:PyHANDLE (дескриптор процесу, який повертає win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Синтаксис

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Встановлює мінімальний і максимальний розмір робочого набору для процесу.

Параметри

    hProcess :PyHANDLE (дескриптор процесу, який повертає OpenProcess)MinimumWorkingSetSize :int (мінімальна кількість байтів у фізичній пам'яті)MaximumWorkingSetSize :int (Максимальна кількість байтів для збереження у фізичній пам'яті)

ПРИМІТКА. Щоб повністю замінити процедуру, встановіть для min і max значення -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Синтаксис

int,int = GetProcessShutdownParameters()

Показує поточний рівень завершення процесу та тригери.

Діапазон 000-0FF. вікна зарезервовані, останній, 200-2FF середній, перший, 300-3FF і четвертий, 400-4FF резервні вікна.

45. Встановіть параметри завершення процесу

win32process.SetProcessShutdownParameters

Синтаксис

SetProcessShutdownParameters(Level, Flags)

Встановлює прапори процесу та пріоритет завершення.

Параметри

    рівень:int (цей параметр показує, що вищий пріоритет дорівнює раніше)Прапори:int (цей параметр показує, що на даний момент дійсна лише SHUTDOWN NORETRY).

Діапазон 000-0FF. 100-1FF Останній, 200-2FF Середній, 300-3FF Перший, 400-4FF і зарезервовано за вікном Windows.

46. ​​GetGuiResources

win32process.GetGuiResources

Синтаксис

int = GetGuiResources(Process, Flags )

Дає кількість обробок GDI або об’єкта користувача, які зберігає процес.

Параметри

    Процес:PyHANDLE (цей параметр Win32api::OpenProcess повертає дескриптор процесу)Прапори:int (цей параметр показує GR USEROBJECTS або GR GDIOBJECTS (з win32con))

47. IsWow64Process

win32process.IsWow64Process

Синтаксис

bool = IsWow64Process(Process)

Визначає, чи WOW64 зараз виконує вказаний процес.

Параметри

    Процес=Немає:PyHANDLE (дескриптор процесу, повернутий win32api::OpenProcess, win32api::GetCurrentProcess тощо; якщо вказано None (за замовчуванням), використовуватиметься поточний дескриптор процесу.)

Давайте подивимося його значення, що повертається.

numpy унікальний

Повертається значення False, якщо операційна система не підтримує цю функцію (тобто

виняток NotImplemented ніколи не буде створено). Проте, а

Виняток win32process.error зазвичай створюється, якщо функція доступна

але неефективно.

Висновок

У цій статті ми обговорили процес Python win32. Крім того, ми обговорили різні типи методів та їхні параметри та значення, що повертаються, один за іншим.