我有一个打开* .postfix文件的c#程序。如何在由快捷方式启动的程序中获取(.lnk)快捷方式文件路径?
如果用户运行指向我的文件类型的(.lnk)快捷方式,我的程序将打开目标。因此,我的程序如何知道它是由(.lnk)快捷方式启动(并获取它的文件路径)?
在某些情况下,我需要替换.lnk文件。
谢谢!
编辑 首先,感谢那些回答我的问题的家伙。
按照@Anders的回答,我发现我的问题在这里。
我对Windows注册表做了一些修改,所以浏览器知道要把自定义的协议字符串放到某些程序中。
一些这样的事..
[InternetShortcut] URL = myProtocol:// ABCDEFG .....
这也许就是为什么我失去了lpTitle。 :(
我要试试这个方式: 每当我的程序调用时,当然用%1喂食,程序检查当前打开的资源管理器(Window),并尝试使用IWebBrowserApp获取它的当前路径。当然台式机,扫描和分析* .LNK确定更换哪一个。
我想,这可能会工作,但不能肯定。我会尽力。 继续
我不确定这是可能的。 .LNK文件由资源管理器*打开,该信息用于产生该进程(例如CreateProcess)。我不知道如何/如何*过程(或如果一个LNK文件被参与)的信息开始可用... – 2011-12-25 02:21:24
将此标签重新标记为winapi - 希望某些大师能够提供更多彻底的答案。 – sq33G 2011-12-25 08:35:01