轻松控制开始菜单中的“文档”

Author: 释月 Date: 1998年 第30期 13版

  我们知道,在Windows95操作系统中保存有一个最近使用文件列表(MRU),通过使用Windows95任务栏的开始菜单中的“文档”,我们可以访问最近使用文件列表,在这里打开一个文件。
  在Visual Basic 5.0中要实现对Windows95任务栏的开始菜单中的“文档”内容的控制,通过调用Win32 API中的SHAddToRecentDocs函数我们就可以轻松地做到这一点。SHAddToRecentDocs函数原型如下:
  Private Declare Sub SHAddToRecentDocs Lib ″shell32.dll″(ByVal uFlags As Long,ByVal pv As String)
  使用SHAddToRecentDocs,我们可以任意添加自己需要的文件名到“文档”中,或删除“文档”中的全部文件名。如果我们把pv设置为一个空字符串,“文档”中就为空,如果pv是一个带全路径文件名的字符串,那么“文档”中将添加该文件名。
  让我们一起来实践一下吧:
  1.首先在VB5中创建一个新的工程,窗体使用缺省值Form1。
  2.在Form1窗体中加入两个Commandbutton按钮,名为Command1和Command2。
  3.在Form1窗体的通用声明中加入如下代码:
  Const SHARD_PATH=2
  Private Declare Sub SHAddToRecentDocs Lib ″shell32.dll″_
  (ByVal uFlags As Long,ByVal pv As String)
  4.在Command1的Click事件中加入如下代码:
  Private Sub Command1_Click()
  Dim AddNewFile As String
  AddNewFile=″c:\windows\calc.exe″
  Call SHAddToRecentDocs(SHARD_PATH,AddNewFile)
  End Sub
  5.在Command2的Click事件中加入如下代码:
  Private Sub Command2_Click()
  Call SHAddToRecentDocs(SHARD_PATH,vbNullString)
  End Sub
  运行程序,单击Command1发现Windows95任务栏的开始菜单中的“文档”内容添加了一个名为calc的文件,单击Command2你会发现Windows95任务栏的开始菜单中的“文档”内容全部没有了。