تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة جعل برنامجك default لأحد الأمتدادات
#1
أهلا اصدقائي كيف الحال اليوم :o
أريد خدمة صغيرة
لدي مثلا برنامج صغير لا يحتوي الا على rich box
كيف اجعل برنامجي بديلا عن النوتباد بحيث عند النقر مرتين على اي ملف له امتداد txt يفتح تلقائيا برنامجي و يذكر ما كتب في rich box
و انا اعرف الكود لكي نجعله يفتح عن طريق open file dialog من داخل البرنامج

لكنه اريده ان يفتح كانوت باد حتى و ان كان البرنامج مغلقا Smile
ما الحل ؟
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
Public Sub NewFileType(ByRef ProgramPath As StringByVal Extension As StringByRef FileIcon As StringByRef Description As String)
        
Dim W As Object
        Dim E 
As String
        W 
CreateObject("Wscript.shell")
        If 
VB.Left(Extension1) <> "." 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 

الأستخدام :
PHP كود :
NewFileType(Application.ExecutablePath"txt""G:\Icon_96.ico""Notepad Files"

يجب عمل ما فى الصورة كى يعمل الكود
الرد }}}
تم الشكر بواسطة:
#3
نسيت لقراءة الملف ضع الكود التالى فى Form_Load
PHP كود :
If Trim(VB.Command()) <> "" Then
            
If Dir(Trim(VB.Command())) <> "" Then
                
Try
                    
RichTextBox1.LoadFile(Trim(VB.Command()))
                Catch 
ex As Exception
                    
Try
                        
RichTextBox1.LoadFile(Trim(VB.Command()))
                    Catch 
eh As Exception
                        Me
.RichTextBox1.Text My.Computer.FileSystem.ReadAllText(Trim(VB.Command()))
                    
End Try
                
End Try
            
End If
        
End If 
الرد }}}
تم الشكر بواسطة:
#4
شكرا اخي جاري التجربة
الرد }}}
تم الشكر بواسطة:
#5
ahmed hussien كتب :
PHP كود :
public sub newfiletype(byref programpath as stringbyval extension as stringbyref fileicon as stringbyref description as string)
        
dim w as object
        dim e 
as string
        w 
createobject("wscript.shell")
        if 
vb.left(extension1) <> "." 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 

الأستخدام :
PHP كود :
newfiletype(application.executablepath"txt""g:\icon_96.ico""notepad files"

يجب عمل ما فى الصورة كى يعمل الكود

هناك خطأ في هذا الكود ارجو لحل
إقتباس :if vb.left(extension, 1) <> "." then

يقول ان هناك خطا في vb
الرد }}}
تم الشكر بواسطة:
#6
اسف نسيت
ضع هذا السطر فى الأعلى (اول سطر)

Imports VB = Microsoft.VisualBasic
الرد }}}
تم الشكر بواسطة:
#7
الصراحة اخي انا مش فاهم حاجة نهااااائي

و البرنمج فتح و قفل و عمل العجايب O.o
الرد }}}
تم الشكر بواسطة:
#8
تم حل المشكلة وتم تجربة الكود

PHP كود :
Imports Microsoft.Win32

Public Class Form1
    Dim p 
As String ""

    
Private Sub Form1_FormClosed(sender As ObjectAs FormClosedEventArgsHandles Me.FormClosed
        
If <> "" Then
            RichTextBox1
.SaveFile(p)
        
End If
    
End Sub

    
Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        Dim r 
As RegistryKey Registry.ClassesRoot.OpenSubKey("\txtFile\Shell\Open\Command"True)
        
r.SetValue(NothingApplication.ExecutablePath " %1")
        If 
Trim(Microsoft.VisualBasic.Command()) <> "" Then
            
If Dir(Trim(Microsoft.VisualBasic.Command())) <> "" Then
                
Try
                    
RichTextBox1.LoadFile(Trim(Microsoft.VisualBasic.Command()))
                Catch 
ex As Exception
                    
Try
                        
RichTextBox1.LoadFile(Trim(Microsoft.VisualBasic.Command()))
                    Catch 
eh As Exception
                        Me
.RichTextBox1.Text My.Computer.FileSystem.ReadAllText(Trim(Microsoft.VisualBasic.Command()))
                    
End Try
                
End Try
                
Microsoft.VisualBasic.Command()
            
End If
        
End If
    
End Sub

End 
Class 

ليس من الضروى تشغيل البرنامج كمسؤول يعنى يمكنك اعادة السطر الذى فى الصورة التى فى الأعلى الى ما كان عليه
الرد }}}
تم الشكر بواسطة:
#9
اشكرك أخي لكني عندما ضغطت على run ظهر خطأ في هذا الكود
إقتباس :Dim r As RegistryKey = Registry.ClassesRoot.OpenSubKey("\txtFile\Shell\Open\Command", True)

و رسالة الخطأ تقول
إقتباس :Requested registry access is not allowed.
ما العمل الآن ؟
الرد }}}
تم الشكر بواسطة:
#10
اسف اخى اعد عمل الذى فى الصورة التى بالأعلى
وانشاء الله لن يحدث اى خطأ تانى
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  محتاج طريقة لتنسيق نص الرسالة المرسلة إلى الواتس اب new_programer 2 163 04-03-24, 07:15 AM
آخر رد: new_programer
  طريقة اجراء نسخة احتياطية و استرجاعها ؟ Osama NY 2 461 07-02-24, 08:59 PM
آخر رد: Kamil
  ماهي طريقة نقل محتويات checkedlistbox الى داتاقريدفيو صالح عبدالله 3 253 06-01-24, 03:20 PM
آخر رد: Kamil
  [VB.NET] ما هي طريقة استدعاء الازرار في الكيبورد من خلار زر افتراضي haider.mohsin92 1 295 14-12-23, 03:19 PM
آخر رد: Kamil
  طريقة عرض التقرير كريستال ريبورت في جهاز العميل Adel27213 2 347 10-12-23, 04:03 AM
آخر رد: Adel27213
  طريقة إسناد اكثر من جدول للكريستال ريبورت Adel27213 2 353 25-11-23, 11:51 PM
آخر رد: Adel27213
  طريقة تحويل الأرقام إلى حروف Adel27213 2 495 18-11-23, 01:40 AM
آخر رد: sniper2030
  التحكم فى عرض طريقة التاريخ فى الاداة datetimepicker Ahmed.vb 3 507 08-11-23, 01:27 AM
آخر رد: الحزين اليماني
  طريقة جلب صف من قاعدة البيانات بشرط العمود ٤ لا يساوي فارغ Adel27213 2 423 07-11-23, 05:02 AM
آخر رد: Adel27213
  طريقة نقل بيانات عمود من جدول إلى جدول اخر Adel27213 4 447 06-11-23, 07:35 AM
آخر رد: justforit

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


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