c#找出单击了哪个快捷方式

c#找出单击了哪个快捷方式,c#,directory,shortcut,C#,Directory,Shortcut,我想找到打开我的程序的快捷方式的文件夹 我有一个程序,安装在ProgramFiles文件夹中,并在c驱动器中创建一个文件夹,其中包含一个快捷方式和一组其他文件。我的程序检查这些文件是否存在。如果有人决定更改文件夹名称或将其移动到其他位置,则无法找到文件 我尝试了Environment.CurrentDirectory,但这给了exe目录,而不是单击的快捷方式 我知道有无数种不同/更好的方法,但有没有办法找到打开此程序的快捷方式的路径?您无法通过询问的方式获得这些信息。.exe只知道自己的位置和与

我想找到打开我的程序的快捷方式的文件夹

我有一个程序,安装在ProgramFiles文件夹中,并在c驱动器中创建一个文件夹,其中包含一个快捷方式和一组其他文件。我的程序检查这些文件是否存在。如果有人决定更改文件夹名称或将其移动到其他位置,则无法找到文件

我尝试了
Environment.CurrentDirectory
,但这给了exe目录,而不是单击的快捷方式


我知道有无数种不同/更好的方法,但有没有办法找到打开此程序的快捷方式的路径?

您无法通过询问的方式获得这些信息。.exe只知道自己的位置和与之相关的内容。它不知道它是如何运行的,只知道它是如何运行的


我能给出的唯一可能的建议是,您可以添加带有信息的命令行参数,并确保它们位于快捷方式的目标中,但我认为这不是您所要求的。

让所有快捷方式通过文件夹路径传递参数?调查您的安装程序,查看如何更改创建的快捷方式参数,并为每个参数指定特定值。因此,在程序内部将能够根据参数了解单击了哪个快捷方式。我不需要知道单击了哪个快捷方式,但需要知道快捷方式位于哪个文件夹中。Windows必须跟踪单击的快捷方式。那么我如何找到这些信息呢。(假设它存在)