gpt4 book ai didi

c# - 如何使用 C# 删除 StartMenu 快捷方式

转载 作者:可可西里 更新时间:2023-11-01 11:05:06 24 4
gpt4 key购买 nike

如何使用 C# 从 Windows 中的“开始”菜单中删除快捷方式文件夹,我知道如何使用此代码执行此操作:

    private void RemoveShortCutFolder(string folder)
{
folder = folder.Replace("\" ", "");
folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu), folder);
try
{
if (System.IO.Directory.Exists(folder))
{
System.IO.Directory.Delete(folder, true);
}
else
{
}
}
catch (Exception)
{
}
}

但问题是我需要删除所有用户文件夹中的一个快捷方式文件夹,而不是当前登录的用户。 Environment.SpecialFolder.StartMenu 给我当前用户而不是所有用户文件夹。

任何想法,

谢谢,

最佳答案

如果你不介意一点Win32,你可以使用SHGetSpecialFolderPath .

[DllImport("shell32.dll")]
static extern bool SHGetSpecialFolderPath(IntPtr hwndOwner, StringBuilder lpszPath, CSIDL nFolder, bool fCreate);

enum CSIDL
{
COMMON_STARTMENU = 0x0016,
COMMON_PROGRAMS = 0x0017
}

static void Main(string[] args)
{
StringBuilder allUsersStartMenu = new StringBuilder(255);
SHGetSpecialFolderPath(IntPtr.Zero, allUsersStartMenu, CSIDL.COMMON_PROGRAMS, false);
Console.WriteLine("All Users' Start Menu is in {0}", allUsersStartMenu.ToString());
}

关于c# - 如何使用 C# 删除 StartMenu 快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/650746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com