如何为所有用户(winxp)向“发送到”菜单添加项目 我们希望在我正在构建的服务器上为所有用户提供一个调试日志查看器的链接。将其添加到一个用户(开始->运行->发送到)非常简单,但我希望它适用于所有用户。有什么想法吗?谢谢!
答案1
以下是一个想法:
将 .bat 文件放入你的所有用户启动文件夹(这样每当有人登录时它就会运行)。
然后,.bat 文件将把快捷方式复制到用户自己的 SendTo 文件夹。
就像是:
copy "c:\Notepad.lnk" "%userprofile%\SendTo" /Y
(将 Notepad.lnk 替换为你自己的快捷方式)
简单的。
答案2
当我使用 Windows 时,我会使用一个名为“Send To Toys”的小程序自定义“SendTo”菜单。你仍然可以下载它这里。我无法告诉你它是否适用于所有用户;但它很可能适用。
答案3
SendTo 文件夹是根据每个用户确定的(通常位于 C:\Documents and Settings\USER\SendTo)。它是位于注册表中的绝对路径,没有适用于所有用户的通用 SendTo 文件夹。但是,您可以轻松更改 SendTo 文件夹的位置,而无需在注册表中乱七八糟。
只需右键单击并将 SendTo 文件夹拖到新位置并选择“移动到”。注册表项将自动为该用户更新。不幸的是,您必须为每个用户执行此操作,或者加载该用户的注册表配置单元并手动编辑它(同样,每个用户)。
最好的办法可能是更新一个用户的注册表(通过使用“移动到”或手动操作),然后将该注册表项导出到文件中。然后,将该文件分发给用户并让他们自己双击该文件,将新的“发送至”位置合并到他们各自的注册表中。
密钥位于HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
并且我的默认位置是绝对路径,C:\Documents and Settings\Grant\SendTo
可以分发的 whatever.reg 文件的内容如下所示:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"SendTo"="C:\\Documents and Settings\\Grant\\SendTo"
除了新的文件位置外。
答案4
尝试此功能,它将找到所有用户的 SendTo 文件夹。
Private Function GetSendToPaths() As String()
Dim localsendto As String = Environment.GetFolderPath(Environment.SpecialFolder.SendTo)
Dim userpath As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
Dim subuser As String = Path.GetDirectoryName(userpath)
Dim subsendto As String = localsendto.Substring(userpath.Length)
Dim dirinfo As New DirectoryInfo(subuser)
Dim paths As New List(Of String)
For Each dir As DirectoryInfo In dirinfo.GetDirectories
Dim path As String = dir.FullName & subsendto
If Directory.Exists(path) Then
Dim dirpath As String = dir.FullName & "\Contacts"
If Directory.Exists(dirpath) Then
If New DirectoryInfo(dirpath).GetFiles.Length > 0 Then
paths.Add(path)
End If
End If
End If
Next
Return paths.ToArray
End Function