تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] تنصيب برنامج كبرنامج رئيسي لفتح احد الأمتدادات
#1
Question 
السلام عليكم
ومع انها المرة الثالثة التي اسجل فيها في هذا المنتدى الا ان التصميم الجديد اعجبني ايضا
كما ان الأقسام منظمة اكثر و اروع Smile
و اريد ان اسأل سؤالا كنت قد سألته قبل الحادث المؤلم لكني لم اجد اجابة مفيدة
Sad
سؤالي هو :-
لدي برنامج قد قمت بتصميمه يحتوي على richbox و بعض الخصائص المستخدمة من ادوات dot net bar
لا يهم Dodgy
المهم الآن هو ان هذا البرنامج يستطيع فتح امتدادين مختلفين من الملفات هما TXT و RTF

حسنا لكن كما نعلم تفتح جميع ملفات txt ببرنامج notepad و تعمل جميع ملفات rtf ببرنامج wordpad او win word

اريد جعل برنامجي هو البرنامج الرئيسي لفتح هذين الملفين Angel
بحيث عند النقر مرتين متتاليتين على ملف يمتلك امتدادا كهذا يقوم بفتح البرنامج تلقائيا
Idea
ثم ينفذ الأمر المطلوب منه حسب الأمتداد
كما ان لدي ايقونتين خاصتين بالبرنامج الأولى ل txt و الثانية ل rtf
Smile
اريد استخدامهم ايضا
كما ان البرنامج يستخدم ال setup فحين عمل setup للبرنامج على اي جهاز يتحول قارئ ملفات txt من نوت باد الى برنامجي Smile
و عند ازالته يعود الوضع كما كان
طلبي بسيط اليس كذلك ؟ Angel
و اشكركم كثيرا على الأهتمام Smile
الرد }}}
تم الشكر بواسطة:
#2



وعليكم السلام

لعله خيره مااحد يعرف وين الخير وان شاء الله راح تستفيد المره هذه وتلقى الاجابه

فكرت البرنامج رائعه جدا بالتوفيق

بالنسبه لي لاخبره لدي حتى افيدك

لكن الاخوان ان شاء الله مايقصرو معاك

___________

دمت بخير

الرد }}}
تم الشكر بواسطة:
#3
أنا معرف كتير في الموضوع دا بس إلي عارفه التالي

بعد ما تظبط البرنامج على البرمجة إلي في دماغك
هتروح لملف txt او rtf وهتدوس كلك يمين ومن القائمة هتختار خصائص في الآخر هتلاقيها
هتدوس عليها هتتطلعلك في خانة'طفتح باستخدام' او 'open with' هتدوس على تغيير أو change هتتطلعلك قائمة البرامج
هتدوس استعراض وتختار البرنامج بتاعك من هناك وهتعلم على 'استخدام البرنامج المحدد لفتح هذا النوع من الملفات دوما' وهتدوس موافق


وألف مبروك

الكلام عن تجربة
الرد }}}
تم الشكر بواسطة:
#4
(13-09-13, 12:58 PM)يوسف البرنس كتب : أنا معرف كتير في الموضوع دا بس إلي عارفه التالي

بعد ما تظبط البرنامج على البرمجة إلي في دماغك
هتروح لملف txt او rtf وهتدوس كلك يمين ومن القائمة هتختار خصائص في الآخر هتلاقيها
هتدوس عليها هتتطلعلك في خانة'طفتح باستخدام' او 'open with' هتدوس على تغيير أو change هتتطلعلك قائمة البرامج
هتدوس استعراض وتختار البرنامج بتاعك من هناك وهتعلم على 'استخدام البرنامج المحدد لفتح هذا النوع من الملفات دوما' وهتدوس موافق


وألف مبروك

الكلام عن تجربة

اخي الكريمربما لم تفهم سؤالي
لكن عندما افعل هذا و افتح اي ملف txt يفتح برنامجي و يكون richhbox فارغا
و كيف لا يكون فأنا لم اعطه الأمر لكي يقوم بفتح النص الذي اريده
و قد قلت ايضا ان لدي ايقونه لل txt و اخرى لل rtf اريد استخدامهم
كما اني اريد ان يتم تطبيق هذا في اي جهاز اقوم بعمل set up للبرنامج عليه Smile
اشكرك على الرد اخي

(13-09-13, 10:39 AM)Nŏ Coммεητ كتب :



وعليكم السلام

لعله خيره مااحد يعرف وين الخير وان شاء الله راح تستفيد المره هذه وتلقى الاجابه

فكرت البرنامج رائعه جدا بالتوفيق

بالنسبه لي لاخبره لدي حتى افيدك

لكن الاخوان ان شاء الله مايقصرو معاك

___________

دمت بخير


اشكرك اخي عل اهتمامك Big Grin
الرد }}}
تم الشكر بواسطة:
#5
بديهيا فهذا الامر يتعلق بالريجستري

بدون مقدمات .. الكود :

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 Extensionstring 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); 

تحياتي

الرد }}}
تم الشكر بواسطة: hoob computer , mohammed moh
#6
Brick 
(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 Extensionstring 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); 

تحياتي


اعذر جهلي الرهيب اخي الكريم Blush
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا Exclamation
كود :
''' <summary>
    '''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
    ''' </summary>
    ''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
    ''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ Smile
الرد }}}
تم الشكر بواسطة:
#7
(14-09-13, 08:58 AM)boty كتب : اعذر جهلي الرهيب اخي الكريم Blush
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا Exclamation
كود :
''' <summary>
    '''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
    ''' </summary>
    ''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
    ''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ Smile

إنسى كل ماقلته

اضن اني مخطأ ايضا

فأعتقد انك تريد جعل برنامجك كبرنامج افتراضي من خلال الsetup

وهذا اكيد يمكنك فعله من خلال إعدادات الsetup

ماهو البرنامج الذي تقوم من خلاله بعمل setup لبرنامجك

هل هو setup factory او visual studio ام ماذا ؟
الرد }}}
تم الشكر بواسطة: hoob computer
#8
سلام عليكم أخي Big Grin

بعد إذن أخوي ( الشاكي لله )
وجدت لك طلبك بأحد مواضيع المنتدى القديم للأخ (أنس محمود)




كود :
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

وهذا المثال بالكامل عبارة عن مفكرة متكاملة بخصائص روعة رفعتها لك Shy
01244283237.rar - 52.20 KB

يعطيك العافية
الرد }}}
تم الشكر بواسطة:
#9
(14-09-13, 12:19 PM)الشاكي لله كتب :
(14-09-13, 08:58 AM)boty كتب : اعذر جهلي الرهيب اخي الكريم Blush
اين ايض هذه الأكواد ؟
فلا اظن انها توضع فالمنطقة العامة ( اي تحت Public Class Form1)
والا لن تعمل الا عندما يكون البرنامج يعمل (و هي ايضا لا تعمل)
و انا لم افهم قصدك بقولك هذا Exclamation
كود :
''' <summary>
    '''(تعيين برنامج رئيسي لفتح الملفات (ملاحظة : يجب تنفيذ الدالة كمسؤول
    ''' </summary>
    ''' <param name="Extension">(.jpg امتداد الملفات الذي تريد عمل فتح افتراضي لها (مثال</param>
    ''' <param name="ApplicationPath">مسار البرنامج الذي سيفتح الملفات ذات الامتداد المحدد في البارمتار السابق</param>
ارجوك اعذر جهلي فانا مبتدئ بعض الشئ Smile

إنسى كل ماقلته

اضن اني مخطأ ايضا

فأعتقد انك تريد جعل برنامجك كبرنامج افتراضي من خلال الsetup

وهذا اكيد يمكنك فعله من خلال إعدادات الsetup

ماهو البرنامج الذي تقوم من خلاله بعمل setup لبرنامجك

هل هو setup factory او visual studio ام ماذا ؟

أفضل استخدام setup factory فهو ذو مميزات كبيرة Smile

(14-09-13, 01:52 PM)Omar Mekkawy كتب :
سلام عليكم أخي Big Grin

بعد إذن أخوي ( الشاكي لله )
وجدت لك طلبك بأحد مواضيع المنتدى القديم للأخ (أنس محمود)




كود :
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

وهذا المثال بالكامل عبارة عن مفكرة متكاملة بخصائص روعة رفعتها لك Shy
01244283237.rar - 52.20 KB

يعطيك العافية

اخي الكريم يبدو انك اعتمدت في هذا البرنامج على الطريقة المذكورة في الرابط ادناه

الرابط

قد حاولت ان افهم منها شيئا و لكني لم افهم Sad
كما ان هذه الطريقة لعمل امتداد جديد تماما ، انا لا اريد امتداد جديد
انا اتعامل مع txt و rtf فما العمل ؟
اعذر جهلي ان لك اكن قد فهمت ما تقصد بصورة صحيحة Blush
الرد }}}
تم الشكر بواسطة:
#10
شوف الرابط التالي :

أنا اعتقد ان الحل به Big Grin
الرد }}}
تم الشكر بواسطة: boty , mohammed moh


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 600 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,124 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  [VB.NET] كيف يمكنني استظافة سوفت وير برنامج ادارة جهاز السي بي سي في المختبر الى برنامجي الحزين اليماني 2 282 15-01-24, 10:39 PM
آخر رد: الحزين اليماني
  برنامج لحفظ اكوادي samsunggears 2 386 05-01-24, 12:57 AM
آخر رد: HALIM ELEULMA
  تنصيب البرنامج على اجهزة العملاء um_noor20 2 326 30-10-23, 04:17 PM
آخر رد: Taha Okla
  انشاء واجهات برنامج شؤون الموظفين والرواتب شمسـ لا تغيب 5 12,850 27-09-23, 10:05 PM
آخر رد: melad2002
  مطلوب برنامج لحوافظ المالية الاسطورة1 2 433 27-09-23, 09:12 PM
آخر رد: melad2002
  تشغيل برنامج خارجي ضمن شاشة برنامجي strongriseman 1 341 13-09-23, 10:14 PM
آخر رد: anes
  [VB.NET] مشكلة بعد تنصيب كريستال ريبورت mrfenix93 2 326 12-08-23, 07:09 PM
آخر رد: mrfenix93
  [نقاش] كيفية تدوير الارصدة لفتح سنة مالية جديدة محمود بكرى 10 6,183 27-07-23, 04:43 PM
آخر رد: ابو محمد محمد محمد

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم