تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Thumbs Up برنامج إدارة الجمعيات الخيرية مفتوح المصدر... الرجاء المساعدة Arabia 43 1,345 منذ 2 ساعة مضت
آخر رد: 0theghost0
  طريقة عمل قائمة خصائص شبية باالموجودةفي برنامج الفيجوال بيسك CLARO 1 58 07-12-16, 12:20 AM
آخر رد: amgad525
  [سؤال] كيف اجعل برنامج يفتح ملف نصي The Light Fire 5 102 04-12-16, 12:37 AM
آخر رد: ali.alfoly
  [سؤال] ايهما افضل في قواعد البيانات للتميم برنامج sal.softip 2 46 03-12-16, 06:59 PM
آخر رد: sal.softip
  مساعدة في عمل برنامج rabeh.ram 4 175 27-11-16, 12:29 AM
آخر رد: rabeh.ram
  [سؤال] مشاركة برنامج متصل بقاعدة بيانات sql على شبكه محلية mohammedbassim 3 85 24-11-16, 11:40 PM
آخر رد: mohammedbassim
  [VB.NET] حماية برنامج من سرقة السورس كود thevirus 1 68 20-11-16, 07:41 PM
آخر رد: محمود بكرى
  مساعدة فى برنامج ارسال رسائل sms للموبايل nabil.1710 2 85 13-11-16, 12:00 PM
آخر رد: أبوبكر سويدان
Lightbulb [سؤال] كود برنامج string يبحث و يحذف a_abdullah 9 156 07-11-16, 11:55 PM
آخر رد: a_abdullah
  برنامج مشغل موسيقى اعظم انجاز ليا فى حياتى عايز اخد رأيكم فيه elmobde3 22 2,622 04-11-16, 09:33 PM
آخر رد: زياد مقداد

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


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