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