首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教如何让快捷方式图标为FORM的ICO图标

2012-01-22 
请问怎么让快捷方式图标为FORM的ICO图标?请问怎么让快捷方式图标为FORM的ICO图标?Set WshShell CreateOb

请问怎么让快捷方式图标为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图标 ,生成的快捷方式没有图标


[解决办法]

VB code
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 是一个文件名+图标序号,不是一个图标对象,否则你的程序结束后哪里去找图标进行显示。
正如老马建议的,用默认图标最方便 
VB code
oMyShortcut.IconLocation = App.path & "\" & App.EXEName & ".exe,0" 

热点排行