在实际的VB编程工作中,常常要为自己的程序在桌面生成一个快捷图标。

用VB在桌面生成图标我提供两种方式,这两种方法都还很简单。

第一种方法,利用vb5stkit.dll来生成桌面图标:

1.利用现成的DLL文件来创建桌面图标,这个DLL文件就是VB5STKIT.DLL,大小才29K,很小,压缩一下就更小了,请大家百度搜索 vb5stkit.dll 下载。

在VB编程,首先要在窗体模块中引用这个DLL,代码如下:

Private Declare Function fCreateShellLink Lib "VB5STKIT.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long

2.然后,在窗口的load事件中,写一行代码就可以新建一个程序的图标。

Private Sub Form_Load()

fCreateShellLink "..\..\..\..\..\..\Desktop", "新桌面图标", App.Path & "\工程1.exe", ""

End Sub

注:以上代码生成EXE程序,必须要把要生成快捷图标的EXE程序放在同一目录中,同时,VB5STKIT.DLL也要放在同一目录里。假定以上VB源代码生成一个EXE,文件名叫: 工程1.exe,那么把这个工程1.exe和VB5STKIT.DLL放在同一目录里,运行工程1.exe,就可以在桌面上生成一个快捷图标,名称是"新桌面图标"。此VB源码在WIN7测试通过。

---------------------------------------------

第二种方法:先做一个生成程序图标的函数,然后,根据系统的不同,利用API,找出系统的桌面地址,再根据桌面的创建桌面图标。

1.自己先在窗体创建一个生成程序快捷图标的函数CreateShellLink,这个函数的源代码如下:

Function CreateShellLink(ByVal LinkFile As String, _

ByVal TargetPath As String, _

Optional ByVal WorkingDirectory As String, _

Optional ByVal Hotkey As String, _

Optional ByVal WindowStyle As Integer = 1, _

Optional ByVal IconLocation As String, _

Optional ByVal Description As String) As Long

On Error Resume Next

If InStr(2, LinkFile, ".") = 0 Then LinkFile = LinkFile & ".lnk"

Dim Free As Integer

Free = FileSystem.FreeFile

Open LinkFile For Output As #Free

If Err Then CreateShellLink = Err: Exit Function Else Kill LinkFile: Close #Free

With CreateObject("WScript.Shell").CreateShortcut(LinkFile)

.WindowStyle = WindowStyle

.TargetPath = TargetPath '目标

.WorkingDirectory = WorkingDirectory '工作目录

.Hotkey = Hotkey '热键

.Description = Description '备注

.IconLocation = IconLocation

.Save

End With

CreateShellLink = Err

End Function

2.找出系统的桌面地址。这个也可以通过API来做,先在窗体模块引用API,代码如下:

Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long

Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Const MAX_LEN = 200 '字符串最大长度

Const DESKTOP = &H0& '桌面

3.在窗体的load事件,先通过API找到系统的桌面地址,然后根据函数 生成一个程序的快捷图标,代码如下:

Private Sub Form_Load()

Dim sTmp As String * MAX_LEN

Dim nLength As Long

Dim pidl As Long

SHGetSpecialFolderLocation 0, DESKTOP, pidl

SHGetPathFromIDList pidl, sTmp

Dim strdz As String '桌面地址

strdz = Left(sTmp, InStr(sTmp, Chr(0)) - 1) '找到桌面地址

If Right(strdz, 1) <> "\" Then strdz = strdz + "\"   '为桌面地址最后面加\

d11 = strdz & "新桌面图标2.lnk" '需要在桌面生成的快捷图标路径名称

d22 = strdz & "工程1.exe" '需要生成图标的程序路径名称

d33 = strdz & "abc.ico" '可以为这个快捷图标配上一个新的图标

'=========

CreateShellLink d11, d22, , , , d33   '生成桌面图标

End Sub

运行以上代码,生成工程1.exe,运行这个工程1(在同一目录里,先要有一个abc.ico的图标),就会在桌面上为工程1.exe生成一个图标,名称是新桌面图标2。

看上去,第二种方法好像代码太多了,但事实上,它也有很多好处,很明显,可以DIY,首先,图标可以改一下abc.ico,就可以生成不同的图标,还有,你可以在改一下代码,就可以为这个新创建的图标,生成热键,备注等。

来源:济亨网

如何在计算机桌面建立一个软件的快捷图,VB编程:生成EXE图标 (为exe程序在电脑桌面上创建一个快捷图标)...相关推荐

  1. 怎么在电脑桌面上创建一个便签把东西记在上面

    说到记事,离不开便签软件.便签是记事的主要工具之一,如果想在电脑桌面上记事,该怎么在电脑桌面上创建一个便签,把重要的事情记录到上面呢? 电脑一般有自带的便签,就是便笺贴.用户可以在开始菜单里找到便笺图 ...

  2. 怎么在电脑桌面上创建一个便签记事 方便用的时候及时打开

    对于整天对着电脑工作的人来说,看似坐在办公室里很舒服,其实每天都有一大堆事情要处理.事情做久了难免头晕眼花,一不小心还会忘做某件事.这个时候就非常尴尬了,领导批评自己会感到委屈,但是自己忘做某项工作确 ...

  3. 桌面上计算机删除后怎么复原,电脑桌面上出现一个图标,删掉后重启桌面又恢复了?怎么才能彻底删除?...

    电脑桌面上出现一个图标,删掉后重启桌面又恢复了?怎么才能彻底删除?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 电脑桌 ...

  4. 计算机里面的文件一直和桌面上重复,有些文件删不掉_电脑桌面上有一个文件图标老是删不掉,每次删,都......

    为什么桌面上有些文件删不掉 在电脑删除文件时为什么有些文件删不了? ①首先找到拒绝访问的文件夹,在其上鼠标右键,选择属性,之后切换到安全选项下,之后在底部可以看到有高级设置入后, ②首先点击底部的高级 ...

  5. 怎么设置计算机访问需要密码图片,电脑桌面上有一个文件夹需要加密。就是设置成访问时输密码,怎么弄?...

    电脑桌面上有一个文件夹需要加密.就是设置成访问时输密码,怎么弄?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 电脑桌面 ...

  6. 在xp系统电脑上建立宽带连接服务器吗,windows xp系统如何在电脑桌面上创建ADSL连接...

    ADSL它是宽带连接的一种类型,对于xp系统用户来说,我们日常在打开电脑进行网络连接的时候,都经常要接触到ADSL,如果桌面上没有相应的快捷方式,此时就需要我们创建ADSL连接了,那么xp系统如何在电 ...

  7. 如何在电脑桌面上制作一个便签

    在电脑上记事,用的都是便签软件.如果你的电脑上没有便签软件,该如何在电脑桌面上制作一个便签出来呢? 如果没两把刷子,还真没本事亲自制作一个便签软件出来,如果想用便签,还是用别人制作出来的便签软件吧. ...

  8. 计算机桌面文字显示软件,电脑桌面添加文字_电脑桌面添加文字软件

    2016-12-27 10:53:55 1.首先单击鼠标右键,在出现的选项中选择"小工具"2.在小工具里面我们会看到一个"时钟图标".3.双击此图标或者鼠标放到 ...

  9. Qt入门程序,通过qtcreater创建一个项目

    2.1 使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 [文件]-[新建文件或项目]菜单项 弹出New Project对话框,选择Qt Widgets Appl ...

最新文章

  1. 引用和const 引用的区别(转自chinaitlab)
  2. 2008高考零分作文---大事与小事
  3. Wordpress如何打开调试模式
  4. html城市绘制,HTML5/Canvas二分法构建城市版图
  5. SpringCloud 从菜鸟到大牛之七 服务网关 Zuul API网关等等
  6. 最大弹窗_你不在意的小弹窗,为什么总是出现问题?
  7. ucgui界面 vc_【MM32F103试用体验】ucGUI + FreeRTOS +触摸屏图形界面开发
  8. jena mysql_在Jena框架下基于MySQL数据库实现本体的存取操作
  9. axios的并发请求和 排队请求
  10. ih5手机版怎么登录服务器未响应,ih5 与服务器链接教程
  11. 绕开JS验证的方法汇总
  12. ​2020年,5大顶级数据分析预测
  13. 黑人是晒黑的吗_当您是互联网上的黑人时,无处可逃
  14. teredo实现ipv4公网环境下接入ipv6
  15. 微信小程获取当前时期和时间
  16. 【信号与系统】(二)信号与系统概述——基本信号
  17. 硬件设计——外围电路(电源电路)
  18. 第二章 Java基本语言
  19. 68013上电“unknown device
  20. 微信小程序怎么样取代传统收款设备的流程

热门文章

  1. 快速气密测试检测接头 - 换热器/制冷/散热等铜管/铝管/钢管/不锈钢管 外密封
  2. 500g java相关资料
  3. 2011蓝桥杯java试题及部分参考答案
  4. elementui 计数器动态渲染无法点击
  5. win10多年使用的一些安全和优化(转载)
  6. 第三方软件调用小米默认相机设置步骤
  7. PyQt5 打地鼠小游戏 代码及素材
  8. Serializer序列化的使用
  9. 基于android的健身管理APP(ssm+uinapp+Mysql)
  10. C++ Primer Plus(第6版) 第3章编程练习