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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] طريقة تفعيل الشاشة الصغيرة في جهاز الكاشير MOHAMMED ALZWI 0 257 25-09-25, 02:17 PM
آخر رد: MOHAMMED ALZWI
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,860 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 663 24-04-25, 12:58 PM
آخر رد: foad8920
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 524 25-02-25, 09:31 AM
آخر رد: heem1986
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 448 01-02-25, 03:48 PM
آخر رد: Microformt
  طريقة حفظ نسخة أحيتاطية من قاعدة بيانات sql محلية heem1986 2 502 01-01-25, 03:56 PM
آخر رد: heem1986
  طريقة جلب نوع ملفات معينة heem1986 3 485 31-12-24, 11:32 PM
آخر رد: aljzazy
  طريقة التحكم في التقرير بالكود المتألق9 2 493 23-12-24, 05:11 PM
آخر رد: atefkhalf2004
  طريقة فاتورة epos altoki939 0 302 08-12-24, 09:15 PM
آخر رد: altoki939
  طريقة عرض row altoki939 1 401 18-11-24, 06:11 AM
آخر رد: rdxdz

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


يقوم بقرائة الموضوع: