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

اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click

اذهب الى الأسفل

اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click Empty اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click

مُساهمة من طرف المبرمج الطموح الأربعاء ديسمبر 25, 2013 11:12 am

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

المثال مرفق مع صورة

اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click D93f95jsjib5uisdis5

العمليه ستكون في هذا المفتاح HKEY_CLASSES_ROOT

في البدايه سنحتاج الى دوال API التي تتعامل مع الريجستري
الكود:

Read And Write to the Registry
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" ( _
ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ( _
ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ( _
ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long


ثم سنقوم بانشاء بعض التعاريف

الكود:

Const lngKeyDataType = 1 ''HnHn REG_SZ = 1
Const lngRegKeyROOT = &H80000000
Const strRegKeyName = "Directory\Shell" 'HnHn : اسم المجلد في الريجستر
'HnHn : بعض التعاريف

Dim strKeyValueName As String
Dim strOtherKeyValueName As String
Dim KeyDataValue1, KeyDataValue2
Private Const KEY_ALL_ACCESS = &H2003F



ثم سنقوم بانشاء اجرء لتنفيذ عملية انشاء مفتاح
الكود:

Private Sub SetKeyDataValue(RegKeyRoot As Long, RegKeyName As String, RegOtherKeyName As String, KeyDataType As Long, KeyValueName As String, KeyValueDate1 As Variant, KeyValueDate2 As Variant)
   
   Dim OpenKey As Long, SetValue As Long, hKey As Long
   'HnHn : التأكد من وجود المجلد
   OpenKey = RegOpenKeyEx(RegKeyRoot, RegKeyName & "\" & KeyValueName, 0, KEY_ALL_ACCESS, hKey)
   If (OpenKey <> 0) Then
   'HnHn قرءة القيم
      Call RegCreateKey(RegKeyRoot, RegKeyName & "\" & KeyValueName, hKey)
      SetValue = RegSetValueEx(hKey, "", 0&, KeyDataType, ByVal CStr(KeyValueDate1 & Chr$(0)), Len(KeyValueDate1))
   'HnHn انشاءها
      Call RegCreateKey(RegKeyRoot, RegKeyName & "\" & KeyValueName & "\" & RegOtherKeyName, hKey)
      SetValue = RegSetValueEx(hKey, "", 0&, KeyDataType, ByVal CStr(KeyValueDate2 & Chr$(0)), Len(KeyValueDate2))
   End If
   'HnHn : انهاء العمليه
   SetValue = RegCloseKey(hKey)
      MsgBox "تم انشاء المفتاح" & Space(2) & KeyValueName, vbInformation + vbOKOnly, App.Title
End Sub

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

Sub Command1_Click()
   strKeyValueName = "HnHn" 'HnHn ' اسم المجلد الذي سيحوي اسم الاختصار للبرنامج
   strOtherKeyValueName = "Command" ' HnHn  ' المجلد الذي سيحوي مسار البرنامج
   KeyDataValue1 = "&" & strKeyValueName 'HnHn : اسم القيمة المرجعيه للأسم الاختصار
   KeyDataValue2 = App.Path & "Key.exe"
   If strKeyValueName <> "" And KeyDataValue1 <> "" And KeyDataValue2 <> "" Then
   Call SetKeyDataValue(lngRegKeyROOT, strRegKeyName, strOtherKeyValueName, lngKeyDataType, strKeyValueName, KeyDataValue1, KeyDataValue2)
  Else
  Unload Me
  End If




المقال منقول للفائدة ..
أسم الكتاب / هاني الشايب
المصدر / شبكة أكواد للبرمجة
المرفقات
اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click Attachment
SetKeyWin.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(5 Ko) عدد مرات التنزيل 23
المبرمج الطموح
المبرمج الطموح
الاشراف
الاشراف

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

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

اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click Empty رد: اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click

مُساهمة من طرف end.sub الأحد يونيو 08, 2014 11:34 am

شكر لك
end.sub
end.sub
.....
.....

تاريخ التسجيل : 15/08/2013
المساهمات : 70
النقاط : 132
التقيم : 10
الدولة : مصر
الجنس : ذكر

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

اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click Empty رد: اضافة برنامجك لقائمة ويندز تظهر عند النقر Right-Click

مُساهمة من طرف qadar الإثنين يونيو 09, 2014 4:28 pm

شكرا لك


الله يبارك فيك
qadar
qadar
.
.

تاريخ التسجيل : 30/03/2014
المساهمات : 2
النقاط : 2
التقيم : 0
الدولة : لبنان
الجنس : ذكر

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

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


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