logo

Proces Python Win32

V tomto článku budeme diskutovať o procese Python win32. A tiež budeme diskutovať o jeho metódach jeden po druhom.

Proces Win32 je v podstate metóda v Pythone. Prostredníctvom tohto modulu sú dostupné rozšírené možnosti tvorby a správy procesov Win32. Metóda Create vytvára procesné objekty (konštruktor). Je možné zabiť, pozastaviť, obnoviť a nastaviť prioritu procesov na objektoch pomocou ďalších metód.

Rozšírenia Windows Management Instrumentation (WMI; predtým WBEM) a WMI pre model ovládačov Windows slúžia ako základy spravovateľnosti v systémoch Windows 2019/2016/2012/2008 a Windows 10/7/XP (WDM).

Schopnosť vytvárať procedúry kontroly monitora založené na WMI ponúka ActiveXperts Network Monitor. ActiveXperts zhromaždil viac ako sto vzoriek WMI. Tieto príklady môžu slúžiť ako východiskový bod pre úplne nové kontrolné postupy, ktoré si vytvoríte sami.

Na tejto webovej lokalite je k dispozícii veľa ukážok WMI.

ActiveXperts Network Monitor používa triedu WMI Win32_Process na monitorovanie vašich serverov.

Séria udalostí v operačnom systéme Windows je reprezentovaná triedou WMI Win32_Process. Sekvencia, ktorá zahŕňa interakciu jedného alebo viacerých procesorov alebo interpretov, niektorého spustiteľného kódu a množiny vstupov, ako je napríklad klientsky program bežiaci na systéme Windows, je potomkom alebo členom tejto triedy.

Teraz vyvstáva otázka čo je Python win32?

Takže možnosti rozhrania Python win32 a Win32 aplikačného programovacieho rozhrania (API) možno použiť s Pythonom pomocou knižnice rozšírení PyWin32 pre Windows.

Urobme si malý úvod do modul win32api.

Modul win32api ponúka rôzne extra metódy riadenia procesov. Tie vám dávajú možnosť vykonať mnoho zvyčajných krokov potrebných na spustenie nových procesov, no stále nedosahujú najvyššiu úroveň nízkoúrovňového riadenia.

Na rozdiel od funkcie os.system, ktorá bola vysvetlená vyššie, funkcia WinExec vytvára rôzne prispôsobenia pre programy GUI. Napríklad nie je vytvorená žiadna konzola a funkcia nečaká, kým sa dokončí nový proces.

Funkcia vyžaduje tieto dva vstupy:

  • Príkaz vykonať
  • Prípadne počiatočný stav okna aplikácie

Urobme si malý úvod do win32api.ShellExecute.

Okrem toho modul win32api ponúka ďalšiu výhodnú funkciu pre spúšťanie nových procesov. Na rozdiel od spúšťania náhodných procesov je hlavným účelom funkcie ShellExecute otváranie dokumentov. ShellExecute môžete dať pokyn, aby napríklad „otvoril súbor MyDocument.doc“. Systém Windows vyberie, ktorý proces sa spustí vo vašom mene, aby bolo možné otvoriť súbory open.doc. Kliknutie (alebo dvojité kliknutie) na súbor a.doc spôsobí, že Windows Explorer vykoná rovnakú akciu.

Program, ktorý je spustený, sa označuje ako proces (spracovaný). Proces nemusí byť ten, ktorý používateľ spúšťa manuálne; namiesto toho to môže byť systémový proces, ktorý operačný systém vytvorí. Každý program, ktorý beží na operačnom systéme, musí najskôr vygenerovať samostatný proces, aby mohol začať fungovať. Väčšina procesov v typickej inštalácii OS sú programy na pozadí a služby operačného systému, ktoré sa používajú na udržanie hardvéru, softvéru a operačného systému v dobrom prevádzkovom stave.

Tento príspevok sa pozrie na niekoľko alternatívnych metód Pythonu na získanie zoznamu aktuálne aktívnych procesov operačného systému Windows.

Aby sme dosiahli požadovaný výsledok, najprv opíšeme metódu Pythonu. Potom preskúmame príkaz z príkazového procesora Windows, aby sme dosiahli to isté.

pip install wmi

Skopírujte tento vyššie uvedený kód do terminálu.

Prí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}>

Parametre

    zvládnuť:PyHANDLE ( rukoväť k vláknu , ktoré vás zaujíma )dwIdealProcessor:int (ideálne číslo procesora)

Návratový typ

Táto metóda vráti hodnotu int

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

je špeciálna postava

Syntax

win32process.GetProcessAffinityMask( hProcess )

Parametre

    hProcess:PyHANDLE (ovládať proces záujmu)

Návratový typ

Táto metóda vráti n-ticu ( maska ​​afinity procesu, maska ​​afinity systému ).

28. NastavteProcessAffinityMask

win32process.SetProcessAffinityMask

Syntax

win32process.SetProcessAffinityMask( hProcess, mask )

Nastavuje masku afinity procesora pre zadaný proces.

Parametre

    hProcess:PyHANDLE (ovládať proces záujmu)maska:int (maska ​​afinity procesora)

Poznámka: Niektoré platformy túto funkciu nemajú.

29. NastavteThreadAffinityMask

win32process.SetThreadAffinityMask

Syntax

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametre

    hThread:PyHANDLE ( rukoväť k vláknu , ktoré vás zaujíma )ThreadAffinityMask:int (maska ​​afinity procesora)

Návratový typ

Táto metóda vráti hodnotu int.

30. SuspendThread

win32process.SuspendThread

Syntax

int = SuspendThread( handle )

Pozastaví zadané vlákno.

Parametre

    zvládnuť:PyHANDLE (rukoväť k vláknu)

Návratová hodnota

java swing tutoriál

Návratová hodnota je počet predchádzajúcich pozastavení vlákna

31. ResumeThread

win32process.ResumeThread

Syntax

int = ResumeThread( handle )

Obnoví zadané vlákno. Keď sa počet pozastavení zníži na nulu, vykonávanie vlákna sa obnoví.

Parametre

    zvládnuť:PyHANDLE (rukoväť k vláknu)

Návratová hodnota

Návratová hodnota je počet predchádzajúcich pozastavení vlákna

32. Ukončiť Proces

win32process.TerminateProcess

Syntax

TerminateProcess( handle, exitCode )

Parametre

    zvládnuť:PyHANDLE (ovládač procesu)exitCode:int ( kód ukončenia procesu )

33. xitProces

win32process.ExitProcess

    Proces ukončenia:Koniec procesu a všetky jeho vlákna

Parametre

    exitCode:int (Informácie o výstupnom kóde sú poskytnuté pre proces a všetky vlákna, ktoré sú ukončené v dôsledku tohto volania.)

Najlepší spôsob, ako zastaviť proces, je ExitProcess. Táto funkcia zabezpečuje čisté vypnutie procesu. To zahŕňa kontaktovanie funkcie vstupného bodu každej pridruženej dynamickej knižnice (DLL) s hodnotou označujúcou, že proces sa oddeľuje od knižnice DLL. DLL priradené k procesu nie sú informované o ukončení procesu, ak sa proces ukončí vyvolaním win32process::TerminateProcess.

34. EnumProcesses

win32process.EnumProcesses

Syntax

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

Poskytuje Pids pre aktivity, ktoré skutočne prebiehajú.

35. EnumProcessModules

win32process.EnumProcessModules

Syntax

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

Uvádza zoznam načítaných modulov pre popisovač procesu

Parametre

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

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Syntax

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

uvádza zoznam 32- alebo 64-bitových modulov, ktoré proces načítal.

Parametre

    hProcess:PyHANDLE ( Handle procesu, ktorý OpenProcess vrátil ) FilterFlag=LIST_MODULES_DEFAULT : int (vyberte, či chcete vrátiť 32-bitové alebo 64-bitové moduly. ) potrebuje Windows Vista alebo novší.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Syntax

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametre

    hProcess:PyHANDLE ( popisovač procesu , ktorý vrátil OpenProcess )hModul:PyHANDLE (Tento parameter obsluhuje moduly)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Syntax

dict = GetProcessMemoryInfo( hProcess )

Ako štatistika pamäte procesu sa vráti diktát predstavujúci štruktúru PROCESS_MEMORY_COUNTERS.

Parametre

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

39. GetProcessTimes

win32process.GetProcessTimes

Syntax

dict = GetProcessTimes( hProcess )

Získajte časové štatistiky pre proces pomocou jeho handle. (V 100 nanosekundových jednotkách pre UserTime a KernelTime)

Parametre

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

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Syntax

dict = GetProcessIoCounters( hProcess )

I/O štatistiky pre proces sa vrátia ako slovník zodpovedajúci štruktúre IO_COUNTERS.

Parametre

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

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Syntax

GetProcessWindowStation()

Vráti popisovač do okennej stanice pre proces volania.

negácia diskrétna matematika

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Syntax

int,int = GetProcessWorkingSetSize( hProcess )

Vrátia sa minimálna a maximálna veľkosť pracovnej sady procesu.

Parametre

    hProcess:PyHANDLE ( popisovač procesu, ako ho vrátil win32api::OpenProcess )

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Syntax

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Nastavuje minimálnu a maximálnu veľkosť pracovnej sady pre proces.

Parametre

    hProcess:PyHANDLE ( popisovač procesu vrátený OpenProcess )Minimálna veľkosť pracovnej sady:int ( Minimálny počet bajtov na uchovanie vo fyzickej pamäti )MaximumWorkingSetSize:int ( Maximálny počet bajtov na uchovanie vo fyzickej pamäti )

POZNÁMKA: Ak chcete úplne zmeniť postup, nastavte minimálnu aj maximálnu hodnotu na -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Syntax

int,int = GetProcessShutdownParameters()

Odhaľuje aktuálnu úroveň ukončenia procesu a spúšťa.

Rozsah je 000-0FF. okná vyhradené, posledné, 200-2FF Stredné, prvé, 300-3FF a štvrté, 400-4FF rezervy Windows.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Syntax

matematické metódy v Jave
SetProcessShutdownParameters(Level, Flags)

Nastavuje príznaky procesu a prioritu ukončenia.

Parametre

    Úroveň:int (Tento parameter zobrazuje vyššiu prioritu rovná sa skôr)Vlajky:int (Tento parameter ukazuje, že momentálne je platné iba VYPNUTIE NORETRY).

Rozsah je 000-0FF. 100-1FF Posledný, 200-2FF Stred, 300-3FF Prvý, 400-4FF a rezervované oknom Windows rezervované.

46. ​​GetGuiResources

win32process.GetGuiResources

Syntax

int = GetGuiResources(Process, Flags )

Poskytuje množstvo GDI alebo používateľských objektov, ktoré proces drží.

Parametre

    Proces:PyHANDLE (Tento parameter Win32api::OpenProcess vrátil popisovač procesu)Vlajky:int (Tento parameter zobrazuje buď GR USEROBJECTS alebo GR GDIOBJECTS (z win32con))

47. IsWow64Process

win32process.IsWow64Process

Syntax

bool = IsWow64Process(Process)

Identifikuje, či WOW64 momentálne beží zadaný proces.

Parametre

    Proces=None:PyHANDLE (Rukovadlo procesu vrátené win32api::OpenProcess, win32api::GetCurrentProcess atď.; ak je zadané Žiadne (predvolené), použije sa aktuálny popisovač procesu.)

Pozrime sa na jeho návratovú hodnotu.

Návratová hodnota je False, ak operačný systém túto funkciu neposkytuje (napr.

výnimka NotImplemented nebude nikdy vyvolaná). Avšak a

win32process.error výnimka z tohto je normálne vyvolaná, ak je funkcia dostupná

ale neúčinné.

Záver

V tomto článku sme diskutovali o procese Python win32. A tiež sme diskutovali o rôznych typoch metód a ich parametroch a návratových hodnotách jeden po druhom.