我正在开发基于 C# WPF 的应用程序。
此应用程序使用系统寄存器来捕获资源管理器上下文菜单操作。换句话说:资源管理器上下文菜单显示了一个为我的应用程序定制的附加项,有点像 NotePad++(见图 1)。
我单击文件上的右侧按钮,我的应用程序正确启动。自然地,文件名作为参数 %1 从命令行传递给应用程序。图 2 显示了我如何为上下文菜单配置寄存器。
问题是如果文件名不包含空格,一切都很好。如果它包含空格,我会以大写字母找到文件名并被截断。
文件名: dummy.txt
在 %1 中捕获的字符串: dummy.txt
文件名: paths - Copia.txt
在 %1 中捕获的字符串: PACE0~1.TXT
在以下两个示例中,第一个正确且有效,第二个是我所描述的问题的场景。
图 1
图 2
有谁知道避免这种情况的方法?
不幸的是,我对 Windows 系统知之甚少,这让我很头疼。我不知道问题的原因可能是什么。
请记住,我可能把问题放错了地方:我自己怀疑我是否提供了解决问题所需的信息。
尝试将注册表项更改为"C:\Program Files (x86)\Polito\Kyactus\Kyactus.exe" "%1"
-- 将程序路径和%1
引号括起来,但每个都使用不同的对。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句