الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال: عمل امتداد خاص ببرنامجك

مغلق
بدأه maayah في 1 فبراير 2008 · 2 رد · 694 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لقد قمت بعمل برنامج على الفيجوال بيسك دوت

نت 2005 يقوم بعمل امتداد خاص لبرنامجي

اسم الامتداد .laeth ولكن بقيت عندي مشكلة

مثلا عند فتح ملف يحمل الامتداد .laeth يوجد في

داخله نص لا يظهر النص في Richtextbox1

ولقد قمت بأرفاق البرنامج مع الكود المصدري لعل احد

يجد لي حل.

وهل يمكن مثلا عند فتح صورة ان تظهر الصورة داخل

برنامجي.

مع شكري للجميع...

المرفقات

Extension_File_.Laeth.zip

#2

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

Private Sub ValueCommand()
	On Error Resume Next
	Dim x As Microsoft.Win32.RegistryKey
	x = Microsoft.Win32.Registry.ClassesRoot
	x = x.OpenSubKey(".Laeth\Shell\Open\Command", True)
	' x.SetValue("", "c:\windows\system32\ExtensionFile.exe")
	'CommandLineArgs اضافة %1 لمسار البرنامج حتي يتعرف علي 
	x.SetValue("", """c:\windows\system32\ExtensionFile.exe""" + """%1""")
	x.Close()
End Sub

'RichTextBox1.LoadFile(S)
RichTextBox1.LoadFile(s, RichTextBoxStreamType.PlainText)

تنقيح الكود

						
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		dim exe as String = "c:\windows\system32\ExtensionFile.exe"
		dim ico as String = "c:\windows\system32\ExtensionIcon.ico"

		If Not IsRegister(".Laeth") Then
				if Register(".Laeth", "For Laeth File", ico, """" + exe + """") then
						FileCopy(Application.ExecutablePath, exe)
						FileCopy("ExtensionIcon.ico", ico)
				End If
		End If

		If (My.Application.CommandLineArgs.Count > 0) Then
				Dim s As String = My.Application.CommandLineArgs(0)
				If IO.File.Exists(s) Then
						RichTextBox1.LoadFile(s, RichTextBoxStreamType.PlainText)
				End If
		End If

End Sub

' التحقق من تسجيل نوع الملف
function  IsRegister(ext as string) as Boolean
	if Registry.ClassesRoot.OpenSubKey(ext) is Nothing Then Return False
		return true
End Function

' تسجيل نوع الملف
Function Register(ByVal ext As String, comment as string, icon as string, cmd as string) As Boolean
		If Not IsRegister(ext) Then
				'انشاء الامتداد واضافة تعليق لنوع الملف
				Registry.ClassesRoot.CreateSubKey(ext).SetValue(Nothing, comment)
				' تخصيص ايقونة لنوع الملف
				Registry.ClassesRoot.CreateSubKey(ext + "\DefaultIcon").SetValue(Nothing, icon)
				' اضافة فتح الملف بواسطة مسار البرنامج
				Registry.ClassesRoot.CreateSubKey(ext + "\Shell\Open\Command").SetValue(Nothing, cmd + " " + """%1""")
				Return True
		End If
		Return False
End Function

' إلغاء تسجيل نوع الملف
Function UnRegister(ByVal ext As String) As Boolean
		If IsRegister(ext) Then
				Registry.ClassesRoot.DeleteSubKey(ext)
				Return True
		End If
		Return False
End Function

تم تعديل هذه المشاركة بواسطة Moudey في 2 فبراير 2008 في 10:01

مواضيع متنوعة

#3

يمكنك كذلك حفظ وفتح نفس البيات التي في الملف وذلك عن طريق التسلسل serialize وذلك عند فتح الملف

تم تعديل هذه المشاركة بواسطة أبوعزام في 2 فبراير 2008 في 17:50

أنا الرجل الضرب الذي تعرفونه***خشاش كرأس الحية المتوقد

لوكنت وغلاً في الرجال لضرني**** حسن جرائتي ومقتدي

منتديات طريق الهداية

هذا الموضوع مغلق.

مواضيع مشابهة