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

كيف يمكنني معرفة المسار الذي يشير إليه الإختصار

مغلق
بدأه عبد العزيز اليوسفي في 6 يناير 2007 · 12 رد · 1,966 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

هذا هو سؤالي الثالث في هذا المنتدى

لنفترض أن لدينا إختصار لبرنامج ما على سطح المكتب ، وإذا فتحنا الإختصار بزر الماوس اليمين نجد مسار البرنامج

والسؤال هو كيف يمكن عن طريق الفوجول معرفة مسار البرنامج من هذا الإختصار

أعتقد أن السؤال صعب قليلاً ونادر ، أرجو المساعدة و الإجابة من حضرتكم الكريمة

#2

يمكن عمل هذا الاختصار بواسطة برامج التحزيم او عن طريق هذا الكود

Sub CreateProgManGroup(x As Form, GroupName$, GroupPath$)
	Dim i%, z%				'Declare required working variables
	Screen.MousePointer = 11  'hourglass mousepointer while working
	On Error Resume Next	  'Not good to have program crash :-)
	' Set LinkTopic & LinkMode parameters
	x.Label1.LinkTopic = "ProgMan|Progman"
	x.Label1.LinkMode = 2
	For i% = 1 To 10		  ' Give the DDE process time to take place
	  z% = DoEvents()
	Next
	x.Label1.LinkTimeout = 100
	' Actually create the group now
	x.Label1.LinkExecute "[CreateGroup(" + GroupName$ + Chr$(44) + GroupPath$ + ")]"
	' Reset label properties and mousepointer
	x.Label1.LinkTimeout = 50
	x.Label1.LinkMode = 0
	Screen.MousePointer = 0
End Sub


Sub CreateProgManItem(x As Form, CmdLine$, IconTitle$)
	Dim i%, z%				'Declare required working variables
	Screen.MousePointer = 11  'hourglass mousepointer while working
	On Error Resume Next	  'Not good to have program crash :-)
	' Set LinkTopic & LinkMode parameters
	x.Label1.LinkTopic = "ProgMan|Progman"
	x.Label1.LinkMode = 2
	For i% = 1 To 10		  ' Give the DDE process time to take place
	  z% = DoEvents()
	Next
	x.Label1.LinkTimeout = 100
	x.Label1.LinkExecute "[AddItem(" + CmdLine$ + Chr$(44) + IconTitle$ + Chr$(44) + ",,)]"
	' Reset label properties and mousepointer
	x.Label1.LinkTimeout = 50
	x.Label1.LinkMode = 0
	Screen.MousePointer = 0
End Sub


Private Sub Command1_Click()
CreateProgManGroup Me, "VB Library", "c:\windows"
CreateProgManItem Me, App.Path + "\library", "VB Library"

End Sub

سجل ايميلك هنا

googlejb5.gif ليصلك كل ما هو مفيد في عالم البرمجة
#3

أخي HnHn الظاهر إنك ما أستوعبت السؤال :blink: :blink: :blink:

أنا لم أطلب إنشاء إختصار على سطح المكتب :( :( :(

طلبت معرفة مساربرنامج الإختصار :rolleyes: :rolleyes: :rolleyes:

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 7 يناير 2007 في 01:51

#7

استخدام دوال مكتبة WScript.Shell سيحل الأمر ..

نفس الدالة التي تستخدم لإنشاء الاختصار CreateShortCut تستخدم لفتح ملف الاختصار إذا كان موجودا من قبل .. ومن ثم استخدام TargetPath لمعرفة مسار الاختصار ..

Set WShell = CreateObject("WScript.Shell")
Set objlnk = WShell.CreateShortCut("C:\FileName.lnk")
MsgBox "Path =" & objlnk.TargetPath
#8

مجرد أنك تبعت مسار الأختصار كـ Command Line Argument للبرنامج , هتلاقى المسار الكامل جايلك عليه

#9

الأخ Pharaonic_Guy كفبت ووفيت ولك الشكروالإحترام

وتمت الإجابة على السؤال

وإذا عندك أو عند باقي الاعضاء طريقة أخرى بدون مكتبة WScript.Shell

وذلك للإستفادة فقط

مشكورأخ msayed2004 وكما يقولون ذيادة الخير خيرين

لوتكرمت تشرح كلامك شوي ، ماذا تقصد ب Command Line Argument

بارك الله بكم جميعاً

#10

مرفق مشروع عبيط أنا كنت عامله لسببين :

الأول كمثال على الـ Command Line Arguments

و الثانى كأداه أجيب بيها مسارات الملفات و المجلدات بكل سهوله.

ده شرح لموضوع الـ Command Line Arguments فى الـ VB6

http://www.vbexplorer.com/VBExplorer/vb_fe...e_arguments.asp

Context_Menu_Get_Path.rar

#12

المشكلة في طريقة الـ Command لو طبقتها في مشروع .. أنها لن تأتي بالمسار أتوماتيكيا ..

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

أنا كنت عامل مشروع من سنتين يقوم بفتح ملف الـ LNK بيناري وإتيان المسار منه ..

سأبحث عنه عندي , وإذا وجدته سأرفقه ..

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

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