将我的应用程序注册到URI计划,并获取启动它的命令。

问题描述 投票:-1回答:1

Windows允许我将我的应用程序注册到URI计划中,如定义的那样。此处. 如果应用程序已经在运行,点击URI应该会让它出现在前台。由于某些原因,GetCommandLineW()一直给我启动应用程序的原始命令,我是否有办法获得新的URI,使我的窗口出现在前台。

我知道 赢取信息 可以用来获取命令行参数。有没有什么方法可以把我的URI命令和win消息联系起来。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myapp]
@="URL:myapp"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\myapp\DefaultIcon]
@="<Path To App>,2"

[HKEY_CLASSES_ROOT\myapp\shell]

[HKEY_CLASSES_ROOT\myapp\shell\open]

[HKEY_CLASSES_ROOT\myapp\shell\open\command]
@="\"<Path To App>" \"%1\""
windows winapi uri url-scheme
1个回答
0
投票

首先,非常感谢大家的意见。对不起,我是个新手,从一开始就花了一些时间来领会所说的内容。我把这个评论留在这里,以防有人想回查。

正如建议的那样,我的应用程序确实启动了一个新窗口。它发现了一个已经在运行的我的应用程序的实例。结果终止了.我改了什么?在这个新启动的实例被终止之前,我向之前运行的应用程序实例发送了一条新消息。为了传递命令行的内容,我使用了以下方法 共享内存.

接收的应用程序只是监听了这个消息。收到后,它从共享内存中检索出命令行,让我处理命令行。

再次感谢。

© www.soinside.com 2019 - 2024. All rights reserved.