以编程方式向 Windows 7 开始菜单添加条目?

以编程方式向 Windows 7 开始菜单添加条目?

如何以编程方式向所有用户的 Windows 7 开始菜单添加条目?例如,我可能想要添加包含 myapp.exe 快捷方式和 www.myapp.com URL 的文件夹 MyApps。

理想情况下,我想在批处理文件中执行此操作,但我也会使用 VBScript 或 PowerShell。

答案1

要将条目添加到所有程序部分,只需在文件夹 %AllUserProfile%\Microsoft\Start Menu\Programs 下添加一个快捷方式。

您可以在 VBScript 中使用 SpecialFolder 对象。

不确定如何在 Powershell 中执行此操作,但在 Javascript 中可以这样做:

var shell = WScript.CreateObject("WScript.Shell");
var allUserProfilePath = shell.SpecialFolders("CommonPrograms");
var myShortcut = shell.CreateShortcut(allUserProfilePath + "\\myShortcut.lnk");
myShortcut.TargetPath = "c:\\My Programs Path";
myShortcut.WorkingDirectory = "c:\\Blah";
myShortcut.WindowStyle = 4;
myShortcut.Save();

翻译成 VB 很简单

Dim shell 
Set shell = WScript.CreateObject("WScript.Shell")
Dim allUserProfilePath 
Set allUserProfilePath = shell.SpecialFolders("CommonPrograms")
Dim myShortcut 
Set myShortcut = shell.CreateShortcut(allUserProfilePath + "\myShortcut.lnk")
myShortcut.TargetPath = "c:\My Programs Path"
myShortcut.WorkingDirectory = "c:\Blah"
myShortcut.WindowStyle = 4
myShortcut.Save()

答案2

VB 和 PS 中有一些函数可以定位系统文件夹,例如所有用户桌面、所有用户开始菜单等。

在 VBscript 中你需要使用特殊文件夹在 PowerShell 中使用环境变量

下面是我用来调用函数 DeleteFile 并将文件在 AllUsersDesktop 上的位置传递给它的一段代码:

DeleteFile (objShell.SpecialFolders ("AllUsersDesktop") & "\Microsoft Word 2010.lnk")

相关内容