BeforeNavigate2不返回URL参数 我有一个C++程序,使用微软WebBubl控件显示浏览器。我将URL参数中的提示传递给代码,以便可以采取其他操作,而不仅仅是允许浏览器导航到新页面

BeforeNavigate2不返回URL参数 我有一个C++程序,使用微软WebBubl控件显示浏览器。我将URL参数中的提示传递给代码,以便可以采取其他操作,而不仅仅是允许浏览器导航到新页面,c++,browser,beforenavigate2,C++,Browser,Beforenavigate2,例如,我可能会传递URL WRITE.EXE?RUN以指示我要在URL中运行可执行文件 在C语言中,我在BeforeNavigate事件中获得整个URL,但我只获得到?的URL?。 在C中,我得到了写.exe?运行,而在C++中,传递给BeFoEnaviga2的URL只是写。exe < /p> 关于如何通过C++访问整个URL的想法?< P>我认为这里的问题是因为我没有为URL指定协议,WebBuffor处理的方式不同。 因此,如果我指定,我将获得包括参数在内的整个URL路径,而如果关闭协议或指

例如,我可能会传递URL WRITE.EXE?RUN以指示我要在URL中运行可执行文件

在C语言中,我在BeforeNavigate事件中获得整个URL,但我只获得到?的URL?。 在C中,我得到了写.exe?运行,而在C++中,传递给BeFoEnaviga2的URL只是写。exe < /p>
关于如何通过C++访问整个URL的想法?

< P>我认为这里的问题是因为我没有为URL指定协议,WebBuffor处理的方式不同。


因此,如果我指定,我将获得包括参数在内的整个URL路径,而如果关闭协议或指定FILE://write.exe?RUN,它将删除参数。文件协议的好处在于,它将返回EXE的整个路径作为URL。

在不传递URL的情况下,我只是假设Windows没有将其绑定到,并且绑定到的名字对象将其从路径中剥离

RFC 1738定义的URL为: :

没有更多的细节,我们不清楚您正在使用web浏览器控件做什么,以及您需要如何处理传递给它的内容,但是回答这些问题将决定您是否需要编写自己的URL名字,例如myapp://write.exe?dosomething.

当然,不为URL指定协议是不可能的。协议是第一个之前的部分:。如果没有这样的部分,那么输入首先就不是URL。