تعلم كيفية أستخدام الوظيفة GetDiskFreeSpace API للحصول على معلومات مساحة القرص الصلب

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية أستخدام الوظيفة GetDiskFreeSpace API للحصول على معلومات مساحة القرص الصلب

مُساهمة من طرف VB.NET في الخميس يناير 23, 2014 12:09 pm

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

الوظيفة GetDiskFreeSpaceEx يمكنك استخدامها للحصول على معلومات حول مقدار المساحة المتوفرة على وحدة تخزين القرص الصلب لديك ...حيث يمكنك حساب حجم مساحة الكلية فى القرص الصلب و حجم المساحة المتوفرة فيه و حجم المساحة المستخدمة فى هذا القرص ...

وحتى يمكنك استخدام تلك الوظيفية للحصول على معلومات وحدة التخزين لديك يجب عليك اولا استدعاء الوظيفة فى قسم التصريحات العامة على النحو التالى :

الرمز:
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long

و دعونا نلقى نظرة على باراميتر هذه الوظيفة


  • lpDirectoryName .... قيمية نصية للحصول على اسم القرص الصلب المراد حساب حجم مساحته و ان كانت قيمة هذا البارميتر خالية NULL فان الوظيفة GetDiskFreeSpaceEx تقوم حساب مساحة القرص الحالى أو القرص الذى علية برنامجك



  •  lpTotalNumberOfBytes ....قيمة رقمية لاستقبال العدد الإجمالي لل بايت على القرص.



  • lpTotalNumberOfFreeBytes ...قيمة رقمية لاستقبال عدد من وحدات البايت المتوافرة أو المتبقية على القرص


وهذا مثال كامل لقراءة مساحة القرص C

الرمز:
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long

Private Sub Form_Load()
Dim r As Long, BytesFreeToCalller As Currency, TotalBytes As Currency
Dim TotalFreeBytes As Currency, TotalBytesUsed As Currency

Const RootPathName = "C:\\"
'get the drive's disk parameters
Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)



Me.AutoRedraw = True
Me.Cls
Me.Print
Me.Print " Total Number Of Bytes:", Format$(TotalBytes * 10000, "###,###,###,##0") & " bytes"
Me.Print " Total Free Bytes:", Format$(TotalFreeBytes * 10000, "###,###,###,##0") & " bytes"
Me.Print " Free Bytes Available:", Format$(BytesFreeToCalller * 10000, "###,###,###,##0") & " bytes"
Me.Print " Total Space Used :", Format$((TotalBytes - TotalFreeBytes) * 10000, "###,###,###,##0") & " bytes"
End Sub


تحياتى لكم  Very Happy

VB.NET
المراقبين
المراقبين

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 185
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية أستخدام الوظيفة GetDiskFreeSpace API للحصول على معلومات مساحة القرص الصلب

مُساهمة من طرف م/موسي في الخميس يناير 30, 2014 11:22 am

جزاكم الله خيرا اخى الفاضل

م/موسي
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 130
النقاط : 252
التقيم : 8
الدولة : تونس
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى