例如,Clickonce应用程序引用(.appref-ms
)文件具有以下注册表项:
[HKEY_CLASSES_ROOT\Application.Reference\shell\open\command]
@="rundll32.exe dfshim.dll,ShOpenVerbShortcut %1|%2"
这提出了两个挑战:
我已经搜索了其他类的hive,这似乎是我系统中这种构造的唯一用法。
这些不起作用(来自命令提示符),带或不带引号:
rundll32.exe dfshim.dll,ShOpenVerbShortcut FileNameInCurrentDir.appref-ms
rundll32.exe dfshim.dll,ShOpenVerbShortcut C:\Path\To\File.appref-ms
rundll32.exe dfshim.dll,ShOpenVerbShortcut file://c:/Path/To/File.appref-ms
rundll32.exe dfshim.dll,ShOpenVerbShortcut "file:///c:/Path/To/File.appref-ms"
导致各种错误:
Invalid URI: The format of the URI could not be determined.
Invalid URI: The URI scheme is not valid.
Exception reading manifest from file:///c:/Path/To/File.appref-ms: the manifest may not be valid or the file could not be opened.
答案 0 :(得分:0)
管道符是参数分隔符。因此,rundll32.exe dfshim.dll,ShOpenVerbShortcut %1|%2
表示:使用参数ShOpenVerbShortcut
和dfshim.dll
从%1
运行%2
。
我注意到了两个用途:printto菜单和appref-ms。