打印本文 打印本文 关闭窗口 关闭窗口
用DDE创建桌面快捷方式
作者:武汉SEO闵涛  文章来源:敏韬网  点击数569  更新时间:2009/4/23 14:58:38  文章录入:mintao  责任编辑:mintao
   受"用DDE连接方法向开始菜单中添加快捷方式"一文的启发,我写了一个可以向桌面增加快捷方式的小程序。与调用Vb5stkit.dll或Vb6stkit.dll来建立快捷方式相比,最大的特点在于避免了对该DLL文件的依赖(并不是每一台Win9x的机上都有的这些文件的)。是不是很环保?

  原理:利用Text控件的DDE在系统开始菜单中添加一个快捷方式,然后将该快捷方式剪切到桌面上来。

  须解决的问题:取得系统开始菜单和桌面的路径。这其中当然免不了要调用到API的SHGetSpecialFolderLocation 和SHGetPathFromIDList 函数。

  实现步骤:

  1.新建工程;

  2.在表单中增加一个文本框(txtLnk)及一个命令按钮(cmdMakeLnk);

  3.加入以下代码:

Option Explicit

Const CSIDL_DESKTOP = &H0 系统桌面

Const CSIDL_PROGRAMS = &H2 系统"开始-$#@62;程序"菜单

Private Type SHITEMID

cb As Long

abID As Byte

End Type

Private Type ITEMIDLIST

mkid As SHITEMID

End Type



Private Declare Function SHGetSpecialFolderLocation _

Lib "shell32.dll" (ByVal hwndOwner As Long, _

ByVal nFolder As Long, pidl As ITEMIDLIST) As Long

Private Declare Function SHGetPathFromIDList Lib _

"shell32.dll" Alias "SHGetPathFromIDListA" _

(ByVal pidl As Long, ByVal pszPath As String) As Long
156

打印本文 打印本文 关闭窗口 关闭窗口