السلام عليكم ورحمة الله تعالى وبرركاته
أما بعد :
الصورة توضح ماأريد -

أريد الحصول على نوع الملف كما في الصورة
مثال
File.html البرنامج يعطي HTML Document
File.txt البرنامج يعطي Text Document
السلام عليكم ورحمة الله تعالى وبرركاته
أما بعد :
الصورة توضح ماأريد -

أريد الحصول على نوع الملف كما في الصورة
مثال
File.html البرنامج يعطي HTML Document
File.txt البرنامج يعطي Text Document
فلنفترض أنك تريد معرفة نوع ملف ذو الامتداد frm
ستقوم بقراءة القيمة الأساسية Default للمفتاح :
HKEY_CLASSES_ROOT\.frm
وستجد أنه يقول لك أن معلومات الملف frm موجودة في المفتاح VisualBasic.Form
وبالتالي تذهب إلي المفتاح :
HKEY_CLASSES_ROOT\VisualBasic.Form
وتقرأ القيمة الأساسية له وستجدها Visual Basic Form File كما هي موضحة في الصورة التي أرفقتها ..
وهكذا مع أي ملف تريد معرفة نوعه ..
ستفيدك هذه المشاركة بالتأكيد لمعرفة كيفية قراءة القيم التي تريدها من الريجستري
شكرا يا إخوان
رغم أنني أحبذ API أكثر
وفي هذا المثال علي أن أقرأ قيمتين
القيمة الاولى
HKEY_CLASSES_ROOT\.frm
ثم أرسل إلى حيث توجد القيمة التي قرأت
حسنا شكرا ياإخوان
ولكن بما أنني سأستعمل API لقراءة القيمة
لا بد أن توجدAPI لاعطاء FILE TYPE
أليس كذلك
نعم توجد .. لكنها أيضا تعتمد علي سجل النظام لإتيان نوع الملف ..
علي العموم اسمها SHGetFileInfo ..
والمثال التالي من API Guide ..
يتم تعريف بنية SHFILEINFO يتم تمريرها للدالة لإرجاع معلومات الملف بها ..
فقط يتم حجز buffer مناسب ليحمل نوع الملف
szTypeName As String * 80
ومن ثم نقوم بحذف ال Nulls الزائدة في الـ Buffer بعد استدعاء الدالة ..
Const SHGFI_DISPLAYNAME = &H200 Const SHGFI_TYPENAME = &H400 Const MAX_PATH = 260 Private Type SHFILEINFO hIcon As Long ' out: icon iIcon As Long ' out: icon index dwAttributes As Long ' out: SFGAO_ flags szDisplayName As String * MAX_PATH ' out: display name (or path) szTypeName As String * 80 ' out: type name End Type Private Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long Private Sub Form_Paint() 'KPD-Team 1999 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net Dim FI As SHFILEINFO 'Get file info SHGetFileInfo "c:\autoexec.bat", 0, FI, Len(FI), SHGFI_DISPLAYNAME Or SHGFI_TYPENAME Me.Cls Me.Print "Filename: Autoexec.bat" Me.Print "Typename: " + StripTerminator(FI.szTypeName) Me.Print "Displayname: " + StripTerminator(FI.szDisplayName) End Sub 'This fucntion is used to strip al the unnecessary chr$(0)'s Function StripTerminator(sInput As String) As String Dim ZeroPos As Integer 'Search the position of the first chr$(0) ZeroPos = InStr(1, sInput, vbNullChar) If ZeroPos > 0 Then StripTerminator = Left$(sInput, ZeroPos - 1) Else StripTerminator = sInput End If End Function
نعم أخي شكرا جزيلا
ولقد وجدت مثالا في الموقع الرائع بخصوص API In VB
موقع جيد جدا
شكرا يا إخوان
شكرا أخي :lol:
Me.Thank(You)
هذا الموضوع مغلق.