PDA

View Full Version : حرفه ای: ایجاد shortcut



artin95000
پنج شنبه 28 فروردین 1393, 12:59 عصر
سلام من در حال نوشتن یک برنامه ستاپ هستم و میخوام بعد از نصب برنامه یه شورتکات ایجاد شه از نوع exe نه lnk و توی برنامه ام از هیچ نوع dll استفاده نکنم چون همونطور که گفتم این یک نصب کننده هست و فقط باید یه فایل exe داشته باشه.

ممنون میشم اگه راهنمایی کنید.

ROSTAM2
چهارشنبه 03 اردیبهشت 1393, 06:55 صبح
دراون صورت که نمی شه بهش گفت Shortcut می شه یه فایل اجرایی! منظورتون رو درست نرسوندین آیا می خواید میانبر باشه به برنامه دیگه ای که نشانه Shortcut نداشته باشه و یا اینکه اصل فایل باشه

gilsoft
پنج شنبه 04 اردیبهشت 1393, 00:24 صبح
سلام من در حال نوشتن یک برنامه ستاپ هستم و میخوام بعد از نصب برنامه یه شورتکات ایجاد شه از نوع exe نه lnk و توی برنامه ام از هیچ نوع dll استفاده نکنم چون همونطور که گفتم این یک نصب کننده هست و فقط باید یه فایل exe داشته باشه.

ممنون میشم اگه راهنمایی کنید.

سلام دوست عزیز

ابتدا رفرنس Windows Script Host Object Model رو به پروژه‌تون اضافه کنید

سپس با کد زیر رفرنس فوق رو به برنامه‌تون Import کنید:

Imports IWshRuntimeLibrary
این تابع رو هم به برنامه‌تون اضافه کنید:

Public Function CreateShortCut( ByVal ShortCutName As String, _
ByVal CreationDir As String, _
ByVal TargetFullPath As String, _
ByVal WorkingDir As String, _
ByVal IconFile As String, ByVal IconNumber As Integer) As Boolean

Try
'How to Add Reference for Import IWshRuntimeLibrary : Add Reference -> COM tab -> Windows Script Host Object Model
Dim wShell As New WshShell
If Not IO.Directory.Exists(CreationDir) Then
Dim retVal As DialogResult = _
MessageBox.Show(CreationDir & " does not exist. Do you wish to create it?", "Please be careful", _
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If retVal = DialogResult.Yes Then
IO.Directory.CreateDirectory(CreationDir)
Else
Return False
End If
End If
Dim ShortCut As IWshShortcut
ShortCut = CType(wShell.CreateShortcut(CreationDir & "\" & ShortCutName & ".lnk"), IWshShortcut)
With ShortCut
.TargetPath = TargetFullPath
.WindowStyle = 1
.Description = ShortCutName
.WorkingDirectory = WorkingDir
.IconLocation = IconFile & ", " & IconNumber
.Save()
End With
Return True
Catch ex As System.Exception
Return False
End Try
End Function 'CreateShortCut()
اینم نحوه استفاده از تابع فوق:

Dim MyBool As Boolean
MyBool = CreateShortCut("My ShortCut", _
System.Environment.GetFolderPath(Environment.Speci alFolder.Desktop), _
Application.ExecutablePath, _
Application.StartupPath, _
"Shell32.dll", 12)

'MyBool = CreateShortCut("User Temp Folder", GetFolderPath(Environment.SpecialFolder.Desktop), My.Computer.FileSystem.SpecialDirectories.Temp, "", "Shell32.dll", 32)
موفق باشید ...