logo

Python Win32 procesas

Šiame straipsnyje aptarsime Python win32 procesą. Taip pat po vieną aptarsime jo metodus.

Iš esmės Win32 procesas yra Python metodas. Išplėstinės Win32 proceso kūrimo ir valdymo galimybės pasiekiamos per šį modulį. Sukūrimo metodas sukuria proceso objektus (konstruktorius). Galima naikinti, sustabdyti, atnaujinti ir nustatyti objektų procesų prioritetą naudojant papildomus metodus.

„Windows Management Instrumentation“ (WMI; anksčiau WBEM) ir „Windows“ tvarkyklės modelio WMI plėtiniai yra valdymo sistemos „Windows 2019/2016/2012/2008“ ir „Windows 10/7/XP“ (WDM) pagrindas.

„ActiveXperts Network Monitor“ siūlo galimybę kurti monitoriaus tikrinimo procedūras pagal WMI. „ActiveXperts“ surinko daugiau nei šimtą WMI pavyzdžių. Šie pavyzdžiai gali būti kaip atspirties taškas visiškai naujoms tikrinimo procedūroms, kurias sukuriate patys.

Šioje svetainėje yra daug WMI pavyzdžių.

„ActiveXperts Network Monitor“ serveriams stebėti naudoja Win32_Process WMI klasę.

„Windows“ operacinės sistemos įvykių seriją vaizduoja „Win32_Process WMI“ klasė. Seka, apimanti vieno ar kelių procesorių ar interpretatorių sąveiką, vykdomąjį kodą ir įvesties rinkinį, pvz., kliento programą, veikiančią Windows sistemoje, yra šios klasės palikuonis arba narys.

Dabar kyla klausimas kas yra Python win32?

Taigi Python win32 ir Win32 programų programavimo sąsajos (API) galimybes galima naudoti su Python, naudojant PyWin32 plėtinių biblioteką, skirtą Windows.

Paimkime nedidelę įvadą į win32api modulis.

„Win32api“ modulis siūlo įvairius papildomus procesų valdymo metodus. Tai suteikia galimybę atlikti daugelį įprastų veiksmų, reikalingų naujiems procesams pradėti, tačiau jie vis tiek nepasiūlo aukščiausio lygio žemo lygio valdymo.

Priešingai nei os.system funkcija, kuri buvo paaiškinta anksčiau, funkcija WinExec atlieka įvairius GUI programų pritaikymus. Pavyzdžiui, konsolė nenustatyta, o funkcija nelaukia, kol baigsis naujas procesas.

Funkcijai reikia šių dviejų įvesčių:

  • Įsakymas vykdyti
  • Arba pradinė programos lango būsena

Paimkime nedidelę įvadą į win32api.ShellExecute.

Be to, win32api modulis siūlo dar vieną naudingą funkciją pradedant naujus procesus. Skirtingai nuo atsitiktinių procesų pradžios, dokumentų atidarymas yra pagrindinis funkcijos „ShellExecute“ tikslas. Pavyzdžiui, galite nurodyti „ShellExecute“ „atidaryti MyDocument.doc“. „Windows“ pasirenka, kurį procesą paleisti jūsų vardu, kad būtų galima atidaryti.doc failus. Spustelėjus (arba dukart spustelėjus) a.doc failą, „Windows Explorer“ atlieka tą patį veiksmą.

Vykdoma programa vadinama procesu (apdorotu). Procesas nebūtinai turi būti toks, kurį vartotojas vykdo rankiniu būdu; Vietoj to tai gali būti sistemos procesas, kurį sukuria operacinė sistema. Bet kuri programa, kuri veikia operacinėje sistemoje, pirmiausia turi sugeneruoti atskirą procesą, kad galėtų pradėti veikti. Dauguma tipinio OS diegimo procesų yra foninės programos ir operacinės sistemos paslaugos, kurios naudojamos norint palaikyti gerą aparatinės įrangos, programinės įrangos ir operacinės sistemos veikimą.

Šiame įraše bus nagrinėjami keli alternatyvūs Python metodai, kaip gauti šiuo metu aktyvių Windows OS procesų sąrašą.

Norėdami gauti norimą rezultatą, pirmiausia apibūdinsime Python metodą. Tada išnagrinėsime komandą iš „Windows“ komandų procesoriaus, kad atliktume tą patį.

pip įdiegti wmi

Nukopijuokite šį aukščiau esantį kodą terminale.

Pavyzdys

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

Parametrai

    rankena:PyHANDLE ( dominančios gijos tvarkymas )dwIdealProcessor:int (idealus procesoriaus numeris)

Grąžinimo tipas

Šis metodas grąžina int reikšmę

27. GetProcessAffinityMask

win32process.GetProcessAffinityMask

Sintaksė

win32process.GetProcessAffinityMask( hProcess )

Parametrai

    hProcesas:PyHANDLE ( dominančio proceso tvarkymas )

Grąžinimo tipas

Šis metodas grąžina eilutę (proceso giminingumo kaukė, sistemos giminingumo kaukė).

28. SetProcessAffinityMask

win32process.SetProcessAffinityMask

Sintaksė

win32process.SetProcessAffinityMask( hProcess, mask )

Nustato procesoriaus giminingumo kaukę nurodytam procesui.

Parametrai

    hProcesas:PyHANDLE ( dominančio proceso tvarkymas )kaukė:int (procesoriaus giminingumo kaukė)

Pastaba: kai kuriose platformose šios funkcijos nėra.

29. SetThreadAffinityMask

win32process.SetThreadAffinityMask

Sintaksė

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

Parametrai

    hTema:PyHANDLE ( dominančios gijos tvarkymas )ThreadAffinityMask:int (procesoriaus giminingumo kaukė)

Grąžinimo tipas

Šis metodas grąžina int reikšmę.

30. SuspendThread

win32process.SuspendThread

Sintaksė

int = SuspendThread( handle )

Sustabdo nurodytą giją.

Parametrai

    rankena:PyHANDLE (sriegio rankena)

Grąžinimo vertė

Grąžinama vertė yra ankstesnis gijos sustabdymo skaičius

31. ResumeThread

win32process.ResumeThread

Sintaksė

int = ResumeThread( handle )

Tęsia nurodytą giją. Kai sustabdymo skaičius sumažinamas iki nulio, gijos vykdymas atnaujinamas.

Parametrai

dvigubai susietas sąrašas
    rankena:PyHANDLE (sriegio rankena)

Grąžinimo vertė

Grąžinama vertė yra ankstesnis gijos sustabdymo skaičius

32. Nutraukti procesą

win32process.TerminateProcess

Sintaksė

TerminateProcess( handle, exitCode )

Parametrai

    rankena:PyHANDLE (proceso tvarkymas)išėjimo kodas:int (proceso išėjimo kodas)

33. xitProcess

win32process.ExitProcess

    Išėjimo procesas:Proceso pabaiga ir visos jo gijos

Parametrai

    išėjimo kodas:int (Procesui pateikiama išėjimo kodo informacija ir visos gijos, kurios nutraukiamos dėl šio iškvietimo.)

Geriausias būdas sustabdyti procesą yra ExitProcess. Ši funkcija užtikrina švarų proceso išjungimą. Tai apima susisiekimą su kiekvienos susijusios dinaminės nuorodos bibliotekos (DLL) įėjimo taško funkcija su verte, nurodančia, kad procesas atsiskiria nuo DLL. Su procesu susieti DLL neinformuojami apie proceso nutraukimą, jei procesas baigiamas iškvietus win32process::TerminateProcess.

34. EnumProcesses

win32process.EnumProcesses

Sintaksė

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

Teikia Pid veiklai, kuri iš tikrųjų vykdoma.

35. EnumProcessModules

win32process.EnumProcessModules

Sintaksė

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

Išvardija įkeltus proceso rankenos modulius

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

Sintaksė

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

išvardija 32 arba 64 bitų modulius, kuriuos procesas įkėlė.

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“) FilterFlag=LIST_MODULES_DEFAULT : int (pasirinkite, ar grąžinti 32 bitų ar 64 bitų modulius. ) reikalinga „Windows Vista“ arba naujesnė versija.

37. GetModuleFileNameEx

win32process.GetModuleFileNameEx

java eilutės funkcijos

Sintaksė

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)hModulis:PyHANDLE (šis parametras tvarko modulius)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

Sintaksė

dict = GetProcessMemoryInfo( hProcess )

Diktas, vaizduojantis PROCESS_MEMORY_COUNTERS struktūrą, grąžinamas kaip proceso atminties statistika.

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)

39. GetProcessTimes

win32process.GetProcessTimes

Sintaksė

dict = GetProcessTimes( hProcess )

Gaukite proceso laiko statistiką naudodami jo rankenėlę. (100 nanosekundžių vienetų, skirtų UserTime ir KernelTime)

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)

40. GetProcessIoCounters

win32process.GetProcessIoCounters

Sintaksė

dict = GetProcessIoCounters( hProcess )

Proceso įvesties / išvesties statistika grąžinama kaip žodynas, atitinkantis IO_COUNTERS struktūrą.

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)

41. GetProcessWindowStation

win32process.GetProcessWindowStation

Sintaksė

GetProcessWindowStation()

Grąžina rankenėlę į lango stotį skambinimo procesui.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

Sintaksė

int,int = GetProcessWorkingSetSize( hProcess )

Grąžinami proceso minimalūs ir didžiausi darbo rinkinių dydžiai.

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino win32api::OpenProcess)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

Sintaksė

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

Nustato mažiausią ir didžiausią proceso darbinių rinkinių dydžius.

Parametrai

    hProcesas:PyHANDLE (proceso rankena, kurią grąžino „OpenProcess“)Minimalus darbo rinkinio dydis:int (minimalus baitų skaičius fizinėje atmintyje)Maksimalus darbo rinkinio dydis:int (maksimalus baitų skaičius, kurį reikia laikyti fizinėje atmintyje)

PASTABA: Norėdami visiškai pakeisti procedūrą, nustatykite tiek min, tiek max į -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

Sintaksė

int,int = GetProcessShutdownParameters()

Atskleidžia dabartinį proceso nutraukimo lygį ir paleidiklius.

Diapazonas yra 000-0FF. langai rezervuoti, paskutinis, 200-2FF vidurinis, pirmasis, 300-3FF ir ketvirtas, 400-4FF langų rezervai.

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

Sintaksė

SetProcessShutdownParameters(Level, Flags)

Nustato proceso vėliavėles ir užbaigimo prioritetą.

Parametrai

    Lygis:int (šis parametras rodo aukštesnį prioritetą, lygų anksčiau)Vėliavos:int (Šis parametras rodo, kad šiuo metu galioja tik SHUTDOWN NORETRY).

Diapazonas yra 000-0FF. 100-1FF Paskutinis, 200-2FF Vidurinis, 300-3FF Pirmas, 400-4FF ir rezervuotas Windows lango rezervuotas.

46. ​​GetGuiResources

win32process.GetGuiResources

Sintaksė

int = GetGuiResources(Process, Flags )

Pateikiamas GDI arba vartotojo objekto rankenėlių kiekis, kurį turi procesas.

Parametrai

    Procesas:PyHANDLE (šis parametras Win32api::OpenProcess grąžino proceso rankenėlę)Vėliavos:int (Šis parametras rodo GR USEROBJECTS arba GR GDIOBJECTS (iš win32con))

47. IsWow64Process

win32process.IsWow64Process

Sintaksė

bool = IsWow64Process(Process)

Nurodo, ar WOW64 šiuo metu vykdo nurodytą procesą.

Parametrai

    Process=nėra:PyHANDLE (proceso rankena, kurią grąžino win32api::OpenProcess, win32api::GetCurrentProcess ir kt.; jei nurodyta None (numatytasis), bus naudojama dabartinė proceso rankena.)

Pažiūrėkime jo grąžos vertę.

Grąžinama vertė yra False, jei operacinė sistema neteikia šios funkcijos (ty

Neįgyvendinta išimtis niekada nebus išmesta). Tačiau a

win32process.error išimtis paprastai pateikiama, jei funkcija yra prieinama

bet neveiksmingas.

Išvada

Šiame straipsnyje aptarėme Python win32 procesą. Be to, mes aptarėme skirtingus metodų tipus ir jų parametrus bei grąžinimo reikšmes po vieną.