logo

Python Win32 folyamat

Ebben a cikkben a Python win32 folyamatáról lesz szó. És egyenként tárgyaljuk a módszereit is.

Alapvetően a Win32 folyamat a Python egyik módszere. Kibővített Win32-folyamat-létrehozási és -felügyeleti lehetőségek érhetők el ezen a modulon keresztül. A Create metódus folyamatobjektumokat hoz létre (a konstruktort). Lehetőség van az objektumok folyamatainak leállítására, felfüggesztésére, újraindítására, valamint a folyamatok prioritásának beállítására további módszerekkel.

A Windows Management Instrumentation (WMI; korábban WBEM) és a Windows illesztőprogram-modell WMI-bővítményei a Windows 2019/2016/2012/2008 és a Windows 10/7/XP (WDM) kezelhetőségének alapjaként szolgálnak.

Az ActiveXperts Network Monitor kínálja a WMI-alapú monitorellenőrzési eljárások létrehozásának lehetőségét. Az ActiveXperts több mint száz WMI-mintát gyűjtött össze. Ezek a példák kiindulási pontként szolgálhatnak a saját maga által létrehozott vadonatúj ellenőrzési rutinokhoz.

Ezen a weboldalon számos WMI-minta található.

Az ActiveXperts Network Monitor a Win32_Process WMI osztályt használja a szerverek figyelésére.

Windows operációs rendszeren egy eseménysorozatot a Win32_Process WMI osztály képvisel. Ennek az osztálynak a leszármazottja vagy tagja egy sorozat, amely egy vagy több processzor vagy értelmező, néhány végrehajtható kód és egy bemeneti készlet interakcióját foglalja magában, például egy Windows rendszeren futó ügyfélprogramot.

Most felmerül a kérdés mi az a Python win32?

Így a Python win32 és Win32 alkalmazásprogramozási felület (API) képességei a Pythonnal együtt használhatók a PyWin32 kiterjesztéskönyvtár használatával Windowshoz.

Vegyünk egy kis bevezetést a win32api modul.

A win32api modul különféle extra módszereket kínál a folyamatok vezérlésére. Ezek lehetővé teszik az új folyamatok elindításához szükséges számos szokásos lépés végrehajtását, de még mindig elmaradnak az alacsony szintű vezérlés legmagasabb szintjétől.

do és while ciklus java-ban

A korábban ismertetett os.system függvénnyel ellentétben a WinExec függvény különféle beállításokat tesz a grafikus felhasználói felület programjaihoz. Például nem jön létre konzol, és a függvény nem várja meg, amíg az új folyamat befejeződik.

A funkcióhoz a következő két bemenet szükséges:

  • A végrehajtásra vonatkozó parancs
  • Alternatív megoldásként az alkalmazás ablakának kezdeti állapota

Vegyünk egy kis bevezetést a win32api.ShellExecute.

Ezenkívül a win32api modul egy másik előnyös funkciót kínál új folyamatok elindításához. A véletlenszerű folyamatok elindításával ellentétben a ShellExecute függvény fő célja a dokumentumok megnyitása. Például utasíthatja a ShellExecute-t, hogy nyissa meg a MyDocument.doc fájlt. A Windows kiválasztja, hogy melyik folyamatot indítsa el az Ön nevében az open.doc fájlok megnyitásához. Az a.doc fájlra történő kattintás (vagy dupla kattintás) arra készteti a Windows Intézőt, hogy ugyanazt a műveletet hajtsa végre.

A futó programot folyamatnak (feldolgozottnak) nevezzük. A folyamatnak nem kell olyannak lennie, amelyet a felhasználó manuálisan futtat; ehelyett egy rendszerfolyamat lehet, amelyet az operációs rendszer hoz létre. Minden olyan programnak, amely operációs rendszeren fut, először külön folyamatot kell létrehoznia, mielőtt elkezdené a működését. Egy tipikus operációs rendszer telepítésében a folyamatok többsége háttérprogramok és operációs rendszer-szolgáltatások, amelyek a hardver, a szoftver és az operációs rendszer megfelelő működésének biztosítására szolgálnak.

Ez a bejegyzés néhány alternatív Python-módszert fog megvizsgálni a Windows operációs rendszer jelenleg aktív folyamatainak listájának lekéréséhez.

A kívánt eredmény eléréséhez először egy Python-módszert írunk le. Ezután megvizsgálunk egy parancsot a Windows Command Processorból, hogy végrehajtsuk ugyanezt.

pip telepítse a wmi-t

Másolja be ezt a fenti kódot a terminálba.

Példa

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

Paraméterek

    fogantyú:PyHANDLE ( az érdekelt szál kezelése )dwIdealProcessor:int (ideális processzorszám)

Visszatérés típusa

Ez a metódus az int értéket adja vissza

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Szintaxis

win32process.GetProcessAffinityMask( hProcess )

Paraméterek

    hfolyamat:PyHANDLE (az érdeklődési folyamat kezelése)

Visszatérés típusa

Ez a metódus a ( process affinity mask, system affinity mask ) sorozatát adja vissza.

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Szintaxis

win32process.SetProcessAffinityMask( hProcess, mask )

Processzor-affinitásmaszkot állít be egy adott folyamathoz.

Paraméterek

    hfolyamat:PyHANDLE (az érdeklődési folyamat kezelése)maszk:int (processzor affinitásmaszk)

Megjegyzés: Egyes platformok nem rendelkeznek ezzel a funkcióval.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Szintaxis

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Paraméterek

    hTéma:PyHANDLE ( az érdekelt szál kezelése )ThreadAffinityMask:int (processzor affinitásmaszk)

Visszatérés típusa

Ez a metódus int értéket ad vissza.

30. SuspendThread

win32process.SuspendThread

Szintaxis

int = SuspendThread( handle )

Felfüggeszti a megadott szálat.

Paraméterek

    fogantyú:PyHANDLE (a szál fogantyúja)

Visszatérési érték

A visszatérési érték a szál előző felfüggesztési száma

31. ResumeThread

win32process.ResumeThread

Szintaxis

int = ResumeThread( handle )

Folytatja a megadott szálat. Amikor a felfüggesztési számláló nullára csökken, a szál végrehajtása folytatódik.

Paraméterek

    fogantyú:PyHANDLE (a szál fogantyúja)

Visszatérési érték

A visszatérési érték a szál előző felfüggesztési száma

32. TerminateProcess

win32process.TerminateProcess

Szintaxis

TerminateProcess( handle, exitCode )

Paraméterek

    fogantyú:PyHANDLE (a folyamat kezelése)kilépési kód:int (a folyamat kilépési kódja)

33. xitProcess

win32process.ExitProcess

    Kilépési folyamat:A folyamat vége és minden szála

Paraméterek

    kilépési kód:int (A kilépési kód információi rendelkezésre állnak a folyamathoz, és minden olyan szálhoz, amely a hívás eredményeként megszakad.)

A folyamat leállításának legjobb módja az ExitProcess. Ez a funkció tiszta folyamatleállítást biztosít. Ez magában foglalja az egyes társított dinamikus kapcsolati könyvtárak (DLL) belépési pont funkcióival való kapcsolatfelvételt egy olyan értékkel, amely jelzi, hogy a folyamat elválik a DLL-től. A folyamathoz tartozó DLL-ek nem értesülnek a folyamat leállásáról, ha a folyamat a win32process::TerminateProcess meghívásával fejeződik be.

34. EnumProcesses

win32process.EnumProcesses

Szintaxis

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

Pid-eket biztosít a ténylegesen futó tevékenységekhez.

35. EnumProcessModules

win32process.EnumProcessModules

Szintaxis

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

Felsorolja a folyamatkezelő betöltött moduljait

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Szintaxis

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

felsorolja a folyamat által betöltött 32 vagy 64 bites modulokat.

Paraméterek

    hfolyamat:PyHANDLE (Az OpenProcess által visszaadott folyamatleíró) FilterFlag=LIST_MODULES_DEFAULT : int (választhatja, hogy 32 bites vagy 64 bites modulokat szeretne-e visszaadni. ) Windows Vista vagy újabb verzióra van szüksége.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

Szintaxis

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)hModule:PyHANDLE (Ez a paraméter kezeli a modulokat)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Szintaxis

dict = GetProcessMemoryInfo( hProcess )

A folyamatmemória statisztikaként egy PROCESS_MEMORY_COUNTERS struktúrát képviselő diktátum kerül visszaadásra.

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)

39. GetProcessTimes

win32process.GetProcessTimes

Szintaxis

dict = GetProcessTimes( hProcess )

Időstatisztikák beszerzése egy folyamathoz a fogantyújával. (100 nanoszekundumos egységekben a UserTime és a KernelTime esetében)

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Szintaxis

dict = GetProcessIoCounters( hProcess )

Egy folyamat I/O statisztikái az IO_COUNTERS struktúrának megfelelő szótárként kerülnek visszaadásra.

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Szintaxis

GetProcessWindowStation()

Egy fogantyút ad vissza az ablakállomáshoz a hívási folyamathoz.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Szintaxis

int,int = GetProcessWorkingSetSize( hProcess )

Egy folyamat minimális és maximális munkakészlet-mérete kerül visszaadásra.

Paraméterek

    hfolyamat:PyHANDLE (A win32api::OpenProcess által visszaadott folyamatleíró)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Szintaxis

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Beállítja egy folyamat minimális és maximális munkakészlet méretét.

Paraméterek

    hfolyamat:PyHANDLE (az OpenProcess által visszaadott folyamatleíró)MinimumWorkingSetSize:int (A fizikai memóriában tárolandó bájtok minimális száma)MaximumWorkingSetSize:int (A fizikai memóriában tárolható bájtok maximális száma)

MEGJEGYZÉS: Az eljárás teljes kicseréléséhez állítsa a min és max értéket -1-re.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Szintaxis

int,int = GetProcessShutdownParameters()

Felfedi a folyamat aktuális befejezési szintjét és triggereit.

A tartomány 000-0FF. ablakok fenntartva, Utolsó, 200-2FF Közép, Első, 300-3FF és Negyedik, 400-4FF Windows tartalékok.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Szintaxis

SetProcessShutdownParameters(Level, Flags)

Beállítja a folyamat jelzőit és a befejezési prioritást.

Paraméterek

    Szint:int (Ez a paraméter magasabb prioritást mutat, mint korábban)Zászlók:int (Ez a paraméter azt mutatja, hogy jelenleg csak a SHUTDOWN NORETRY érvényes).

A tartomány 000-0FF. 100-1FF Utolsó, 200-2FF Közép, 300-3FF Első, 400-4FF, és Windows által fenntartott ablak fenntartva.

46. ​​GetGuiResources

win32process.GetGuiResources

Szintaxis

int = GetGuiResources(Process, Flags )

Megadja a folyamat által tárolt GDI vagy felhasználói objektum leírók számát.

Paraméterek

    Folyamat:PyHANDLE (Ez a paraméter a Win32api::OpenProcess visszaadott leírója egy folyamatnak)Zászlók:int (Ez a paraméter a GR USEROBJECTS-t vagy a GR GDIOBJECTS-t mutatja (win32con-ból))

47. IsWow64Process

win32process.IsWow64Process

Szintaxis

bool = IsWow64Process(Process)

Azonosítja, hogy a WOW64 jelenleg futtatja-e a megadott folyamatot.

Paraméterek

    Process=Nincs:PyHANDLE (A win32api::OpenProcess, win32api::GetCurrentProcess stb. által visszaadott folyamatleíró; ha a None (az alapértelmezett) értéket adjuk meg, akkor az aktuális folyamatleíró kerül felhasználásra.)

Lássuk a megtérülési értékét.

A visszatérési érték False, ha az operációs rendszer nem biztosítja ezt a funkciót (pl.

a NotImplemented kivétel soha nem kerül kidobásra). Azonban a

Ez alól a win32process.error kivétel általában akkor jelenik meg, ha a függvény elérhető

de hatástalan.

Következtetés

Ebben a cikkben a Python win32 folyamatát tárgyaltuk. Ezenkívül egyenként tárgyaltuk a különböző típusú metódusokat és azok paramétereit és visszatérési értékeit.