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