تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف اتمكن من فعل ذلك
#5
(04-11-22, 08:59 PM)عبدالله الدوسري كتب : للأمانة بحثت عن كود سهل وخفيف ، لكن أغلب المواضيع تدخل في عمق النظام وتعقيد ،وأغلب الأكواد مكتوبة بلغة الــ ++C

من ظمن البحث : وما وجدت انه له علاقة مباشرة بطلبك هو :
NtQuerySystemInformation API to enumerate all handles  ( ولكن أغلب الأمثة بالـ ++C )
هذة الأوامر تجلب كل الملفات المفتوحة في النظام ( عدد مهول  من الملفات المفتوحة )
وجدت برنامج بلغة الـ ++C يستخدم هذة الأوامر على الرابط التالي 
http://www.nirsoft.net/utils/opened_files_view.html



يتيح لك البرنامج إستخدام موجة الأوامر DOS لجلب البيانات من النظام ( كما هو مشروح في صفحة البرنامج )

لكن بعد تجربة البرنامج كانت هناك ملفات مفتوحة عندي ولم يظهرها ضمن القائمة




هذا كود مختلف  قمت بعملة ولكن أيضاً لا يظهر كل شيء كما تريد أنت ، بعض الملفات تستطيع جلب المسار الكامل له، وبعضها فقط تستطيع جلب الاسم الموجود في النافذة  المفتوحة

هذا ما توصلت له بعد التجربة :
تحتاج لعمل :
Imports System.Management
كما تحتاج إلى إضافة Reference للملف System.Management.dll من النظام

كود :
       For Each p As Process In Process.GetProcesses
           If p.MainWindowTitle <> "" Then
               Me.RichTextBox1.Text &= "MainWindowTitle : " & p.MainWindowTitle & vbNewLine
               Try
                   Using searcher As New ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " & p.Id)
                       Dim Result = searcher.Get()
                       If Result.Count > 0 Then
                           Dim ManagObject As ManagementObject = Result(0)
                           Dim Path As String = ManagObject.Item("CommandLine").ToString()
                           Me.RichTextBox1.Text &= Path & vbNewLine
                       End If
                   End Using
               Catch : End Try
               Me.RichTextBox1.Text &= "-----------------------------------------------" & vbNewLine
           End If
       Next
اشكرك يا اخى جزيل الشكر على تعبك معى
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
كيف اتمكن من فعل ذلك - بواسطة menanaeem - 02-11-22, 09:07 AM
RE: كيف اتمكن من فعل ذلك - بواسطة menanaeem - 04-11-22, 03:32 PM
RE: كيف اتمكن من فعل ذلك - بواسطة menanaeem - 07-11-22, 05:16 PM

التنقل السريع :


يقوم بقرائة الموضوع: