الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Processes Using a File

مغلق
بدأه CPU_Master في 4 مايو 2006 · 17 رد · 1,337 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

(هذي أول مشاركة ليي معاكم :D )

كيف لي أن اعرف البرامج ( أو ال Processes ) التي تستخدم ملفٍ ما.

مثال:

عندي ملف على سطح المكتب ( ال Desktop )

و لكن هذا الملف يتم قرائته في الوقت الحالي من خلال

ال Process المسمى "Reader.exe".

السؤال: كيف أقدر أعمل برنامج يخبرني بأن الملف حاليا في الاستخدام

أي In Use و يعرض لي أن "Reader.exe" يستخدم الملف ؟

تم تعديل هذه المشاركة بواسطة CPU_Master في 4 مايو 2006 في 13:03

#2

أريد مساعدتكم ...

#3

هلا بك أخي معنا في الفريق ...

أسلوبك لطرح السؤال مريح .. مقارنة بالأسئلة الكثيرة التي توضع في قسم الفيجوال بيسك وأغلبها من النوع "أريد كود ..." .

هل بالامكان إخبارنا بما توصلت اليه من افكار في هذا الموضوع ؟

الموضوع الذي إخترته ممتع

كبدايه :

إقرأ ما ورد هنا وقل لي رأيك

http://www.sysinternals.com/Utilities/Handle.html

بعد ذلك ممكن نبدأ النقاش ...

تحياتي

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#4

نسيت أقول :

فكرة البرنامج في الوصلة التي أشرت إليها في ردي شبه معروفه لي ...

منتظر رأيك في البرنامج و تحليلك له ( Disassembling ) لنبدأ النقاش ...

ربما تكون هناك طريقة غير التي سأذكرها لاحقاً لكن تلك الطريقة هي التي أفضلها ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#5

قمت بالبحث على الأنترنت

و أعتقد إننا ممكن نستخدم دالة من ال native api وهى NtQuerySystemInformation

و قمت بعد ذلك بفتح برنامج ال handle بالollydbg و لكن كانت المفاجأة إنى لم أجد تلك الدالة ضمن الدوال المستخدمه فى البرنامج

بل إن البرنامج يستخدم خليط من دوال advapi32.dll وkernel32.dll

لا أعرف

أعتقد إنى أسير فى طريق خاطئ فلست متمرسا فى تتبع البرامج :s

تم تعديل هذه المشاركة بواسطة net_code في 11 مايو 2006 في 21:36

لا تراجع و لا إستسلام

#6
اقتباس
و أعتقد إننا ممكن نستخدم دالة من ال native api وهى NtQuerySystemInformation

كلام سليم . ;)

اقتباس
و قمت بعد ذلك بفتح برنامج ال handle بالollydbg و لكن كانت المفاجأة إنى لم أجد تلك الدالة ضمن الدوال المستخدمه فى البرنامج

بل إن البرنامج يستخدم خليط من دوال advapi32.dll وkernel32.dll

لا أعرف

أعتقد إنى أسير فى طريق خاطئ فلست متمرسا فى تتبع البرامج

البرنامج يستدعي الدالة التي ذكرتها وغيرها بالطريقة Dynamic link باستخدام LoadLibrary & GetProcAdress ..

:P

لمعلومات أكثر عن الدالة السابقة عليك بمرجع Window NT/2000 Native API Reference By Garry Nebbet ...

كنت كتبت شرح عن الدالة منذ فترة في قسم الدلفي ...

سارجع للموضوع غداً إن شاء الله

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#7

هذا هو الموضوع الذى تم شرح فيه الدالة NtQuerySystemInformation

/index.php?showtopic=11662

أرجو من جميع المهتمين الأطلاع عليه

ولى عودة مع الموضوع , لكن للأسف ده وقت الأمتحانات و لا أجلس على الأنترنت كثيرا :(

تم تعديل هذه المشاركة بواسطة net_code في 13 مايو 2006 في 15:19

لا تراجع و لا إستسلام

#8

هل أفهم أن صاحب الموضوع قد توصل لحل لمشكلته أم أن الموضوع انتهى بالنسبة له ؟

:unsure:

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#9

السلام عليكم ورحمة الله..

هذا النوع من التكويد يجذبني جداً :)

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

List Processes and Ports with Native API

شارك معنا في (عمل مشاريع برمجيه بمشاركة جميع الأعضاء هنا, مشاريع برمجية كاملة)

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#10

أحد أسباب عدم وضعي ردود في قسم الفيجوال بيسك أن الغالبية من مبرمجي الفيجوال بيسك يريدون كود جاهز و لا يخوضون في نقاش علمي لكي يتم فهم الحل بشكل جيد .. ربما هذا بسبب طبيعة الفيجوال بيسك التي تعجل التفكير محدود في command button و نقرة زر و أتانا الناتج ولا يهمنا الخطوات الداخلية التي تم بها الحصول على الناتج ...

الأخ meynot : الموضوع الذي أشرت اليه بالفعل ما نريده تقريباً ... تعمدت عدم وضع حل مباشر لأرى إن كان هناك من يريد النقاش حتى يأخذ الموضوع حقه ..

ذلك الموضوع الذي أشرت إليه تم وضعه بتاريخ "Submitted on: 6/1/2004 5:57:56 AM" في حين أن هناك في الفريق العربي من كتب هذا

/index.ph...pic=67042&st=30

راجع ردي هناك المعرف tmaaa .. كنا قد ناقشنا هذه النقطة في العرب تيم عام 2002 هنا /index.ph...topic=13153&hl= وفعلا كُتِبَت طريقتين وكلاهما منشورة في أحد المواقع الصينية التي كنت مشترك بها ...

إن كان الموضوع سينتهي بطلب كود جاهز فاعتذر مقدماً اني كنت فضولياً في الموضوع ...

تحياتي للجميع

تم تعديل هذه المشاركة بواسطة cipher في 14 مايو 2006 في 15:04

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#11

السلام عليكم ورحمة الله..

أسف اخي الكريم ...

لم أقصد ابداً ما حصل :(

على العكس تماماً ... اني اود النقاش ولست من من يود كوداً جاهزاً !!!

ولكن قد تكون مصيباً بهذا الشأن وللأسف الشديد العديد يودون كود سريع يؤدي الغرض ( وأقلب الصفحة <Next>)

ولكني لست كذالك... على العكس تماما... راجع جميع مشاركاتي ... لم يكن لي طلب واحد سوى المشاركة في مشاريع من الأعضاء جميعاً..

ومن الفخر ان تكونوا من فكر بهذا من قبل ذلك التاريخ... لأني حقيقة لم تطرأ لي الفكرة على اكثر من بورت سكان ..الخ

ولكن سألقي نظرة على تلك المناقشات التي عرضتها..

ولك جزيل الشكر...

شارك معنا في (عمل مشاريع برمجيه بمشاركة جميع الأعضاء هنا, مشاريع برمجية كاملة)

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#12

أنتم نسيتم الموضوع و لا أيه

على العموم أنا خلصت إمتحانات و هكمل الموضوع

تعريف الدالة NTQuerySystemInformation

NTSYSAPI
NTSTATUS
NTAPI
NtQuerySystemInformation 
(
 IN UINT SystemInformationClass, 
   // information type
 OUT PVOID SystemInformation, 
   // pointer to buffer
 IN ULONG SystemInformationLength, 
   // buffer size in bytes
 OUT PULONG ReturnLength OPTIONAL 
   // number of bytes written to the buffer
);

التعريف المقابل فى الفيجوال بيسيك

private declare function NtQuerySystemInformation lib "ntdll.dll"(byval dwinfotype as long,byval lpstructure as long ,byval dwsize as long , dwreserved as long)as long

بالنسبة ل parameter الدالة

dwinfotype

عبارة عن نوع المعلومات التى نريدها و هم 53 نوع و النوع الذى نريده هنا هو SystemHandleInformation

lpstructure

مؤشر لمساحة من الذاكرة يستقبل المعلومات المطلوبة

همممممم الفيجوال بيسيك لا يدعم المؤشرات بصورة صحيحة و لكن يمكننا التلاعب حيث يمكن أن نعرف مصفوفة و نستخدم الدالة varptr كمؤشر للمصفوفة بعد ذلك يمككننا تفريغ محتوى المصفوفة فى type من صنعنا بأستخدام الدالة copymemory

dwsize

حجم ال system information

لا أعلم كيف نستطيع الحصول عليه أرجو المساعده

dwreserved

لا أعلم ما أهميته بالضبط و كيف يمكن وضعه

أرجو المساعده و التفاعل

تم تعديل هذه المشاركة بواسطة net_code في 4 يونيو 2006 في 14:38

لا تراجع و لا إستسلام

#13
اقتباس
أنتم نسيتم الموضوع و لا أيه

شخصياً لم أنسى الموضوع , وتستطيع القول أني متذكر أغلب المواضيع التي شاركت فيها في الفريق العربي منذ أكثر من اربع سنوات :P

المشكلة أني لا أوصل النقاش في موضوع واضعه توقف عن الحديث فيه ولا أحب أن أكلم نفسي ...

اقتباس
حجم ال system information

لا أعلم كيف نستطيع الحصول عليه أرجو المساعده

dwreserved

لا أعلم ما أهميته بالضبط و كيف يمكن وضعه

عند الإستدعاء الأول لـ NtQuerySystemInformation ستقوم بإعطاء حجم التركيب SystemHandleInformation لأن أقل معلومات يمكن الحصول عليها هي بهذا الحجم , طبعاً لن ينجح الإستدعاء لان الحجم غير كافي وسيتم ارجاع الحجم المطلوب في ReturnLength والذي أسميته في تعريفك للتابع بالفيجوال بيسك dwreserved . وهنا ستقوم باستدعاء التابع مرة أخرى باسناد الحجم الصحيح وقبل ذلك لا بد من حجز جزء من الذاكرة حجمة بالبايت مساوٍ للحجم الذي حصلنا عليه ..

ستجد الطريقة في هذا الموضوع (عذراً الشرح لم يكن جيداً )

/index.php?showtopic=14536

اقتباس
lpstructure

مؤشر لمساحة من الذاكرة يستقبل المعلومات المطلوبة

همممممم الفيجوال بيسيك لا يدعم المؤشرات بصورة صحيحة و لكن يمكننا التلاعب حيث يمكن أن نعرف مصفوفة و نستخدم الدالة varptr كمؤشر للمصفوفة بعد ذلك يمككننا تفريغ محتوى المصفوفة فى type من صنعنا بأستخدام الدالة copymemory

لا أظن إستخدام المصفوفات هي الطريقة الصحيحة ... لا أبرمج بالفيجوال بيسك لكن أظن هناك طرق أخرى . بالامكان مراجعة الامثلة التي تستخدم توابع الـ Native API في موقع planetsourcecode لمعرفة الطريقة الأمثل ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#14

أنا خلاص قربت أتجنن من ال native api :wacko:

فحصت عدة أمثلة بلغات مختلفة

و لكن لم أجد سوى المثال الذى وضعه أخى meynot بالفيجوال بيسيك

و لكن فى المثال ده حاجه غريبة جدا

ReDim Buffer(0 To 19)
	RequiredLength = 20 'len SYSTEM_HANDLE_INFORMATION

هنا مفهومه أسند لل requiredlength أقل قيمة يمكن أن تكون لل systemhandleinformation

	'first, find the RequiredLength for the SYSTEM_HANDLE_INFORMATION array
	Status = NtQuerySystemInformation(SystemHandleInformation, _
		  ByVal VarPtr(Buffer(0)), ByVal RequiredLength, 0&)

أستخدم الدالة NTQuerySystemInformation للحصول على الحجم الصحيح للتركيب

و لكن لا حظ أن القيمة التى وضعها لل dwreserved أو ReturnLength هى 0 :wacko:

	If Status = 0 Then
		Exit Do
	End If

	'obtain, RequiredLength
	CopyMemory ByVal VarPtr(NumHandles), ByVal VarPtr(Buffer(0)), 4
	RequiredLength = NumHandles * 16 + 4
	ReDim Buffer(0 To RequiredLength)

و لا حظ أيضا الطريقة الغريبة التى حصل بها على الحجم الصحيح

نسخ أول 4 بايت من ال buffer داخل ال numhandle

ثم

requiredlength = numhandle * 16 +4

سأجرى بعض التجارب و سأوافيكم بالنتيجة و لكنى أريد أن أفهم :wacko:

أتسائل أحيانا لماذا أشعر بالغباء عندما أتعامل مع ال native api :s

الرجاء من كل المهتمين المشاركة

وشكرا

تم تعديل هذه المشاركة بواسطة net_code في 8 يونيو 2006 في 14:58

لا تراجع و لا إستسلام

#15

الرفع للأهمية

لا تراجع و لا إستسلام

#16

عذراً لعدم المشاركة في المدة السابقة لإنشغالي بالعمل ..

بالنسبة لتساؤلك ستجد الجواب عليه في المرجع Windows 2000/NT Native API Reference by Gary Nebbett .ستجد النسخة الإلكترونية في قسم الدلفي ...

'first, find the RequiredLength for the SYSTEM_HANDLE_INFORMATION array
	Status = NtQuerySystemInformation(SystemHandleInformation, _
		  ByVal VarPtr(Buffer(0)), ByVal RequiredLength, 0&)

بعد هذا الإستدعاء الداتا الموجودة في Buffer ستكون عبارة عن 4byte أي ULONG عبارة عن عدد المقابض handle ثم يلي ذلك مصفوفة من SYSTEM_HANDLE_INFORMATION .

ستجد هذا الكلام في المرجع السابق الذي لا غنى لك عنه إن كنت مهتماً بـ Native API .. عليك بقراءة تعليقات الكاتب بتأن فهي مختصرة لكنها منتقاة بشكل جيد ..

رأي Mark Russinovich بالمرجع

اقتباس
Windows NT/2000 Native API Reference

Get the inside scoop on the native API with this reference. The text is terse, but the documentation is accurate. Although the author claims he didn't have access to source code, structure-field and function-parameter names bear just a little too close a resemblence to the actual definitions to be just a coincidence, according to people with legitimate source access.

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#17

شكرا أخى cipher على الرد

بصراحه ردودك تريحنى بالأضافة إلى أنه أنت الوحيد هنا الذى له تجارب عديدة مع ال native api

وهذه هو رابط الكتاب إذا كان أحد مهتما *-)

/index.ph...e=post&id=11377

لا تراجع و لا إستسلام

#18

شكراً للإطراء .

كما ذكرت أن المرجع السابق يعتبر مهم جداً ...

يسرني النقاش في مواضيع لها علاقة بــ Native API . طبعاً يجب الإنتباه الى أن أكثرها غير مصرح بها لذا قد يحصل فيها تغييرات في نسخة جديدة لنظام ويندوز ..

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

هذا الموضوع مغلق.

مواضيع مشابهة