المشاركات : 118
المواضيع 25
الإنتساب : Sep 2013
السمعة :
1
الشكر: 6
تم شكره 18 مرات في 13 مشاركات
المشاركات : 49
المواضيع 0
الإنتساب : Sep 2013
السمعة :
0
الشكر: 8
تم شكره 47 مرات في 35 مشاركات
وعليكم السلام
لعله خيره مااحد يعرف وين الخير وان شاء الله راح تستفيد المره هذه وتلقى الاجابه
فكرت البرنامج رائعه جدا بالتوفيق
بالنسبه لي لاخبره لدي حتى افيدك
لكن الاخوان ان شاء الله مايقصرو معاك
___________
دمت بخير
المشاركات : 31
المواضيع 10
الإنتساب : Sep 2013
السمعة :
8
الشكر: 4
تم شكره 37 مرات في 7 مشاركات
أنا معرف كتير في الموضوع دا بس إلي عارفه التالي
بعد ما تظبط البرنامج على البرمجة إلي في دماغك
هتروح لملف txt او rtf وهتدوس كلك يمين ومن القائمة هتختار خصائص في الآخر هتلاقيها
هتدوس عليها هتتطلعلك في خانة'طفتح باستخدام' او 'open with' هتدوس على تغيير أو change هتتطلعلك قائمة البرامج
هتدوس استعراض وتختار البرنامج بتاعك من هناك وهتعلم على 'استخدام البرنامج المحدد لفتح هذا النوع من الملفات دوما' وهتدوس موافق
وألف مبروك
الكلام عن تجربة
المشاركات : 118
المواضيع 25
الإنتساب : Sep 2013
السمعة :
1
الشكر: 6
تم شكره 18 مرات في 13 مشاركات
13-09-13, 08:00 PM
(آخر تعديل لهذه المشاركة : 13-09-13, 08:08 PM {2} بواسطة boty.)
(13-09-13, 12:58 PM)يوسف البرنس كتب : أنا معرف كتير في الموضوع دا بس إلي عارفه التالي
بعد ما تظبط البرنامج على البرمجة إلي في دماغك
هتروح لملف txt او rtf وهتدوس كلك يمين ومن القائمة هتختار خصائص في الآخر هتلاقيها
هتدوس عليها هتتطلعلك في خانة'طفتح باستخدام' او 'open with' هتدوس على تغيير أو change هتتطلعلك قائمة البرامج
هتدوس استعراض وتختار البرنامج بتاعك من هناك وهتعلم على 'استخدام البرنامج المحدد لفتح هذا النوع من الملفات دوما' وهتدوس موافق
وألف مبروك
الكلام عن تجربة
اخي الكريمربما لم تفهم سؤالي
لكن عندما افعل هذا و افتح اي ملف txt يفتح برنامجي و يكون richhbox فارغا
و كيف لا يكون فأنا لم اعطه الأمر لكي يقوم بفتح النص الذي اريده
و قد قلت ايضا ان لدي ايقونه لل txt و اخرى لل rtf اريد استخدامهم
كما اني اريد ان يتم تطبيق هذا في اي جهاز اقوم بعمل set up للبرنامج عليه
اشكرك على الرد اخي
(13-09-13, 10:39 AM)Nŏ Coммεητ كتب :
وعليكم السلام
لعله خيره مااحد يعرف وين الخير وان شاء الله راح تستفيد المره هذه وتلقى الاجابه
فكرت البرنامج رائعه جدا بالتوفيق
بالنسبه لي لاخبره لدي حتى افيدك
لكن الاخوان ان شاء الله مايقصرو معاك
___________
دمت بخير
اشكرك اخي عل اهتمامك
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
14-09-13, 01:15 AM
(آخر تعديل لهذه المشاركة : 14-09-13, 01:19 AM {2} بواسطة الشاكي لله.)
بديهيا فهذا الامر يتعلق بالريجستري
بدون مقدمات .. الكود :
PHP كود :
''' <summary> '''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول ''' </summary> ''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param> ''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param> Private Sub SetDefaultProgram(Extension As String, ApplicationPath As String) 'البحث عن الامتداد المطلوب Dim key = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Extension) Dim type = key.GetValue("")
'بناء امر تعيين البرنامج المحدد في البارمتار الثاني كابرنامج افتراضس Dim command As String = """" & ApplicationPath & """" & " ""%1""" Dim keyName As String = Convert.ToString(type) & "\shell\Open\command"
Using newkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(keyName) 'تعيين البرنامج الافتراضي newkey.SetValue("", command) End Using End Sub
الكود الاصلي مكتوب بالسي شارب فإن لم تصح الترجمة فالكود الاصلي :
PHP كود :
/// <summary> ///(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول /// </summary> /// <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param> /// <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param> private void SetDefaultProgram(string Extension, string ApplicationPath) { //البحث عن الامتداد المطلوب var key = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Extension); var type = key.GetValue("");
//بناء امر تعيين البرنامج المحدد في البارمتار الثاني كابرنامج افتراضس string command = "\"" + ApplicationPath + "\"" + " \"%1\""; string keyName = type + @"\shell\Open\command";
using (var newkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(keyName)) { //تعيين البرنامج الافتراضي newkey.SetValue("", command); } }
اما طريقة الاستخدام فهي سهلة :
PHP كود :
SetDefaultProgram(".txt", Application.ExecutablePath);
تحياتي
المشاركات : 118
المواضيع 25
الإنتساب : Sep 2013
السمعة :
1
الشكر: 6
تم شكره 18 مرات في 13 مشاركات
14-09-13, 08:58 AM
(آخر تعديل لهذه المشاركة : 14-09-13, 09:00 AM {2} بواسطة boty.)
(14-09-13, 01:15 AM)الشاكي لله كتب : بديهيا فهذا الامر يتعلق بالريجستري
بدون مقدمات .. الكود :
PHP كود :
''' <summary> '''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول ''' </summary> ''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param> ''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param> Private Sub SetDefaultProgram(Extension As String, ApplicationPath As String) 'البحث عن الامتداد المطلوب Dim key = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Extension) Dim type = key.GetValue("")
'بناء امر تعيين البرنامج المحدد في البارمتار الثاني كابرنامج افتراضس Dim command As String = """" & ApplicationPath & """" & " ""%1""" Dim keyName As String = Convert.ToString(type) & "\shell\Open\command"
Using newkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(keyName) 'تعيين البرنامج الافتراضي newkey.SetValue("", command) End Using End Sub
الكود الاصلي مكتوب بالسي شارب فإن لم تصح الترجمة فالكود الاصلي :
PHP كود :
/// <summary> ///(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول /// </summary> /// <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param> /// <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param> private void SetDefaultProgram(string Extension, string ApplicationPath) { //البحث عن الامتداد المطلوب var key = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Extension); var type = key.GetValue("");
//بناء امر تعيين البرنامج المحدد في البارمتار الثاني كابرنامج افتراضس string command = "\"" + ApplicationPath + "\"" + " \"%1\""; string keyName = type + @"\shell\Open\command";
using (var newkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(keyName)) { //تعيين البرنامج الافتراضي newkey.SetValue("", command); } }
اما طريقة الاستخدام فهي سهلة :
PHP كود :
SetDefaultProgram(".txt", Application.ExecutablePath);
تحياتي
اعذر جهلي الرهيب اخي الكريم
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا
كود :
''' <summary>
'''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
''' </summary>
''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ
المشاركات : 1,733
المواضيع 147
الإنتساب : Sep 2012
السمعة :
215
الشكر: 8484
تم شكره 12163 مرات في 1145 مشاركات
(14-09-13, 08:58 AM)boty كتب : اعذر جهلي الرهيب اخي الكريم
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا
كود :
''' <summary>
'''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
''' </summary>
''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ
إنسى كل ماقلته
اضن اني مخطأ ايضا
فأعتقد انك تريد جعل برنامجك كبرنامج افتراضي من خلال الsetup
وهذا اكيد يمكنك فعله من خلال إعدادات الsetup
ماهو البرنامج الذي تقوم من خلاله بعمل setup لبرنامجك
هل هو setup factory او visual studio ام ماذا ؟
المشاركات : 463
المواضيع 42
الإنتساب : Sep 2012
السمعة :
22
الشكر: 424
تم شكره 779 مرات في 162 مشاركات
14-09-13, 01:52 PM
(آخر تعديل لهذه المشاركة : 14-09-13, 01:54 PM {2} بواسطة Omar Mekkawy.)
سلام عليكم أخي
بعد إذن أخوي ( الشاكي لله )
وجدت لك طلبك بأحد مواضيع المنتدى القديم للأخ ( أنس محمود)
كود :
Sub NewFileType(ByRef ProgramPath As String, ByVal Extension As String _
, ByRef FileIcon As String, ByRef Description As String)
Dim W As Object
Dim E As String
W = CreateObject("Wscript.shell")
If VB.Left(Extension, 1) <> "." Then
E = "." & Extension & "\"
Else
E = Extension & "\"
Extension = Mid(Extension, 2)
End If
W.regwrite("HKCR\" & E, Extension & " File")
W.regwrite("HKCR\" & Extension & " File\", Description)
W.regwrite("HKCR\" & Extension & " File\DefaultIcon\", FileIcon)
W.regwrite("HKCR\" & Extension & " File\Shell\Open\Command\", ProgramPath & " %1")
W.regwrite("HKCR\" & Extension & " File\Shell\", "Open")
End Sub
يعطيك العافية
المشاركات : 118
المواضيع 25
الإنتساب : Sep 2013
السمعة :
1
الشكر: 6
تم شكره 18 مرات في 13 مشاركات
15-09-13, 12:42 AM
(آخر تعديل لهذه المشاركة : 15-09-13, 12:56 AM {2} بواسطة boty.)
(14-09-13, 12:19 PM)الشاكي لله كتب : (14-09-13, 08:58 AM)boty كتب : اعذر جهلي الرهيب اخي الكريم
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا
كود :
''' <summary>
'''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
''' </summary>
''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ
إنسى كل ماقلته
اضن اني مخطأ ايضا
فأعتقد انك تريد جعل برنامجك كبرنامج افتراضي من خلال الsetup
وهذا اكيد يمكنك فعله من خلال إعدادات الsetup
ماهو البرنامج الذي تقوم من خلاله بعمل setup لبرنامجك
هل هو setup factory او visual studio ام ماذا ؟
أفضل استخدام setup factory فهو ذو مميزات كبيرة
(14-09-13, 01:52 PM)Omar Mekkawy كتب : سلام عليكم أخي
بعد إذن أخوي ( الشاكي لله )
وجدت لك طلبك بأحد مواضيع المنتدى القديم للأخ ( أنس محمود)
كود :
Sub NewFileType(ByRef ProgramPath As String, ByVal Extension As String _
, ByRef FileIcon As String, ByRef Description As String)
Dim W As Object
Dim E As String
W = CreateObject("Wscript.shell")
If VB.Left(Extension, 1) <> "." Then
E = "." & Extension & "\"
Else
E = Extension & "\"
Extension = Mid(Extension, 2)
End If
W.regwrite("HKCR\" & E, Extension & " File")
W.regwrite("HKCR\" & Extension & " File\", Description)
W.regwrite("HKCR\" & Extension & " File\DefaultIcon\", FileIcon)
W.regwrite("HKCR\" & Extension & " File\Shell\Open\Command\", ProgramPath & " %1")
W.regwrite("HKCR\" & Extension & " File\Shell\", "Open")
End Sub
يعطيك العافية
اخي الكريم يبدو انك اعتمدت في هذا البرنامج على الطريقة المذكورة في الرابط ادناه
الرابط
قد حاولت ان افهم منها شيئا و لكني لم افهم
كما ان هذه الطريقة لعمل امتداد جديد تماما ، انا لا اريد امتداد جديد
انا اتعامل مع txt و rtf فما العمل ؟
اعذر جهلي ان لك اكن قد فهمت ما تقصد بصورة صحيحة
المشاركات : 463
المواضيع 42
الإنتساب : Sep 2012
السمعة :
22
الشكر: 424
تم شكره 779 مرات في 162 مشاركات
15-09-13, 03:10 PM
(آخر تعديل لهذه المشاركة : 15-09-13, 03:11 PM {2} بواسطة Omar Mekkawy.)
شوف الرابط التالي :
أنا اعتقد ان الحل به
|