delphi4arab منتديات دلفي للعرب
استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص (/showthread.php?tid=933)

الصفحات: 1 2 3


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - kachwahed - 04-06-2009

السلام عليكم
كنت فيما سبق سألت عن ذلك فأجابني MjIrIm بارك الله فيه لكن لم يكن ذلك ما كنت أبحث عنه...
http://www.delphi4arab.net/forum/showthread.php?tid=1171

الذي أبحث عنه هو استخراج الرقم الفيزيائي (الثابت) وليس المنطقي (المتغير) وقد قدم لي أحدهم الطريقة لذلك عن طريق Script VBS والكود هو التالي:
كود :
On Error Resume Next MyComputer = "." Set obj = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & MyComputer & "\root\cimv2") Set columns = obj.ExecQuery("Select * from Win32_DiskDrive where caption like '%USB%'") For Each item in columns Wscript.Echo "Caption: " & Item.Caption Wscript.Echo "Signature: " & Item.signature Next
طريقة الاستخدام: أكتب الكود في ملف TXT واحفظه بامتداد VBS وقم بتشغيله (لا تشخى شيئا لا علاقة لهذا بالفايروسات حتى وإن قال ذلك بعض المضادات الحساسة Big Grin)
السؤال:
كيف السبيل الى استغلال هذا Sript في الدلفي واستخراج القيمة Item.signature (السطر الأخير للسكريبت) ؟
شكرا كثيرا.


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - me_delphi - 04-06-2009

بالفعل حسب ما قرأت هناك مكونات بواسطتها تستطيع قراءة السكريبت و تنفيده من داخل دلفي...أترك لك الموضوع أخي الكريم لتتعمق فيه أكتر

ولي توجيه من الأفضل تعلم الجافا سكريبت مثلا أو أحد السكريبتات القوية أما VBScrypt فهو محدود الامكانيات


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - kachwahed - 05-06-2009

بارك الله فيك أخي me&delphi
وآسف أني تعبتك معي...
في الحقيقة هناك مكونات عديدة للقيام بذلك، منها مكون من Microsoft اسمه VBScript Conctrol
أفضل استعمال وحدة (Unit) أو مكتبة (DLL) مثل:
Delphi Wrapper for the Microsoft VBScript 5.5 RegExp Library
لم أجربها بعد ...
والذي أحاول أن أصل إليه هو استغلال القيمة Item.signature وتخزينها في متغير String لاستعمالها لاحقا.
شكرا كثيرا me&delphi


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - TF6M - 07-06-2009

السلام عليكم ,,

هل يمكنك برمجة dll بالـ VBScrypt ؟؟ .


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - MjIrIm - 07-06-2009

في البداية السلام عليكم


أخي العزيز kachwahed
بالمرفقات ان شاء الله تجد وحدتين مفيدتين جدا
بهما العديد من الوضائف
باذن الله الافادة و طلبك حاصل

اذا اردت الاجابة عن تساؤلك السابق في الموضوع الذي أشرت اليه
يمكنك استعمال الدالة SetMediaIdentifier
الموجودة في الوحدة vwin32.pas

يمكن قرائة هذه الوحدة جيدا
لان بها المزيد من الاستعمالات

تمنياتي لك بالتوفيق
و السلام.



استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - me_delphi - 07-06-2009

tf6mehboul كتب :هل يمكنك برمجة dll بالـ vbscrypt ؟؟ .

لا أضن دلك أخي الكريم

إقتباس :بالمرفقات ان شاء الله تجد وحدتين مفيدتين جدا


هل بهده الوحدة تستطيع قراءة السكريبت من داخل دلفي و تنفيده


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - kachwahed - 08-06-2009

السلام عليكم
بارك الله فيك أخي الكريم MjIrIm وجزاك الخير كله
إقتباس :هل بهده الوحدة تستطيع قراءة السكريبت من داخل دلفي و تنفيده
سأجرب وأطرح مثالا ليستفيد منه الجميع إن شاء الله
بارك الله فيكم جميعا.


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - kachwahed - 08-06-2009

السلام عليكم،
أخي MjIrIm لقد اطلعت على الوحدة VWIN32.PAS والدالة GetMediaIdentifier (وليست SetMediaIdentifier) لكنها لا تعيد الرقم الفيزيائي للقرص، وهذا مثال مع الكود سورس والملف النتفيذي:
https://www.planet-source-code.com/vb/scripts/ShowZip.asp?lngWId=7&lngCodeId=1362&strZipAccessCode=tp%2FR13626032
شكرا كثيرا أخي MjIrIm سأبحث أكثر وأوافيك بالجديد.


استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - محمد عبد العزيز - 10-06-2009


استدعاء VBS ليس طريقة جيدة فقد تثير بعض مضادات الفيروسات وبرامج الحماية
ايضا ما يقوم به Script يمكن القيام به بدلفي بطريقة اخرى
وحسب ما فهمت الهدف ليس تنفيذ VBS بقدر ما هو الحصول على رقم تسلسلي للFlash Disk
استخدم مكونات MiTeC System Informationموقعها mitec.cz
والسلام عليكم



استغلال Sript VBS في الدلفي لاستخراج الرقم التسلسلي للقرص - kachwahed - 11-06-2009

بار ك الله فيك أستاذ، جزاك الله كل خير
... فعلا ليس الهدف تفيذ VBS بقدر ما هو الحصول على الرقم التسلسلي، لكني جربت مكونات MiTeC System Information Component Suite ومكونات أخرى عديدة من هذا النوع وكلها لم لم تف بالغرض، سألت أحد الخبراء فدلني على هذا السكريبت، وسألت Marco Cantu فأجابني:
إقتباس :> 1- Is there any way to get the the Physic Serial Number for USB Disk in
> Delphi ???

I guess there is probably a Windows APi or registry lookup for that,
but I have no information.

> 2- Who can i use above VBScript and retrive the value of "Item.signature" to
> store it in varibale String ?

That code is hard to read for me... I think it uses an external component.

--
----
Marco Cantù, author Delphi 2009 Handbook

سأبحث عن دالة API هذه التي تحدث عنها، إبحثوا معي لنستفيد جميعا Smile