手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

用DDE创建桌面快捷方式

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
  受"用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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!