检查启动文件夹是否已包含程序

时间:2013-02-06 13:48:59

标签: c#

我基本上想检查当前程序是否已经链接到Windows启动文件夹,即使该文件有其他名称或从另一个目录运行。这可能是通过检查程序名称来实现的吗?

PS:我使用此代码将我的程序链接到Startup文件夹:

using (ShellLink shortcut = new ShellLink()) {
    shortcut.Target = Application.ExecutablePath;
    shortcut.WorkingDirectory = Path.GetDirectoryName(Application.ExecutablePath);
    shortcut.Description = "My Shorcut Name Here";
    shortcut.DisplayMode = ShellLink.LinkDisplayMode.edmNormal;
    shortcut.Save(Environment.GetFolderPath(Environment.SpecialFolder.Startup));
}

感谢。

2 个答案:

答案 0 :(得分:0)

您需要扫描启动的开始菜单文件夹,并为每个快捷方式将目标路径与您的程序路径进行比较。

WshShell shell = new WshShell(); 
var link = (IWshShortcut)shell.CreateShortcut(linkPathName); //Link the interface to our shortcut
var target = link.TargetPath;
//compare to your program's path...

答案 1 :(得分:0)

试着写一个木马? = d

直截了当的解决方案:枚举Startup文件夹中的所有快捷方式(lnk-files),将它们全部打开1并查看(我假设您使用的是this技术)。