رضا عقيل قام بنشر مارس 26, 2007 قام بنشر مارس 26, 2007 (معدل) لراغبي الإبداع والتميز أداة تركيب الحماية من النسخ للبرامج المصنوعة بأكسس ( برقم الهارد الحقيقي / رقم المعالج /رقم اللوحة الأم ) الإصدار الثاني. برنامج القلعة لحماية برامج أكسس من النسخ الأول من نوعه في منتديات الأكسس مبدئياً : هذه النوع من الأدوات ندر إنتاجها داخل منتدياتنا العربية والتي كان السبق في إنتاجها لأول مره داخل منتدى الأكسس لأخونا مهند عبادي وعلى أثره نحاول إنتاج أدوات لخدمة المبرمجين بصورة فعالة في القضايا الهامة والتي يكثر فيها الأسئلة مثل الحماية وقد سبق وأنتجت أداة لحل مشاكل التقارير ... ولكن أنا أومن بأن لها ضرراً من ناحية أخرى على المبرمجين بجعلهم يتوقفون عن التفكير في حل المشاكل طالما أن حلولها جاهزة وميسرة وبالتالي يضيع عليهم ثبوتية العلم بمشقة طلبه ... لن أطيل عليكم أخواني ..... كثرت الأسئلة و المواضيع الخاصة بحماية قواعد البيانات من النسخ وكثرت الرسائل على بريدي لمن يطلبون حماية برامجهم لذلك كان لا بد من صنع أداة تقوم بهذه المهمة بصورة آلية وحسب اختيارات ورغبات المبرمج و وفاءاً بوعدي سأضع الأداة بصورة غير محمية قابلة للنسخ ( وهي مجانية للاستخدام الشخصي وغير التجاري أما من يستخدمها بشكل تجاري أو يستفيد منها مادياً فيجب عليه سداد ثمنها وبذلك نكون حافظنا على جميع الحقوق وحتى لا يضيع مجهودي هباءاً ) . قبل استخدام الأداة 1- قم بعمل نسخه احتياطية لبرنامجك 2- قم بإزالة جميع أنواع التامين من برنامجك 3- التركيب يجب أن يكون قبل تقسيم قاعدة البيانات في حالة البرامج المقسمة إلى واجهة وجداول . 3- وقف عمل مضاد الفيروسات الخاص بك قبل البدء ( ولا تخاف ) البرنامج لا يحتاج لأي مراجع إضافية وسيقوم بتركيب المراجع للقاعدة الهدف في حال احتياجها لها البرنامج يركب الحماية من النسخ المدمجة مع مدة التشغيل كما يقوم بإنشاء كراك للبرنامج مع القاعدة الهدف كما ينشئ ملف نصي يوثق فيه كل ما تم عمله في برنامجك . كما يصلح لبناء نسخ تجريبية ما بعد حماية البرنامج بعد حماية البرنامج وإعطائه للعميل وعند فتحه لأحد النماذج التي تم تركيب الحماية عليها ستظهر له شاشة ممانعه تمنعه من استخدام البرنامج قبل تسجيل نسخه شرعية ... يقوم العميل بالاتصال بك ويعطيك الرقم الظاهر أمامه على الشاشة ، فتقوم أنت بفتح الكراك الذي أنشأه برنامج القلعة في نفس مجلد البرنامج وتقوم بإدخال الرقم في الخانه المخصصة له ثم تختار مدة التشغيل التي ترغب بها أي المدة التي سيعمل خلالها البرنامج لدى العميل ثم يتوقف عن العمل طالباً فك الحماية مره أخرى ( طبعاً تستطيع فتح المده تماماً إذا كان العميل اشترى البرنامج وليس تحت التجربة ) وحسب المدة سينتج لك الكراك رقم تعطيه للعميل وبذلك تكون فتحت له النسخة مدة الاستخدام التي تراها مناسبة . إلى أخواني المشرفين ( الرجاء تثبيت الموضع لمدة طويلة ) تم وضع برنامج القلعة (( الإصدار الثاني )) على نفس الرابط الأول ومن مميزاته انقسم البرنامج إلى ثلاث شعب 1- حماية برنامج 2- إزالة الحماية من برنامج 3- تصفير مدة الاستخدام لبرنامج ,,, تم وضع خيار جديد لتصدير أداة إخفاء إظهار الجداول المرتبطة والمضمنة والتي لا يمكن إظهارها بالخيارات العادية """ تم اعتماد تسجيل المرجع DAO3.6 مع المراجع الأخرى ( لأنني كنت أظن سابقاً أن كل مبرمج يستخدمه بشكل أساسي ) يستطيع الإصدار الثاني معرفة هل تم حماية هذا البرنامج من قبل بهذه الأداة وبأي نوع من الحماية منعاً للأخطاء """"" تم تبني فكرة عداد التاريخ من تاريخ تركيب البرنامج وليس من تاريخ الاستخدام ولذلك كان لا بد من وضع القسم الثالث وهو تصفير مدة الاستخدام وذلك حتى إذا قام المبرمج بتجربة البرنامج لديه قبل إعطائه للعميل سيتم تسجيل المدة التى قام بالتجربه فيها لذلك يجب علها تصفيرها قبل إعطائه للعميل .. إما إذا لم يقم بتجربة البرنامج فلا داعي .. حجم البرنامج 856 كيلو بايت تم تعديل الموضوع من قبل أخوكم في الله /بو يوسف الراشد وذلك نظراً لنزول الإصدار الثاني من البرنامج وذلك بناءً على طلب أخونا المبدع / رضا عقيل كما تم وضع تعليقه على الإصدار الثاني تم رفع البرنامج + الشرح + مثال حماية برامج الأكسس.rar تم تعديل أبريل 12, 2014 بواسطه أبا عمر 2
يوسف أحمد قام بنشر مارس 26, 2007 قام بنشر مارس 26, 2007 مرحباً بك استاذنا المبدع رضا عقيل اتقدم لك بجزيل الشكر والتقدير على هذا المجهود الكبير وعلى هذه الهدية القيمة بارك الله فيك ونفع بعلمك وجزاك الله خيراً على كل ما تقدمه في سبيل ابتغاء الاجر و نشر العلم تم تثبيت الموضوع تقبل فائق الاحترام والتقدير،،، تلميذكم / Yousef
التقني قام بنشر مارس 26, 2007 قام بنشر مارس 26, 2007 السلام عليكم ورحمة الله كل الشكر والتقدير لأستاذنا رضا عقيل على هذا الابداع والتميز تم تحميل المرفق وجاري تجربته والشكر موصول لأخي يوسف على تثبيته لهذا الموضوع المتميز 1
momo_fayed قام بنشر مارس 26, 2007 قام بنشر مارس 26, 2007 السلام عليكم ورحمة الله كل الشكر والتقدير للمبدع رضا عقيل تم تحميل الملف وجاري تجربته وإلى مزيد من التقدم والإبتكار والإبداع والشكر للأخ Yousef على التثبيت
saher1975 قام بنشر مارس 27, 2007 قام بنشر مارس 27, 2007 ما شاء الله عليك يا استاذ رضا عقيل تم التحميل وان شاء الله سأجربه .
التقني قام بنشر مارس 27, 2007 قام بنشر مارس 27, 2007 السلام عليكم ورحمة الله جزاك الله كل خير أخي رضا على هذا البرنامج المتقن مزايا البرنامج : 1- امكانية اختيار نوع الجهاز المراد ربط الحماية به . 2- تقرير عن الخطوات التي تمت خلال تثبيت الحماية . 3- انشاء ملف (كراك) يحتفظ به المبرمج ينفع عند طلب الترخيص .
بو يوسف الراشد قام بنشر مارس 27, 2007 قام بنشر مارس 27, 2007 جزاك الله خير أخوي / رضا عقيل على هذا البرنامج القيم
ajamy قام بنشر مارس 27, 2007 قام بنشر مارس 27, 2007 ماشاء الله عليك أستاذنا الكريم الأخ/رضا ربنا يزيدك من علمة وينوبنا من العلم جانب
ابوأثير قام بنشر مارس 28, 2007 قام بنشر مارس 28, 2007 بارك الله فيك على البرنامج وجزاك الله خير اخوك رعد
محمد طاهر عرفه قام بنشر مارس 28, 2007 قام بنشر مارس 28, 2007 سعدت لرؤية مشاركتك أخي العزيز رضا و بالتأكيد ستكون مفيدة للجميع و سأحرص بإذن الله على تصدر الموضوع لنشرة أوفيسنا بعد عدة أيام ، ليصل الى جميع الاعضاء و جزاك الله خيرا و لا تغيب عنا كثيرا
منذر عساج قام بنشر مارس 28, 2007 قام بنشر مارس 28, 2007 بسم الله تقبل جزيل الشكر وفائق الإحترام أستاذنا العزيز على هذه الهدية القيمة ( من طول الغيبات جاب الغنايم ) وفقك الله ونفعنا بعلمك ,,,
رضا عقيل قام بنشر مارس 28, 2007 الكاتب قام بنشر مارس 28, 2007 بارك الله فيكم جميعاً وترقبوا الإصدار الثاني خلال 24 ساعة
رضا عقيل قام بنشر مارس 29, 2007 الكاتب قام بنشر مارس 29, 2007 أخي بو يوسف مع خالص التحية لهذا الاهتمام الواضح الرجاء إضافة النص التالي للمشاركة الأولى لأنني لم أستطيع تحريرها الملف الخاص بالإصدار الثاني اسمه (( RedaOkailPro2)) على نفس الرابط القديم فقط استبدل اسم الملف القديم بالجديد وغير الصور لأن هناك الكثير جديد والصراحة ألف شك لك لأنني لم أجد الوقت الكافي لشرح البرنامج بالصور مع خالص التحية ططططططططططططططططططططططططططططططططططط تم وضع برنامج القلعة (( الإصدار الثاني )) على نفس الرابط الأول ومن مميزاته انقسم البرنامج إلى ثلاث شعب 1- حماية برنامج 2- إزالة الحماية من برنامج 3- تصفير مدة الاستخدام لبرنامج ,,, تم وضع خيار جديد لتصدير أداة إخفاء إظهار الجداول المرتبطة والمضمنة والتي لا يمكن إظهارها بالخيارات العادية """ تم اعتماد تسجيل المرجع DAO3.6 مع المراجع الأخرى ( لأنني كنت أظن سابقاً أن كل مبرمج يستخدمه بشكل أساسي ) يستطيع الإصدار الثاني معرفة هل تم حماية هذا البرنامج من قبل بهذه الأداة وبأي نوع من الحماية منعاً للأخطاء """"" تم تبني فكرة عداد التاريخ من تاريخ تركيب البرنامج وليس من تاريخ الاستخدام ولذلك كان لا بد من وضع القسم الثالث وهو تصفير مدة الاستخدام وذلك حتى إذا قام المبرمج بتجربة البرنامج لديه قبل إعطائه للعميل سيتم تسجيل المدة التى قام بالتجربه فيها لذلك يجب علها تصفيرها قبل إعطائه للعميل .. إما إذا لم يقم بتجربة البرنامج فلا داعي .. <><><><><><><><><><><><><><><><><><><><><><><><><><><><>< أخواني البرنامج بالكامل أصبح تحفة فنيه """"""""""""""""""""""""""""""""""""
ابوأثير قام بنشر مارس 30, 2007 قام بنشر مارس 30, 2007 الف شكر اخي رضا عقيل على التحفة الرائعة التي قل وجودها في المنتديات وبصراحة انت اللي تحفة نادرة وما على باقي الاخوان قصور تحياتي : رعد
lotfymakh قام بنشر مارس 30, 2007 قام بنشر مارس 30, 2007 الأخ الكريم/رضا عقيل شكرا جزيلا على مجهودك فى استنتاج داة الحماية ثم وضعها فى شكل برنامج ثم تطويره . بارك الله لك فى جهدك و فكرك و لقد تابعت موضوع الحماية برقم الهارد فى منتدى الفريق العربى من خلال مجموعة مداخلات لعدة زملاء افاضل ايضا منهم مشاركتك و الحق ان وضع الموضوع فى شكل برنامج سوف يريحنا كثيرا و لكننا لا زلنا نطمع فى قيام سيادتكم فى تحديد جزء من الموضوع و ليكن الحماية برقم الهارد فقط ( دون تطرق لباقى امكانيات البرنامج ) ثم عرض الكود المصدرى له حيث ان العروض السابقة بالمنتديات الأخرى شابها بعض الأخطاء مثل ظهور رقم سالب عند عرض الرقم المنطقى للهارد و لم تفلح محاولات منع ذلك عن طريق توصيف الحقل بشكل مزدوج كما نصح بذلك البعض شكرا لك و بارك الله لك فى وقتك و جهدك
salman20032 قام بنشر مارس 31, 2007 قام بنشر مارس 31, 2007 بسم الله الرحمن الرحيم الاخ الاستاذ رضا عقيل الله يجزاك الف خير وماقصرت
sx1 قام بنشر أبريل 1, 2007 قام بنشر أبريل 1, 2007 بسم الله الرحمن الرحيم اخي رضا بارك الله فيك ولك جزيل الشكر ولكن اخي الكريم هل من الممكن شرح معادلات معرفة رقم اللوحة الام - الهارد ديسك - رقم المعالج لان هذه المعادلات سالنا عليها مرارا وتكرارا دون رد نهائي وشافي فمن باب المعرفة ونشر العلم نرجو منك ارفاق تلك المعادلات طبعا انا لا اطلب وضع الملف مفتوح لانك تعرضه للاستفادة المادية وهذا من حقك بالكامل ومجرد نشرك له للاستفادة من قبل الاعضاء بصورة محمية يعتبر تفضلا منك وشهامة ولذلك ما اطلبة فقط هو الكود لاعطائي رقم اللوحة الام - الهارد ديسك - رقم المعالج وشكرا لك اخي الكريم
sobeeh قام بنشر أبريل 2, 2007 قام بنشر أبريل 2, 2007 الاخ الكريم رضا نشكرك على مجهودك العظيم فقد مشكلة وهى بعد تركيب الحماية وفى شاشة تسجيل نسخة شرعية يظهر فى الخانه الاولى Not present ولى ملحوظه وهى عند انتهاء مدة البرنامج 15 يوم مثلاً سوف يقوم برنامج القلعة للحماية بمطالبتك برقم النسخة من جديد ... واذا احتفظ المستخدم برقم النسخة في كراسته ... سيكتب نفس الرقم ويقوم برنامج القلعة بإعطائه نفس المدة السابقة وهكذا........شكراً.
ADHAM قام بنشر أبريل 2, 2007 قام بنشر أبريل 2, 2007 قد سميتك من قبل شيطان الأكسس ACCESS DEVIL وها أنت تثبت لنا يوما بعد يوم أنك لست فقط شيطان ولكنك ؟؟؟؟ تحياتي واحترامي مع حبي واعجابي
cheecky_boy25 قام بنشر أبريل 2, 2007 قام بنشر أبريل 2, 2007 الأخ الكريم/رضا عقيلشكرا جزيلا على مجهودك فى استنتاج داة الحماية ثم وضعها فى شكل برنامج ثم تطويره . بارك الله لك فى جهدك و فكرك و لقد تابعت موضوع الحماية برقم الهارد فى منتدى الفريق العربى من خلال مجموعة مداخلات لعدة زملاء افاضل ايضا منهم مشاركتك و الحق ان وضع الموضوع فى شكل برنامج سوف يريحنا كثيرا بارك الله لك و فيك ... وزادك من علمه ... وزودك بالتقوى ... قال صلى الله عليه وسلم " ألا إن خير الزاد التقوى "
رضا عقيل قام بنشر أبريل 3, 2007 الكاتب قام بنشر أبريل 3, 2007 (معدل) أخواني آسف للتأخر عليكم بالنسبة لل:واد الخاصة باستنتاج أرقام ( الهارد ) ( المعالج ) ( اللوحة الأم ) 1- الكود الخاص بالهارد Option Compare Database Option Explicit Private Const GENERIC_READ = &H80000000 Private Const GENERIC_WRITE = &H40000000 Private Const FILE_SHARE_READ = &H1 Private Const FILE_SHARE_WRITE = &H2 Private Const OPEN_EXISTING = 3 Private Const CREATE_NEW = 1 Private Const INVALID_HANDLE_VALUE = -1 Private Const VER_PLATFORM_WIN32_NT = 2 Private Const IDENTIFY_BUFFER_SIZE = 512 Private Const OUTPUT_DATA_SIZE = IDENTIFY_BUFFER_SIZE + 16 Private Type GETVERSIONOUTPARAMS bVersion As Byte bRevision As Byte bReserved As Byte bIDEDeviceMap As Byte fCapabilities As Long dwReserved(3) As Long End Type Private Type IDEREGS bFeaturesReg As Byte bSectorCountReg As Byte bSectorNumberReg As Byte bCylLowReg As Byte bCylHighReg As Byte bDriveHeadReg As Byte bCommandReg As Byte bReserved As Byte End Type Private Type SENDCMDINPARAMS cBufferSize As Long irDriveRegs As IDEREGS bDriveNumber As Byte bReserved(2) As Byte dwReserved(3) As Long bBuffer() As Byte End Type Private Const IDE_ID_FUNCTION = &HEC Private Const IDE_EXECUTE_SMART_FUNCTION = &HB0 Private Const SMART_CYL_LOW = &H4F Private Const SMART_CYL_HI = &HC2 Private Type DRIVERSTATUS bDriverError As Byte bIDEStatus As Byte bReserved(1) As Byte dwReserved(1) As Long End Type Private Type IDSECTOR wGenConfig As Integer wNumCyls As Integer wReserved As Integer wNumHeads As Integer wBytesPerTrack As Integer wBytesPerSector As Integer wSectorsPerTrack As Integer wVendorUnique(2) As Integer sSerialNumber(19) As Byte wBufferType As Integer wBufferSize As Integer wECCSize As Integer sFirmwareRev(7) As Byte sModelNumber(39) As Byte wMoreVendorUnique As Integer wDoubleWordIO As Integer wCapabilities As Integer wReserved1 As Integer wPIOTiming As Integer wDMATiming As Integer wBS As Integer wNumCurrentCyls As Integer wNumCurrentHeads As Integer wNumCurrentSectorsPerTrack As Integer ulCurrentSectorCapacity As Long wMultSectorStuff As Integer ulTotalAddressableSectors As Long wSingleWordDMA As Integer wMultiWordDMA As Integer bReserved(127) As Byte End Type Private Type SENDCMDOUTPARAMS cBufferSize As Long DRIVERSTATUS As DRIVERSTATUS bBuffer() As Byte End Type Private Const SMART_ENABLE_SMART_OPERATIONS = &HD8 Public Enum STATUS_FLAGS PRE_FAILURE_WARRANTY = &H1 ON_LINE_COLLECTION = &H2 PERFORMANCE_ATTRIBUTE = &H4 ERROR_RATE_ATTRIBUTE = &H8 EVENT_COUNT_ATTRIBUTE = &H10 SELF_PRESERVING_ATTRIBUTE = &H20 End Enum Private Const DFP_GET_VERSION = &H74080 Private Const DFP_SEND_DRIVE_COMMAND = &H7C084 Private Const DFP_RECEIVE_DRIVE_DATA = &H7C088 Private Type ATTR_DATA AttrID As Byte AttrName As String AttrValue As Byte ThresholdValue As Byte WorstValue As Byte StatusFlags As STATUS_FLAGS End Type Private Type DRIVE_INFO bDriveType As Byte SerialNumber As String Model As String FirmWare As String Cilinders As Long Heads As Long SecPerTrack As Long BytesPerSector As Long BytesperTrack As Long NumAttributes As Byte Attributes() As ATTR_DATA End Type Private Enum IDE_DRIVE_NUMBER PRIMARY_MASTER PRIMARY_SLAVE SECONDARY_MASTER SECONDARY_SLAVE TERTIARY_MASTER TERTIARY_SLAVE QUARTIARY_MASTER QUARTIARY_SLAVE End Enum Private Declare Function CreateFile Lib "kernel32" _ Alias "CreateFileA" _ (ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ lpSecurityAttributes As Any, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long Private Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long Private Declare Function DeviceIoControl Lib "kernel32" _ (ByVal hDevice As Long, _ ByVal dwIoControlCode As Long, _ lpInBuffer As Any, _ ByVal nInBufferSize As Long, _ lpOutBuffer As Any, _ ByVal nOutBufferSize As Long, _ lpBytesReturned As Long, _ lpOverlapped As Any) As Long Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" _ (hpvDest As Any, _ hpvSource As Any, _ ByVal cbCopy As Long) Private Type OSVERSIONINFO OSVSize As Long dwVerMajor As Long dwVerMinor As Long dwBuildNumber As Long PlatformID As Long szCSDVersion As String * 128 End Type Private Declare Function GetVersionEx Lib "kernel32" _ Alias "GetVersionExA" _ (LpVersionInformation As OSVERSIONINFO) As Long Private Function GetDriveInfo(drvNumber As IDE_DRIVE_NUMBER) As DRIVE_INFO Dim hDrive As Long Dim di As DRIVE_INFO hDrive = SmartOpen(drvNumber) If hDrive <> INVALID_HANDLE_VALUE Then If SmartGetVersion(hDrive) = True Then With di .bDriveType = 0 .NumAttributes = 0 ReDim .Attributes(0) .bDriveType = 1 End With If SmartCheckEnabled(hDrive, drvNumber) Then If IdentifyDrive(hDrive, IDE_ID_FUNCTION, drvNumber, di) = True Then GetDriveInfo = di End If End If End If End If CloseHandle hDrive End Function Private Function IdentifyDrive(ByVal hDrive As Long, _ ByVal IDCmd As Byte, _ ByVal drvNumber As IDE_DRIVE_NUMBER, _ di As DRIVE_INFO) As Boolean Dim SCIP As SENDCMDINPARAMS Dim IDSEC As IDSECTOR Dim bArrOut(OUTPUT_DATA_SIZE - 1) As Byte Dim cbBytesReturned As Long With SCIP .cBufferSize = IDENTIFY_BUFFER_SIZE .bDriveNumber = CByte(drvNumber) With .irDriveRegs .bFeaturesReg = 0 .bSectorCountReg = 1 .bSectorNumberReg = 1 .bCylLowReg = 0 .bCylHighReg = 0 .bDriveHeadReg = &HA0 If Not IsWinNT4Plus Then .bDriveHeadReg = .bDriveHeadReg Or ((drvNumber And 1) * 16) End If .bCommandReg = CByte(IDCmd) End With End With If DeviceIoControl(hDrive, _ DFP_RECEIVE_DRIVE_DATA, _ SCIP, _ Len(SCIP) - 4, _ bArrOut(0), _ OUTPUT_DATA_SIZE, _ cbBytesReturned, _ ByVal 0&) Then CopyMemory IDSEC, bArrOut(16), Len(IDSEC) di.Model = StrConv(SwapBytes(IDSEC.sModelNumber), vbUnicode) di.SerialNumber = StrConv(SwapBytes(IDSEC.sSerialNumber), vbUnicode) IdentifyDrive = True End If End Function Private Function IsWinNT4Plus() As Boolean Dim osv As OSVERSIONINFO osv.OSVSize = Len(osv) If GetVersionEx(osv) = 1 Then IsWinNT4Plus = (osv.PlatformID = VER_PLATFORM_WIN32_NT) And _ (osv.dwVerMajor >= 4) End If End Function Private Function SmartCheckEnabled(ByVal hDrive As Long, _ drvNumber As IDE_DRIVE_NUMBER) As Boolean Dim SCIP As SENDCMDINPARAMS Dim SCOP As SENDCMDOUTPARAMS Dim cbBytesReturned As Long With SCIP .cBufferSize = 0 With .irDriveRegs .bFeaturesReg = SMART_ENABLE_SMART_OPERATIONS .bSectorCountReg = 1 .bSectorNumberReg = 1 .bCylLowReg = SMART_CYL_LOW .bCylHighReg = SMART_CYL_HI .bDriveHeadReg = &HA0 If Not IsWinNT4Plus Then .bDriveHeadReg = .bDriveHeadReg Or ((drvNumber And 1) * 16) End If .bCommandReg = IDE_EXECUTE_SMART_FUNCTION End With .bDriveNumber = drvNumber End With SmartCheckEnabled = DeviceIoControl(hDrive, _ DFP_SEND_DRIVE_COMMAND, _ SCIP, _ Len(SCIP) - 4, _ SCOP, _ Len(SCOP) - 4, _ cbBytesReturned, _ ByVal 0&) End Function Private Function SmartGetVersion(ByVal hDrive As Long) As Boolean Dim cbBytesReturned As Long Dim GVOP As GETVERSIONOUTPARAMS SmartGetVersion = DeviceIoControl(hDrive, _ DFP_GET_VERSION, _ ByVal 0&, 0, _ GVOP, _ Len(GVOP), _ cbBytesReturned, _ ByVal 0&) End Function Private Function SmartOpen(drvNumber As IDE_DRIVE_NUMBER) As Long If IsWinNT4Plus() Then SmartOpen = CreateFile("\\.\PhysicalDrive" & CStr(drvNumber), _ GENERIC_READ Or GENERIC_WRITE, _ FILE_SHARE_READ Or FILE_SHARE_WRITE, _ ByVal 0&, _ OPEN_EXISTING, _ 0&, _ 0&) Else SmartOpen = CreateFile("\\.\SMARTVSD", _ 0&, 0&, _ ByVal 0&, _ CREATE_NEW, _ 0&, _ 0&) End If End Function Private Function SwapBytes(b() As Byte) As Byte() Dim bTemp As Byte Dim cnt As Long For cnt = LBound(b) To UBound(b) Step 2 bTemp = b(cnt) b(cnt) = b(cnt + 1) b(cnt + 1) = bTemp Next cnt SwapBytes = b() End Function Private Sub cmdClose_Click() DoCmd.Close End Sub Private Sub Form_Load() Dim di As DRIVE_INFO Dim drvNumber As Long di = GetDriveInfo(drvNumber) With di Select Case .bDriveType Case 0 Me.text05.Value = "[Not present]" Case 1 Me.text05.Value = Trim$(.SerialNumber) Case 2 text05.Value = "[ATAPI drive - info not available]" Case Else text05.Value = "[drive type not known]" End Select End With End Sub كود رقم المعالج يحتاج إلى المرجع Microsoft WMI Scripting Option Compare Database Option Explicit Private asCpuPaths() As String Private m_objCPUSet As SWbemObjectSet Private m_objWMINameSpace As SWbemServices Private Sub cmdClose_Click() DoCmd.DoCmd.Close End Sub Private Sub Form_Load() Dim objCPUSet As SWbemObjectSet Dim objWMINameSpace As SWbemServices Dim oCpu As SWbemObject Dim is2 As String Set objWMINameSpace = GetObject("winmgmts:") Set objCPUSet = objWMINameSpace.InstancesOf("Win32_Processor") For Each oCpu In objCPUSet is2 = oCpu.ProcessorID Exit For Next Me.text05.Value = Trim$(is2) End Sub كود اللوحة الأم Option Compare Database Option Explicit Public Lst1 As New Collection, Lst2 As New Collection Public Acpath As String Public Function MBSerialNumber() As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_BaseBoard") For Each obj In objs sAns = sAns & obj.SerialNumber If sAns < objs.Count Then sAns = sAns '& "," Next MBSerialNumber = sAns End Function Private Sub Form_Load() Me.text05 = Trim$(MBSerialNumber) End Sub Private Sub cmdClose_Click() DoCmd.DoCmd.Close End Sub كما يوجد ملف مرفق به ثلاث نماذج مطبق عليها هذه الأكواد بدون إضافات أرجوا أن أكون وفيت بالمطلوب مع خالص تحياتي رضا عقيل export.rar تم تعديل أبريل 4, 2007 بواسطه رضا عقيل
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.