在IE浏览器里打开谷歌

这篇博客总结了在Windows Server 2003和VS2008环境下,使用IE浏览器打开谷歌的多种方法及其遇到的问题。包括window.open()、System.Diagnostics.Process.Start()、ShellExecute以及ActiveXObject等尝试,但都存在不同程度的问题,如权限不足、无法跳转等。作者还提到通过自定义协议的方法,并提供了相关资源链接,但该方法也可能会遇到注册表访问权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:Windows server 2003   ,VS2008

在ie浏览器打开谷歌方法总结:

1.window.open(),谷歌浏览器设为默认浏览器;

  缺点:初始在系统在ie打开时无法跳转到谷歌

2.System.Diagnostics.Process.Start("chrome.exe", url);  

  问题:vs执行ok,但是发布iis之后,会煽动一下,然后没有反应了,也不跳转

  原因:网上大多说是权限问题,但是俺目前没有解决这个问题,具体什么权限问题也不知道,权限怎么设置,要是有网友知道希望能评论告知

3.ShellExecut

ShellExecute(IntPtr.Zero, "open", "chrome.exe", url, "", ShowCommands.SW_SHOWNORMAL);
public enum ShowCommands : int
        {
            SW_HIDE = 0,
            SW_SHOWNORMAL = 1,
            SW_NORMAL = 1,
            SW_SHOWMINIMIZED = 2,
            SW_SHOWMAXIMIZED = 3,
            SW_MAXIMIZE = 3,
            SW_SHOWNOACTIVATE = 4,
            SW_SHOW = 5,
            SW_MINIMIZE = 6,
            SW_SHOWMINNOACTIVE = 7,
            SW_SHOWNA = 8,
            SW_RESTORE = 9,
            SW_SHOWDEFAULT = 10,
            SW_FORCEMINIMIZE = 11,
            SW_MAX = 11
        }
        [DllImport("shell32.dll")]

        static extern IntPtr ShellExecute(
            IntPtr hwnd,
            string lpOperation,
            string lpFile,
            string lpParameters,
            string lpDirectory,
            ShowCommands nShowCmd);

问题:同Process.Start一样,vs执行ok,但是发布iis之后,会煽动一下,然后没有反应了,也不跳转

原因:未知

3.ActiveXObject("WScript.Shell")//js

 function test()
    {
      var url= '<%=get_url() %>';//获取后台C#传的URL
       // ActiveObject仅在IE下可创建
      var objShell = new ActiveXObject("WScript.Shell");
      // 注意这里是/c,不可使用/k,否则资源不会释放
      var cmd = "cmd.exe /c start chrome " + url;
      objShell.Run(cmd, 0, true);
    }

问题:Automation ,服务器不能创建新对象

解决:可自行百度,但是百度提供的方法没有解决我的问题,不知道为啥

4.自定义协议

这是参照一位博主提供方法,链接如下:

https://blog.youkuaiyun.com/java_zys/article/details/51837899

假如,网址里有多个参数,一定要下载解压博主提供的.exe压缩文件,打开可以看到3个文件,打开文件修改成自己需要的代码(博主提供的是谷歌打开IE,我要的是IE打开谷歌,故有修改)

网址修改:&改为separator

例如超链接<a href="alert:http://网址/?参数1=11separator参数2=22"></a>

   如:

             this.leaveRecord2.Visible = false;
                this.newLeaveRecord.Visible = true;
                string url = get_url();
                url = url.Replace("&", "separator");
                this.newLeaveRecord.HRef = "alert:" + url;

 

问题:有时会显示“********,无法访问注册表”,权限问题,将用户加到管理组

右键我的电脑-管理-本地用户和组,选择组-administrator

文件:alert  属性:注册表项 (.reg)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\alert]
@="URL:Alert Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\alert\DefaultIcon]
@="chrome.exe,1"

[HKEY_CLASSES_ROOT\alert\shell]

[HKEY_CLASSES_ROOT\alert\shell\open]

[HKEY_CLASSES_ROOT\alert\shell\open\command]
@="cmd /c set m=%1 & \"C:\\Program Files\\alert\\openIE.bat\" %%m%% & exit"

文件:openChrome    属性:Windows 批处理文件 (.bat)

@echo off
set m=%m:alert:=%
set m="%m:separator=&%"
start "" "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" %m%
exit

文件:openIE   属性:Windows 批处理文件 (.bat)

@echo off
set m=%m:alert:=%
set m="%m:separator=&%"
start "" "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" %m%
exit

文件:runreg  属性:Windows 批处理文件 (.bat)

REGEDIT /S alert.reg

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值