受"用" 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