c# - 如何使用 UWP 应用程序的命令行参数启动 win32 exe?
问题描述
我正在尝试启动一个旧版 win32 软件,该软件从我的 UWP 应用程序中获取命令行参数。
win32 应用程序 (xxx) 本身并不支持激活协议和 URI,但我可以通过使用以下注册表项来添加它:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\xxx]
@="URL:xxx"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\xxx\shell]
[HKEY_CLASSES_ROOT\xxx\shell\open]
@=""
[HKEY_CLASSES_ROOT\xxx\shell\open\command]
@="\"C:\\Program Files (x86)\\xxx\\xxx.exe\" \"%1\""
我在我的 UWP 应用程序中实现了以下功能,但它只启动应用程序并且不传递参数:
await Launcher.LaunchUriAsync(new Uri("xxx:aaa=123"));
如何从 UWP 将命令行参数传递给 Win32 应用程序?
我不介意创建一个 Win32 应用程序或控制台应用程序作为中间人来读取激活协议并将其转换为命令行参数并运行 win32,但找不到任何解决方案。
谢谢。
解决方案
我试过 xxx:\aaa=123。但是,它将参数 (%1) 作为一个整体传递,包括协议。如何从 %1 删除或替换 xxx:\
请检查@="\"C:\\Program Files (x86)\\xxx\\xxx.exe\" \"%1\""
,它默认包含 %1。您可以手动删除它。
推荐阅读
- c# - Xamarin:使用 MvvmCross 从不同的解决方案导入一个页面
- javascript - lightpicker.js 和 moment.js 的默认日期范围
- localhost - Hybris - 从 java 类启动服务器
- android - 如何解决这些调试错误找不到局部变量额外
- java - 如何为 Spring Boot 应用程序编写 Junit 测试用例?
- sql - 在具有大量变量的 Oracle 中使用 LIKE
- excel - 将许多 Excel 数据表连接到 Access 查询
- google-apps-script - Google Apps 脚本可以处理 GET 查询字符串并发布到 Google 表格吗?
- android - 如何在汉堡菜单中添加返回图标?
- android - SMS 广播接收器仅在收到新 SMS 时进行烘烤