تقييم الموضوع :
  • 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
اسف اخى اعد عمل الذى فى الصورة التى بالأعلى
وانشاء الله لن يحدث اى خطأ تانى
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة لقص صورة في الpictureBox1 CLARO 6 102 منذ 4 ساعة مضت
آخر رد: Fantastico
  [VB.NET] كيف تجعل برنامجك يشتغل ك Administrator thevirus 2 64 21-11-16, 06:38 PM
آخر رد: thevirus
  [سؤال] طريقة عمل كشف حساب (دائن ومدين) اليوم مبتدئة وغداً محترفة 11 338 14-11-16, 08:26 AM
آخر رد: Genius Live
  طريقة تحزيم التطبيق اليوم مبتدئة وغداً محترفة 1 118 12-11-16, 08:16 AM
آخر رد: اليوم مبتدئة وغداً محترفة
  طريقة عمل استعلام في sql server 2014 Rabeea Qbaha 2 75 07-11-16, 03:13 PM
آخر رد: Rabeea Qbaha
  [سؤال] هل يلزم تثبيت SQL Server في جهاز الزبون الذي ستبيع له برنامجك ام هناك طريقة اخرى؟ thevirus 3 146 06-11-16, 07:51 PM
آخر رد: العواد الصغير
  ممكن طريقة عرض بيانات على ListView ؟ mmm650 2 117 30-10-16, 10:14 PM
آخر رد: adel27
  هل من طريقة لإنشاء اداة بنفسك في vb.net thevirus 2 89 30-10-16, 06:15 PM
آخر رد: silverlight
  ممكن طريقة عرض بيانات على ListView ؟ mmm650 0 53 29-10-16, 08:37 PM
آخر رد: mmm650
  طريقة تغيير الباك كلر للتكست بوكس thevirus 8 210 29-10-16, 05:57 PM
آخر رد: thevirus

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


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