logo

Proces Python Win32

V tomto článku budeme diskutovat o procesu Python win32. A také budeme diskutovat o jeho metodách jeden po druhém.

V zásadě je proces Win32 metodou v Pythonu. Prostřednictvím tohoto modulu jsou dostupné rozšířené možnosti vytváření a správy procesů Win32. Metoda Create vytváří objekty procesu (konstruktor). Je možné ukončit, pozastavit, obnovit a nastavit prioritu procesů na objektech pomocí dalších metod.

programování stdin c

Rozšíření Windows Management Instrumentation (WMI; dříve WBEM) a WMI pro model Windows Driver Model slouží jako základy pro správu ve Windows 2019/2016/2012/2008 a Windows 10/7/XP (WDM).

Schopnost vytvářet procedury kontroly monitoru založené na WMI nabízí ActiveXperts Network Monitor. ActiveXperts shromáždil více než sto vzorků WMI. Tyto příklady mohou sloužit jako výchozí bod pro zcela nové kontrolní rutiny, které si sami vytvoříte.

Na této webové stránce je k dispozici mnoho ukázek WMI.

Sledování sítě ActiveXperts používá ke sledování serverů třídu WMI Win32_Process.

Sérii událostí v operačním systému Windows představuje třída WMI Win32_Process. Sekvence, která zahrnuje interakci jednoho nebo více procesorů nebo interpretů, nějakého spustitelného kódu a sady vstupů, jako je klientský program běžící na systému Windows, je potomkem nebo členem této třídy.

Nyní vyvstává otázka co je Python win32?

Schopnosti Python win32 a Win32 aplikačního programovacího rozhraní (API) lze tedy používat s Pythonem pomocí knihovny rozšíření PyWin32 pro Windows.

Vezměme si malý úvod do modul win32api.

Modul win32api nabízí různé extra metody pro řízení procesů. Ty vám dávají možnost provádět mnoho obvyklých kroků potřebných ke spuštění nových procesů, ale stále nedosahují nejvyšší úrovně řízení na nízké úrovni.

Na rozdíl od funkce os.system, která byla vysvětlena dříve, funkce WinExec umožňuje různá přizpůsobení pro programy GUI. Například není vytvořena žádná konzola a funkce nečeká na dokončení nového procesu.

Funkce vyžaduje tyto dva vstupy:

  • Příkaz k provedení
  • Případně počáteční stav okna aplikace

Vezměme si malý úvod do win32api.ShellExecute.

Modul win32api navíc nabízí další přínosnou funkci pro spouštění nových procesů. Na rozdíl od spouštění náhodných procesů je hlavním účelem funkce ShellExecute otevírání dokumentů. Můžete dát ShellExecute pokyn, aby například „otevřel MyDocument.doc“. Systém Windows zvolí, který proces se spustí vaším jménem, ​​aby bylo možné otevřít soubory open.doc. Kliknutí (nebo dvojité kliknutí) na soubor a.doc způsobí, že Průzkumník Windows provede stejnou akci.

Program, který je spuštěn, se nazývá proces (zpracovaný). Proces nemusí být ten, který uživatel spouští ručně; místo toho to může být systémový proces, který spustí operační systém. Každý program, který běží na operačním systému, musí nejprve vygenerovat samostatný proces, než může začít fungovat. Většina procesů v typické instalaci operačního systému jsou programy na pozadí a služby operačního systému, které se používají k udržení hardwaru, softwaru a operačního systému v dobrém provozním stavu.

Tento příspěvek se podívá na několik alternativních metod Pythonu pro získání seznamu aktuálně aktivních procesů operačního systému Windows.

Abychom dosáhli požadovaného výsledku, nejprve popíšeme metodu Pythonu. Poté prozkoumáme příkaz z příkazového procesoru Windows, abychom dosáhli stejné věci.

pip install wmi

Zkopírujte tento výše uvedený kód do terminálu.

Příklad

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

Parametry

    Rukojeť:PyHANDLE ( úchyt k vláknu , které vás zajímá )dwIdealProcessor:int (ideální číslo procesoru)

Návratový typ

Tato metoda vrací hodnotu int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Syntax

win32process.GetProcessAffinityMask( hProcess )

Parametry

    hProcess:PyHANDLE (zpracovat proces zájmu)

Návratový typ

Tato metoda vrací n-tici ( maska ​​afinity procesu, maska ​​afinity systému ).

28. NastavteProcessAffinityMask

win32process.SetProcessAffinityMask

Syntax

win32process.SetProcessAffinityMask( hProcess, mask )

Nastaví masku afinity procesoru pro zadaný proces.

Parametry

    hProcess:PyHANDLE (zpracovat proces zájmu)maska:int (maska ​​afinity procesoru)

Poznámka: Některé platformy tuto funkci nemají.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Syntax

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametry

    hVlákno:PyHANDLE ( úchyt k vláknu , které vás zajímá )ThreadAffinityMask:int (maska ​​afinity procesoru)

Návratový typ

Tato metoda vrací hodnotu int.

30. SuspendThread

win32process.SuspendThread

Syntax

int = SuspendThread( handle )

Pozastaví zadané vlákno.

Parametry

    Rukojeť:PyHANDLE ( rukojeť k vláknu )

Návratová hodnota

Návratová hodnota je počet předchozích pozastavení vlákna

31. ResumeThread

win32process.ResumeThread

Syntax

int = ResumeThread( handle )

Obnoví zadané vlákno. Když se počet pozastavení sníží na nulu, provádění vlákna se obnoví.

Parametry

    Rukojeť:PyHANDLE ( rukojeť k vláknu )

Návratová hodnota

Návratová hodnota je počet předchozích pozastavení vlákna

32. Ukončení procesu

win32process.TerminateProcess

Syntax

TerminateProcess( handle, exitCode )

Parametry

    Rukojeť:PyHANDLE (zpracovat proces)výstupní kód:int ( výstupní kód pro proces )

33. xitProces

win32process.ExitProcess

    ExitProcess:Konec procesu a všechna jeho vlákna

Parametry

    výstupní kód:int (Pro proces a všechna vlákna, která jsou ukončena v důsledku tohoto volání, jsou poskytovány informace o výstupním kódu.)

Nejlepší způsob, jak zastavit proces, je ExitProcess. Tato funkce zajišťuje čisté ukončení procesu. To zahrnuje kontaktování funkce vstupního bodu každé přidružené dynamické knihovny (DLL) s hodnotou označující, že se proces odděluje od knihovny DLL. Knihovny DLL přidružené k procesu nejsou informovány o ukončení procesu, pokud se proces ukončí vyvoláním win32process::TerminateProcess.

34. EnumProcesses

win32process.EnumProcesses

Syntax

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

Poskytuje Pids pro aktivity, které skutečně běží.

35. EnumProcessModules

win32process.EnumProcessModules

Syntax

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

Vypisuje načtené moduly pro popisovač procesu

Parametry

    hProcess:PyHANDLE ( popisovač procesu vrácený OpenProcess )

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntax

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

uvádí 32bitové nebo 64bitové moduly, které proces načetl.

Parametry

    hProcess:PyHANDLE ( Popisovač procesu, který OpenProcess vrátil ) FilterFlag=LIST_MODULES_DEFAULT : int (zvolte, zda chcete vrátit 32bitové nebo 64bitové moduly. ) potřebuje Windows Vista nebo novější.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntax

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametry

    hProcess:PyHANDLE ( popisovač procesu , který OpenProcess vrátil )hModul:PyHANDLE ( Tento parametr zpracovává moduly )

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntax

dict = GetProcessMemoryInfo( hProcess )

Jako statistika paměti procesu je vrácen diktát představující strukturu PROCESS_MEMORY_COUNTERS.

Parametry

    hProcess:PyHANDLE ( popisovač procesu vrácený OpenProcess )

39. GetProcessTimes

win32process.GetProcessTimes

Syntax

dict = GetProcessTimes( hProcess )

Získejte časové statistiky pro proces pomocí jeho popisovače. (V jednotkách 100 nanosekund pro UserTime a KernelTime)

Parametry

    hProcess:PyHANDLE ( popisovač procesu vrácený OpenProcess )

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntax

dict = GetProcessIoCounters( hProcess )

Statistiky I/O pro proces jsou vráceny jako slovník odpovídající struktuře IO_COUNTERS.

Parametry

    hProcess:PyHANDLE ( popisovač procesu vrácený OpenProcess )

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntax

GetProcessWindowStation()

Vrátí popisovač stanici okna pro volající proces.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntax

int,int = GetProcessWorkingSetSize( hProcess )

Jsou vráceny minimální a maximální velikosti pracovních sad procesu.

Parametry

    hProcess:PyHANDLE (Popisovač procesu vrácený win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntax

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Nastavuje minimální a maximální velikosti pracovních sad pro proces.

Logika 1. řádu

Parametry

    hProcess:PyHANDLE ( popisovač procesu vrácený OpenProcess )Minimální velikost pracovní sady:int ( Minimální počet bajtů pro uchování ve fyzické paměti )MaximumWorkingSetSize:int ( Maximální počet bajtů , které mají být ve fyzické paměti )

POZNÁMKA: Chcete-li postup zcela zaměnit, nastavte min i max na -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Syntax

int,int = GetProcessShutdownParameters()

Odhalí aktuální úroveň ukončení procesu a spouští.

Rozsah je 000-0FF. okna vyhrazena, poslední, 200-2FF Střední, První, 300-3FF a Čtvrtá, 400-4FF Windows rezervy.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Syntax

SetProcessShutdownParameters(Level, Flags)

Nastavuje příznaky procesu a prioritu ukončení.

Parametry

    Úroveň:int (Tento parametr ukazuje vyšší prioritu rovná se dřívější)Příznaky:int (Tento parametr ukazuje, že je momentálně platné pouze VYPNUTÍ NORETRY).

Rozsah je 000-0FF. 100-1FF Poslední, 200-2FF Střední, 300-3FF První, 400-4FF a rezervováno oknem okna vyhrazena.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntax

int = GetGuiResources(Process, Flags )

Udává množství GDI nebo uživatelských objektů, které proces drží.

Parametry

    Proces:PyHANDLE (Tento parametr Win32api::OpenProcess vrátil popisovač procesu)Příznaky:int (Tento parametr zobrazuje buď GR USEROBJECTS nebo GR GDIOBJECTS (z win32con))

47. Proces IsWow64

win32process.IsWow64Process

Syntax

bool = IsWow64Process(Process)

Identifikuje, zda WOW64 aktuálně běží zadaný proces.

Parametry

    Proces=Žádný:PyHANDLE (Popisovač procesu vrácený win32api::OpenProcess, win32api::GetCurrentProcess atd.; pokud je zadáno Žádné (výchozí), použije se aktuální popisovač procesu.)

Podívejme se na jeho návratovou hodnotu.

Vrácená hodnota je False, pokud operační systém tuto funkci neposkytuje (tj.

výjimka NotImplemented nebude nikdy vyvolána). Nicméně, a

Výjimka win32process.error je normálně vyvolána, pokud je funkce dostupná

ale neúčinné.

Závěr

V tomto článku jsme diskutovali o procesu Python win32. A také jsme diskutovali o různých typech metod a jejich parametrech a návratových hodnotách jednu po druhé.