0

我有一个名为 Winbox 的小型 Windows 应用程序(它是一个控制 RouterBoard 的小型应用程序)。我们正在制作一个需要制作自定义协议 URL 的 Web 应用程序,例如:

oxo://192.168.103.3 {USERNAME} {PASSWORD}

我只需要将 oxo:// 指向 [c:/winbox.exe] 并使用参数 {IP ADDRESS} {USERNAME} {PASSWORD} 执行应用程序

所以我编辑了一个注册表编辑器代码:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\oxo]
@="\"URL:oxo Protocol\""
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_CLASSES_ROOT\oxo\DefaultIcon]
@="\"C:\\winbox.exe\",0"

[HKEY_CLASSES_ROOT\oxo\shell]

[HKEY_CLASSES_ROOT\oxo\shell\open]

[HKEY_CLASSES_ROOT\oxo\shell\open\command]
@="\"C:\\winbox.exe\" \"%1\""

但问题是在浏览器中打开网址时,它会在 {IP ADDRESS} 字段中显示“oxo://{IP ADDRESS}”。哪个不工作

我只需要从最终的可执行路径中删除协议名称“oxo://”的第一部分

如果要下载 Winbox.exe:http: //download2.mikrotik.com/winbox.exe

用法 :

winbox.exe {IP ADDRESS} {USERNAME} {PASSWORD}

{IP ADDRESS} : Is the IP Address of the remote RouterBaord device.
{USERNAME} : Is the username of the RouterBoard Device.
{PASSWORD} : Is the password of the RouterBoard Device.

即使它是在 JAVA、C、C++ 或任何编程语言中,我也需要任何帮助来解决这个问题。

我只想使用来自网络浏览器的参数运行 exe 文件。

非常感谢, 阿雷布

4

1 回答 1

1

您的链接包含动态参数,关键是使 oxo 是打开控制台应用程序,您可以使用此代码为您的控制台应用程序将您的应用程序重定向到 winbox.exe

 Sub Main()
        On Error Resume Next
        Dim url As String = Command()
        url = url.Replace("/", "")
        url = url.Replace("oxo", "")
        url = url.Replace(":", "")
        Dim arg() As String = url.Split(",")
        Dim IP As String = arg(2)
        Dim Username As String = arg(1)
        Dim Password As String = arg(0)
        Shell("c:\winbox\winbox.exe " & IP & " " & Username & " " & Password)
        Console.WriteLine("Yout username : " & Username & " Password : " & Password & " Ip : " & IP)
    End Sub

你的链接是

oxo://{PASSWORD},{USERNAME},{IP}
于 2013-05-31T09:43:41.980 回答