logo

عملية بايثون Win32

في هذه المقالة، سنناقش عملية بايثون win32. وسنناقش أيضًا طرقها واحدة تلو الأخرى.

في الأساس، عملية Win32 هي طريقة في بايثون. يمكن الوصول إلى إمكانيات إنشاء وإدارة عملية Win32 الموسعة من خلال هذه الوحدة. تقوم طريقة الإنشاء بإنشاء كائنات العملية (المنشئ). من الممكن إنهاء العمليات وتعليقها واستئنافها وتعيين أولوية العمليات على الكائنات باستخدام طرق إضافية.

تعمل ملحقات إدارة Windows (WMI؛ WBEM سابقًا) وامتدادات WMI لنموذج برنامج تشغيل Windows كأساس للإدارة في Windows 2019/2016/2012/2008 وWindows 10/7/XP (WDM).

يتم توفير القدرة على إنشاء إجراءات فحص الشاشة بناءً على WMI بواسطة ActiveXperts Network Monitor. هناك أكثر من مائة عينة من WMI قام ActiveXperts بجمعها. قد تكون هذه الأمثلة بمثابة نقطة بداية لإجراءات الفحص الجديدة تمامًا التي تقوم بإنشائها بنفسك.

تتوفر العديد من عينات WMI على هذا الموقع.

يستخدم ActiveXperts Network Monitor فئة Win32_Process WMI لمراقبة خوادمك.

يتم تمثيل سلسلة من الأحداث على نظام التشغيل Windows بواسطة فئة Win32_Process WMI. التسلسل الذي يتضمن تفاعل واحد أو أكثر من المعالجات أو المترجمين الفوريين، وبعض التعليمات البرمجية القابلة للتنفيذ، ومجموعة من المدخلات، مثل برنامج عميل يعمل على نظام Windows، هو سليل أو عضو في هذه الفئة.

الآن يطرح السؤال ما هو بيثون win32؟

لذلك يمكن استخدام إمكانيات واجهة برمجة التطبيقات (API) لـ Python Win32 وWin32 مع Python باستخدام مكتبة PyWin32 للملحقات لنظام التشغيل Windows.

دعونا نلقي مقدمة صغيرة عن وحدة Win32api.

توفر وحدة win32api طرقًا إضافية متنوعة للتحكم في العمليات. تمنحك هذه القدرة على تنفيذ العديد من الخطوات المعتادة اللازمة لبدء عمليات جديدة، لكنها لا تزال غير كافية لتقديم أعلى مستوى من التحكم منخفض المستوى.

كات تيمبف صافي القيمة

على النقيض من وظيفة os.system، التي تم شرحها مسبقًا، تقوم وظيفة WinExec بإجراء تسهيلات مختلفة لبرامج واجهة المستخدم الرسومية. على سبيل المثال، لم يتم إنشاء وحدة تحكم، ولا تنتظر الوظيفة حتى تنتهي العملية الجديدة.

تتطلب الوظيفة هذين المدخلين:

  • الأمر بالتنفيذ
  • وبدلاً من ذلك، الحالة الأولية لنافذة التطبيق

دعونا نلقي مقدمة صغيرة عن win32api.ShellExecute.

بالإضافة إلى ذلك، توفر وحدة win32api ميزة مفيدة أخرى لبدء عمليات جديدة. وعلى النقيض من بدء العمليات العشوائية، فإن فتح المستندات هو الغرض الرئيسي من وظيفة ShellExecute. يمكنك توجيه ShellExecute إلى 'فتح MyDocument.doc' على سبيل المثال. يختار Windows العملية التي سيتم تشغيلها نيابةً عنك من أجل فتح ملفات.doc. يؤدي النقر (أو النقر المزدوج) على ملف a.doc إلى قيام Windows Explorer بتنفيذ نفس الإجراء.

يشار إلى البرنامج الذي يتم تشغيله على أنه عملية (معالجة). لا يلزم أن تكون العملية هي التي يقوم المستخدم بتشغيلها يدويًا؛ يمكن أن تكون بدلاً من ذلك عملية نظام ينتجها نظام التشغيل. يجب على أي برنامج يعمل على نظام التشغيل أن يقوم أولاً بإنشاء عملية منفصلة قبل أن يبدأ العمل. غالبية العمليات في التثبيت النموذجي لنظام التشغيل هي برامج الخلفية وخدمات نظام التشغيل التي يتم استخدامها للحفاظ على الأجهزة والبرامج ونظام التشغيل في حالة عمل جيدة.

ستتناول هذه المقالة بعض طرق Python البديلة للحصول على قائمة بالعمليات النشطة حاليًا لنظام التشغيل Windows.

للحصول على النتيجة المرجوة، سنصف أولاً طريقة بايثون. سنقوم بعد ذلك بفحص أمر من معالج أوامر Windows لإنجاز نفس الشيء.

نقطة تثبيت 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 (التعامل مع موضوع الاهتمام)المعالج المثالي:int (رقم المعالج المثالي)

نوع الإرجاع

تقوم هذه الطريقة بإرجاع القيمة int

27.GetProcessAffinityMask

win32process.GetProcessAffinityMask

بناء الجملة

win32process.GetProcessAffinityMask( hProcess )

حدود

    ح العملية:PyHANDLE (التعامل مع عملية الاهتمام)

نوع الإرجاع

تقوم هذه الطريقة بإرجاع مجموعة من (قناع تقارب العملية، قناع تقارب النظام).

28.SetProcessAffinityMask

win32process.SetProcessAffinityMask

بناء الجملة

win32process.SetProcessAffinityMask( hProcess, mask )

يقوم بتعيين قناع تقارب المعالج لعملية محددة.

حدود

    ح العملية:PyHANDLE (التعامل مع عملية الاهتمام)قناع:int (قناع تقارب المعالج)

ملاحظة: بعض المنصات لا تحتوي على هذه الميزة.

29.SetThreadAffinityMask

win32process.SetThreadAffinityMask

بناء الجملة

win32process.SetThreadAffinityMask( hThread, ThreadAffinityMask )

حدود

    الموضوع: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.xitProcess

win32process.ExitProcess

    عملية الخروج:نهاية العملية وكل خيوطها

حدود

    رمز الخروج:int (يتم توفير معلومات رمز الخروج للعملية، وجميع سلاسل الرسائل التي تم إنهاؤها نتيجة لهذا الاستدعاء.)

أفضل طريقة لإيقاف العملية هي باستخدام ExitProcess. يتم توفير إيقاف تشغيل العملية النظيفة بواسطة هذه الوظيفة. يتضمن ذلك الاتصال بوظيفة نقطة الإدخال (DLL) الخاصة بمكتبة الارتباط الديناميكي المقترنة بقيمة تشير إلى أن العملية منفصلة عن مكتبة الارتباط الديناميكي (DLL). لا يتم إعلام مكتبات الارتباط الحيوي (DLL) المرتبطة بالعملية بإنهاء العملية إذا انتهت العملية عن طريق استدعاء win32process::TerminateProcess.

34. عمليات التعداد

win32process.EnumProcesses

بناء الجملة

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

يوفر Pids للأنشطة التي يتم تشغيلها بالفعل.

35. EnumProcessModules

win32process.EnumProcessModules

بناء الجملة

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

يسرد الوحدات النمطية المحملة لمقبض العملية

حدود

    ح العملية:PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة OpenProcess)

36.إنومبروسيسمودوليكس

win32process.EnumProcessModulesEx

بناء الجملة

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

يسرد الوحدات النمطية 32 أو 64 بت التي قامت العملية بتحميلها.

حدود

    ح العملية :PyHANDLE (مقبض العملية الذي أعاده OpenProcess) FilterFlag=LIST_MODULES_DEFAULT : int (اختر ما إذا كنت تريد إرجاع وحدات 32 بت أو 64 بت.) يحتاج إلى نظام التشغيل Windows Vista أو إصدار أحدث.

37.GetModuleFileNameEx

win32process.GetModuleFileNameEx

بناء الجملة

PyUNICODE = GetModuleFileNameEx( hProcess, hModule )

حدود

    ح العملية:PyHANDLE (مقبض العملية الذي أعاده OpenProcess)وحدة hModule:PyHANDLE (تتعامل هذه المعلمة مع الوحدات)

38. GetProcessMemoryInfo

win32process.GetProcessMemoryInfo

بناء الجملة

dict = GetProcessMemoryInfo( hProcess )

يتم إرجاع الإملاء الذي يمثل بنية PROCESS_MEMORY_COUNTERS كإحصائيات ذاكرة العملية.

حدود

    ح العملية:PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة OpenProcess)

39. احصل على أوقات المعالجة

win32process.GetProcessTimes

بناء الجملة

dict = GetProcessTimes( hProcess )

الحصول على إحصائيات الوقت لعملية ما باستخدام المقبض الخاص بها. (في 100 وحدة نانو ثانية لـ UserTime وKernelTime)

حدود

أنماط برامج جافا
    ح العملية:PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة OpenProcess)

40.GetProcessIoCounters

win32process.GetProcessIoCounters

بناء الجملة

dict = GetProcessIoCounters( hProcess )

يتم إرجاع إحصائيات الإدخال/الإخراج لعملية ما كقاموس يتوافق مع بنية IO_COUNTERS.

حدود

    ح العملية:PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة OpenProcess)

41.GetProcessWindowStation

win32process.GetProcessWindowStation

بناء الجملة

GetProcessWindowStation()

إرجاع مؤشر إلى محطة النافذة لعملية الاستدعاء.

42. GetProcessWorkingSetSize

win32process.GetProcessWorkingSetSize

بناء الجملة

int,int = GetProcessWorkingSetSize( hProcess )

يتم إرجاع الحد الأدنى والحد الأقصى لأحجام مجموعة العمل الخاصة بالعملية.

حدود

    ح العملية:PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة win32api::OpenProcess)

43.SetProcessWorkingSetSize

win32process.SetProcessWorkingSetSize

بناء الجملة

SetProcessWorkingSetSize( hProcess, MinimumWorkingSetSize, MaximumWorkingSetSize )

يضبط الحد الأدنى والحد الأقصى لأحجام مجموعة العمل للعملية.

حدود

    ح العملية :PyHANDLE (مقبض العملية كما تم إرجاعه بواسطة OpenProcess)الحد الأدنى لحجم مجموعة العمل:int (الحد الأدنى لعدد البايتات التي يجب الاحتفاظ بها في الذاكرة الفعلية)الحد الأقصى لحجم مجموعة العمل:int (الحد الأقصى لعدد البايتات التي يجب الاحتفاظ بها في الذاكرة الفعلية)

ملاحظة: لمبادلة الإجراء بالكامل، قم بتعيين الحد الأدنى والحد الأقصى على -1.

44. GetProcessShutdownParameters

win32process.GetProcessShutdownParameters

بناء الجملة

int,int = GetProcessShutdownParameters()

يكشف عن مستوى إنهاء العملية الحالي والمشغلات.

النطاق هو 000-0FF. النوافذ محفوظة، الأخيرة، 200-2FF الأوسط، الأول، 300-3FF، والرابع، 400-4FF احتياطيات Windows.

45.SetProcessShutdownParameters

win32process.SetProcessShutdownParameters

بناء الجملة

SetProcessShutdownParameters(Level, Flags)

يضبط إشارات العملية وأولوية الإنهاء.

حدود

    مستوى:int (تظهر هذه المعلمة أولوية أعلى تساوي سابقًا)الأعلام:int (تظهر هذه المعلمة أن SHUTDOWN NORETRY صالح حاليًا فقط).

النطاق هو 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.IsWow64Process

win32process.IsWow64Process

بناء الجملة

bool = IsWow64Process(Process)

يحدد ما إذا كان WOW64 يقوم حاليًا بتشغيل العملية المحددة.

حدود

    العملية=لا شيء:PyHANDLE (مقبض العملية الذي تم إرجاعه بواسطة win32api::OpenProcess، win32api::GetCurrentProcess، وما إلى ذلك؛ إذا لم يتم إعطاء أي شيء (الافتراضي)، فسيتم استخدام مقبض العملية الحالي.)

دعونا نرى قيمة الإرجاع الخاصة بها.

تكون قيمة الإرجاع False إذا كان نظام التشغيل لا يوفر هذه الوظيفة (على سبيل المثال،

لن يتم طرح استثناء NotImplemented أبدًا). ومع ذلك، أ

عادةً ما يتم طرح استثناء win32process.error لهذا إذا كانت الوظيفة متاحة

لكنها غير فعالة.

خاتمة

في هذه المقالة، ناقشنا عملية بايثون win32. وأيضًا، ناقشنا الأنواع المختلفة للطرق ومعلماتها وقيم الإرجاع واحدة تلو الأخرى.