logo

Python Win32 プロセス

この記事では、Python win32 プロセスについて説明します。また、その方法についても 1 つずつ説明します。

基本的に、Win32 プロセスは Python のメソッドです。このモジュールを通じて、拡張 Win32 プロセスの作成および管理機能にアクセスできます。 Create メソッドはプロセス オブジェクト (コンストラクター) を作成します。追加のメソッドを使用して、オブジェクトのプロセスを強制終了、一時停止、再開、および優先順位を設定することができます。

Windows Management Instrumentation (WMI、旧名 WBEM) と Windows Driver Model の WMI 拡張機能は、Windows 2019/2016/2012/2008 および Windows 10/7/XP (WDM) の管理性の基盤として機能します。

WMI に基づいて監視チェック手順を作成する機能は、ActiveXperts Network Monitor によって提供されます。 ActiveXperts が収集した WMI サンプルは 100 を超えています。これらの例は、独自に作成するまったく新しいチェック ルーチンの出発点として機能する可能性があります。

この Web サイトでは、多くの WMI サンプルを入手できます。

ActiveXperts ネットワーク モニターは、Win32_Process WMI クラスを使用してサーバーを監視します。

Windows オペレーティング システム上の一連のイベントは、Win32_Process WMI クラスによって表されます。 1 つ以上のプロセッサまたはインタプリタ、いくつかの実行可能コード、および Windows システム上で実行されるクライアント プログラムなどの一連の入力の対話を含むシーケンスは、このクラスの子孫またはメンバーです。

ここで疑問が生じます Python win32とは何ですか?

そのため、Windows 用の拡張機能の PyWin32 ライブラリを使用することで、Python win32 および Win32 アプリケーション プログラミング インターフェイス (API) 機能を Python で使用できます。

ヒバ・ブハリ

について少し紹介しましょう win32api モジュール。

win32api モジュールは、プロセスを制御するためのさまざまな追加メソッドを提供します。これらを使用すると、新しいプロセスを開始するために必要な通常の手順の多くを実行できますが、最高レベルの低レベル制御を提供するにはまだ不十分です。

前に説明した os.system 関数とは対照的に、WinExec 関数は GUI プログラムにさまざまな対応を行います。たとえば、コンソールは確立されず、関数は新しいプロセスが完了するまで待機しません。

この関数には次の 2 つの入力が必要です。

  • 実行する順番は
  • または、アプリケーションのウィンドウの初期状態

について少し紹介しましょう win32api.Shell実行。

さらに、win32api モジュールは、新しいプロセスを開始するためのもう 1 つの有益な機能を提供します。ランダムなプロセスを開始するのとは対照的に、ドキュメントを開くことが ShellExecute 関数の主な目的です。たとえば、ShellExecute に「MyDocument.doc を開く」ように指示できます。 Windows は、.doc ファイルを開くために、ユーザーに代わって起動するプロセスを選択します。 a.doc ファイルをクリック (またはダブルクリック) すると、Windows エクスプローラーで同じ動作が実行されます。

実行中のプログラムをプロセス(処理済み)と呼びます。プロセスは、ユーザーが手動で実行するものである必要はありません。代わりに、オペレーティング システムが生成するシステム プロセスである可能性があります。オペレーティング システム上で実行されるプログラムは、動作を開始する前に、まず別のプロセスを生成する必要があります。一般的な OS インストールのプロセスの大部分は、ハードウェア、ソフトウェア、およびオペレーティング システムを良好な状態に保つために使用されるバックグラウンド プログラムとオペレーティング システム サービスです。

この記事では、Windows OS の現在アクティブなプロセスのリストを取得するための、いくつかの代替 Python メソッドを見ていきます。

望ましい結果を得るために、まず Python メソッドについて説明します。次に、同じことを実行するために Windows コマンド プロセッサからのコマンドを調べます。

pip インストール wmi

上記のコードをターミナルにコピーします。

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

パラメーター

    ハンドル:PyHANDLE (対象のスレッドのハンドル)dw理想プロセッサ:int (理想的なプロセッサ番号)

戻り値の型

このメソッドは int 値を返します

27.GetProcessAffinityMask

win32process.GetProcessAffinityMask

構文

win32process.GetProcessAffinityMask( hProcess )

パラメーター

    hプロセス:PyHANDLE (対象のプロセスへのハンドル)

戻り値の型

このメソッドは、(プロセス アフィニティ マスク、システム アフィニティ マスク) のタプルを返します。

28. プロセスアフィニティマスクの設定

win32process.SetProcessAffinityMask

Javaでのリストの例

構文

win32process.SetProcessAffinityMask( hProcess, mask )

指定されたプロセスのプロセッサ アフィニティ マスクを設定します。

パラメーター

    hプロセス:PyHANDLE (対象のプロセスへのハンドル)マスク:int (プロセッサ アフィニティ マスク)

注: 一部のプラットフォームにはこの機能がありません。

29. スレッドアフィニティマスクの設定

win32process.SetThreadAffinityMask

構文

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

パラメーター

    hスレッド:PyHANDLE (対象のスレッドのハンドル)スレッドアフィニティマスク:int (プロセッサ アフィニティ マスク)

戻り値の型

このメソッドは int 値を返します。

30. スレッドの中断

win32process.SuspendThread

構文

int = SuspendThread( handle )

指定されたスレッドを一時停止します。

パラメーター

    ハンドル:PyHANDLE (スレッドへのハンドル)

戻り値

戻り値はスレッドの以前のサスペンド数です。

31.スレッドの再開

win32process.ResumeThread

構文

int = ResumeThread( handle )

指定されたスレッドを再開します。サスペンドカウントがゼロにデクリメントされると、スレッドの実行が再開されます。

パラメーター

    ハンドル:PyHANDLE (スレッドへのハンドル)

戻り値

戻り値はスレッドの以前のサスペンド数です。

32.プロセスの終了

win32process.TerminateProcess

構文

TerminateProcess( handle, exitCode )

パラメーター

    ハンドル:PyHANDLE (プロセスへのハンドル)終了コード:int (プロセスの終了コード)

33.xitプロセス

win32process.ExitProcess

    終了プロセス:プロセスの終わりとそのすべてのスレッド

パラメーター

    終了コード:int (終了コード情報は、プロセスと、この呼び出しの結果として終了されたすべてのスレッドに提供されます。)

プロセスを停止する最良の方法は、ExitProcess を使用することです。この関数により、クリーンなプロセスのシャットダウンが提供されます。これには、プロセスが DLL から分離されていることを示す値を使用して、関連する各ダイナミック リンク ライブラリ (DLL) のエントリポイント関数に連絡することが含まれます。 win32process::TerminateProcess を呼び出してプロセスが終了した場合、プロセスに関連付けられた DLL にはプロセスの終了が通知されません。

34. プロセスの列挙

win32process.EnumProcesses

構文

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

実際に実行されているアクティビティの PID を提供します。

35. EnumProcessModules

win32process.EnumProcessModules

構文

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

プロセスハンドルにロードされたモジュールをリストします。

パラメーター

    hプロセス:PyHANDLE ( OpenProcess によって返されるプロセス ハンドル)

36. EnumProcessModulesEx

win32process.EnumProcessModulesEx

構文

Javaを使ったMVC
( long,.... ) = EnumProcessModulesEx( hProcess, FilterFlag )

プロセスがロードした 32 ビットまたは 64 ビットのモジュールをリストします。

パラメーター

    hプロセス:PyHANDLE (OpenProcess が返したプロセス ハンドル) FilterFlag=LIST_MODULES_DEFAULT : int (32 ビット モジュールを返すか 64 ビット モジュールを返すかを選択します。) Windows Vista 以降が必要です。

37.GetModuleFileNameEx

win32process.GetModuleFileNameEx

構文

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

パラメーター

    hプロセス:PyHANDLE (OpenProcess が返したプロセス ハンドル)hモジュール:PyHANDLE (このパラメータはモジュールを処理します)

38.GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

構文

dict = GetProcessMemoryInfo( hProcess )

PROCESS_MEMORY_COUNTERS 構造体を表す dict がプロセス メモリ統計として返されます。

パラメーター

    hプロセス:PyHANDLE ( OpenProcess によって返されるプロセス ハンドル)

39. プロセスタイムの取得

win32process.GetProcessTimes

構文

dict = GetProcessTimes( hProcess )

ハンドルを使用してプロセスの時間統計を取得します。 (UserTime と KernelTime は 100 ナノ秒単位)

パラメーター

    hプロセス:PyHANDLE ( OpenProcess によって返されるプロセス ハンドル)

40.GetProcessIoCounters

win32process.GetProcessIoCounters

構文

dict = GetProcessIoCounters( hProcess )

プロセスの I/O 統計は、IO_COUNTERS 構造体に対応するディクショナリとして返されます。

パラメーター

    hプロセス:PyHANDLE ( OpenProcess によって返されるプロセス ハンドル)

41.GetProcessWindowStation

win32process.GetProcessWindowStation

構文

GetProcessWindowStation()

呼び出しプロセスのウィンドウ ステーションにハンドルを返します。

イテレータJavaマップ

42.GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

構文

int,int = GetProcessWorkingSetSize( hProcess )

プロセスの最小および最大のワーキング セット サイズが返されます。

パラメーター

    hプロセス:PyHANDLE ( win32api::OpenProcess によって返されるプロセス ハンドル)

43. SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

構文

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

プロセスの最小および最大のワーキング セット サイズを設定します。

パラメーター

    hプロセス:PyHANDLE ( OpenProcess によって返されるプロセス ハンドル)最小WorkingSetSize :int (物理メモリに保持する最小バイト数)最大WorkingSetSize :int (物理メモリに保持する最大バイト数)

注: 手順を完全に置き換えるには、最小値と最大値の両方を -1 に設定します。

44.GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

構文

int,int = GetProcessShutdownParameters()

プロセスの現在の終了レベルとトリガーを明らかにします。

範囲は 000 ~ 0FF です。 Windows 予約、Last、200-2FF Middle、First、300-3FF、および Fourth、400-4FF Windows 予約。

45. SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

構文

npmキャッシュを削除する
SetProcessShutdownParameters(Level, Flags)

プロセスのフラグと終了優先度を設定します。

パラメーター

    レベル:int (このパラメータは優先度が高いほど早いことを示します)フラグ:int (このパラメータは、現時点では SHUTDOWN NORTRY のみが有効であることを示します)。

範囲は 000 ~ 0FF です。 100-1FF 最後、200-2FF 中間、300-3FF 最初、400-4FF、および Windows によって予約されています。

46.GetGuiResources

win32process.GetGuiResources

構文

int = GetGuiResources(Process, Flags )

プロセスが保持している GDI またはユーザー オブジェクト ハンドルの量を示します。

パラメーター

    プロセス:PyHANDLE (このパラメータ Win32api::OpenProcess がプロセスに返したハンドル)フラグ:int (このパラメータは GR USEROBJECTS または GR GDIOBJECTS (win32con から) を示します)

47. IsWow64プロセス

win32process.IsWow64プロセス

構文

bool = IsWow64Process(Process)

WOW64 が現在指定されたプロセスを実行しているかどうかを識別します。

パラメーター

    プロセス=なし:PyHANDLE (win32api::OpenProcess、win32api::GetCurrentProcess などによって返されるプロセス ハンドル。None (デフォルト) が指定された場合、現在のプロセス ハンドルが使用されます。)

その戻り値を見てみましょう。

オペレーティング システムがこの機能を提供していない場合 (つまり、

NotImplemented 例外は決してスローされません)。ただし、

通常、関数が使用可能な場合、これに対する win32process.error 例外がスローされます。

しかし効果がない。

結論

この記事では、Python win32 プロセスについて説明しました。また、さまざまな種類のメソッドとそのパラメータ、戻り値について 1 つずつ説明しました。