Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在注册协议处理程序Windows 7-工作目录错误_C#_Windows_Google Chrome_Internet Explorer 11_Protocol Handler - Fatal编程技术网

C# 正在注册协议处理程序Windows 7-工作目录错误

C# 正在注册协议处理程序Windows 7-工作目录错误,c#,windows,google-chrome,internet-explorer-11,protocol-handler,C#,Windows,Google Chrome,Internet Explorer 11,Protocol Handler,我已经在windows注册表中注册了一个自定义协议处理程序,这样我就可以从Internet浏览器启动带有特定参数的应用程序。到目前为止,注册工作进展顺利。IE和Chrome都在启动我的应用程序 我在这个问题中使用了Erwinus答案来注册协议处理程序: 奇怪的是,两种浏览器都没有正确设置工作目录。Chrome似乎将工作目录默认为空字符串,而IE将工作目录默认为“C:\Users\User-X\Desktop” 这种行为是故意的吗? 有没有办法在注册表中为我的应用程序指定工作目录 提前感谢您提供有

我已经在windows注册表中注册了一个自定义协议处理程序,这样我就可以从Internet浏览器启动带有特定参数的应用程序。到目前为止,注册工作进展顺利。IE和Chrome都在启动我的应用程序

我在这个问题中使用了Erwinus答案来注册协议处理程序:

奇怪的是,两种浏览器都没有正确设置工作目录。Chrome似乎将工作目录默认为空字符串,而IE将工作目录默认为“C:\Users\User-X\Desktop”

这种行为是故意的吗?
有没有办法在注册表中为我的应用程序指定工作目录


提前感谢您提供有关此问题的任何线索。

工作目录连接到命令行参数以解析路径,如
\file.ext
,由于没有相对路径参数,因此工作目录应该无关紧要

应用程序不应依赖工作目录来加载库和其他特定于应用程序的文件


有一个名为
NoWorkingDirectory
的未记录值,可以在文件类型注册上设置,但我不确定它是否适用于URL协议。

在您看来,URL协议的正确工作目录是什么?您不能让您的应用程序不关心工作目录吗?@Anders工作目录与URL协议本身无关,而是与浏览器(或操作系统)作业有关,以便在启动应用程序时正确设置工作目录。因此,在我看来,工作目录应该设置为my*.exe所在的目录。