我在我的应用程序中使用MVVM Light Toolkit。虽然我不知道我的问题是否与它有关。 我在Win7 32bit上为Windows资源管理器添加了一个ContextMenu条目。
看起来像这样:
[HKEY_CLASSES_ROOT\*\shell\MyEntry]
[HKEY_CLASSES_ROOT\*\shell\MyEntry\command] "MyPath+MyExe" "%1"
现在,如果我从文件夹中打开一个文件,其中myExe就像它应该的那样工作,但是如果我尝试从不同的文件夹打开文件,我的应用程序会立即崩溃。
我希望有人可以帮助我。
编辑:我在我的应用程序中没有对启动参数做任何事情。
答案 0 :(得分:0)
如果您从任何地方单击上下文菜单项时正在推送您的应用程序,那么这不是您的注册表项的问题,这是您的应用程序的问题。
检查您的假设。您是否认为该文件与应用程序位于同一目录中?
答案 1 :(得分:0)
你是对的:) 我正在VM构造函数中从xml加载我的数据。 XML文件位于应用程序文件夹的子文件夹中。 我使用Environment.CurrentDirectory在我的prog开始时获取ApplicationFolder,但是当我将CommandLineArguments从另一个文件夹传递到我的应用程序时,当前目录已更改,因此我的应用程序因为缺少正确的错误处理而崩溃(我没有通过异常任何地方)我没有注意到这是问题。
再一次,你把我推向了正确的方向。
(顺便说一句,我从MSDN论坛得到了错误的代码,我应该考虑下次登录图书馆)