0

我基本上想检查当前程序是否已经链接到 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));
}

谢谢。

4

2 回答 2

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...
于 2013-02-06T14:01:01.853 回答
0

尝试编写木马?=D

直截了当的解决方案:枚举 Startup 文件夹中的所有快捷方式(lnk 文件),将它们一一打开并查看(我假设您正在使用这种技术)。

于 2013-02-06T14:05:03.443 回答