请问怎么让快捷方式图标为FORM的ICO图标?
请问怎么让快捷方式图标为FORM的ICO图标?Set WshShell = CreateObject("Wscript.shell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oMyShortcut = WshShell.CreateShortcut(strDesktop & "\QQ.lnk") '快捷名称
oMyShortcut.IconLocation =me.icon '快捷图标"
oMyShortcut.TargetPath = App.path & "\" & App.EXEName '源文件
oMyShortcut.WorkingDirectory = App.path & "\"
oMyShortcut.Hotkey = "ALT+CTRL+Z" ''快捷热键
oMyShortcut.Arguments = "" '源文件命令
oMyShortcut.Description = "【ご縗囝の纞ご】 - QQ:540428497" & vbCrLf & "" '这里是说明信息
oMyShortcut.WindowStyle = WshNormalFocus
oMyShortcut.Save
我把oMyShortcut.IconLocation =me.icon" '快捷图标" 改成ME.ICON图标 ,生成的快捷方式没有图标
[解决办法]
Option Explicit'*************************************************************************'**模 块 名:ModCreateLnk'**说 明:创建快捷方式'**创 建 人:嗷嗷叫的老马'**日 期:2007年6月22日'**备 注: 紫水晶工作室 版权所有'** 更多模块/类模块请访问我站: http://www.m5home.com'**版 本:V1.0'*************************************************************************Public Sub mShellLnk(ByVal LnkName As String, ByVal FilePath As String, Optional ByVal StrArg As String, Optional ByVal IconFileIconIndex As String = vbNullString, Optional ByVal HookKey As String = "", Optional ByVal StrRemark As String = "") '调用说明: ' 'LnkName = 快捷方式文件名,如果无路径则自动新建到桌面;无后缀名(.lnk)会自动补齐. 'FilePath = 目标文件名,全路径. 'StrArg = 参数,可选. 'IconFileIconIndex = 图标所在库及索引,由逗号分隔,可选.如: "c:\windows\system32\notepad.exe,0" 'HookKey = 热键,值未知,可选. 'StrRemark = 备注,可选. ' Dim WshShell As Object, WScript As Object, oShellLink As Object, strDesktop As String Set WshShell = CreateObject("WScript.Shell") strDesktop = WshShell.SpecialFolders("Desktop") '桌面路径 If UCase(Right(LnkName, 4)) <> ".LNK" Then LnkName = LnkName & ".lnk" End If If InStr(1, LnkName, "\", vbTextCompare) = 0 Then '如果不包含全路径,则在桌面创建快捷方式 Set oShellLink = WshShell.CreateShortcut(strDesktop & "\" & LnkName) Else '否则在指定位置创建 Set oShellLink = WshShell.CreateShortcut(LnkName) End If oShellLink.TargetPath = FilePath oShellLink.Arguments = StrArg oShellLink.WindowStyle = 1 '风格 oShellLink.Hotkey = HookKey '热键 If IconFileIconIndex = vbNullString Then '图标 oShellLink.IconLocation = FilePath & ",0" '默认使用目标文件图标 Else oShellLink.IconLocation = IconFileIconIndex End If oShellLink.Description = StrRemark '快捷方式备注内容 oShellLink.WorkingDirectory = Mid(FilePath, 1, InStrRev(FilePath, "\")) '源文件所在目录 oShellLink.Save '保存创建的快捷方式 Set WshShell = Nothing Set oShellLink = NothingEnd Sub
[解决办法]
IconLocation 是一个文件名+图标序号,不是一个图标对象,否则你的程序结束后哪里去找图标进行显示。
正如老马建议的,用默认图标最方便
oMyShortcut.IconLocation = App.path & "\" & App.EXEName & ".exe,0"