【问题标题】:Refresh a web page programmatically以编程方式刷新网页
【发布时间】:2014-01-25 10:32:51
【问题描述】:

我想知道是否可以通过单击 winform 应用程序中的按钮来刷新网页。

我有一个表单,当按下一个按钮时会启动一个进程并在浏览器窗口中显示一个网页,我想在按下另一个按钮而不是打开另一个窗口时刷新它。

有可能吗?

我已经检查了这个问题stackoverflow,但它刷新了我已经调用的文件?

我这样启动网页:

string path = Directory.GetParent(Directory.GetCurrentDirectory())
                       .Parent.FullName; 
string target = @"DashBoard.html"; 
string finalPath = Path.Combine(path, target); 
System.Diagnostics.Process.Start(finalPath);

我已经检查了该问题中的一个解决方案并且我理解它,但我找不到的是是否有一种方法可以适用于所有浏览器。

有什么提示吗?

【问题讨论】:

  • 您提供的链接将允许服务器向客户端发出刷新信号。您似乎只想从客户端启动 Web 浏览器,然后向其发送刷新。对吗?
  • 你是如何打开浏览器窗口的?
  • 这个问题似乎有一个不错的答案。根据您的环境,可能会解决更好的问题。您是否控制启动哪个网络浏览器来查看网页?即,它是始终启动 Internet Explorer,还是在 Chrome/Firefox/用户的默认浏览器中启动?
  • @CharlieKilian 如果我没记错的话,它会将它启动到默认的网络浏览器,在我的情况下是 chrome
  • 您是否考虑过将“刷新”按钮放在网页上而不是 WinForms 应用程序中?如果该选项可用,它肯定会更容易,并且更强大。

标签: c# winforms visual-studio-2010


【解决方案1】:

这可能是个坏主意,您应该考虑尝试以某种方式让网页自行刷新。

或者 - 您可以查看 Chrome API - (假设您只想定位 chrome?)

http://dev.chromium.org/developers

作为最后的手段——你总是可以杀死现有的浏览器进程——然后打开一个新的:

var process = System.Diagnostics.Process.Start(finalPath);

//When refresh wanted:
process.Close();
//open again
var process = System.Diagnostics.Process.Start(finalPath);

【讨论】:

  • 但我不能限制自己只使用 chrome
【解决方案2】:

我找到了解决方案,这是我创建的函数

private void RefreshPage()
{
    int count = 0;
    IntPtr[] explorerHandle = new IntPtr[4] { 
        FindWindow(null, "DashBoard - Google Chrome"), 
        FindWindow(null, "DashBoard - Internet Explorer"),
        FindWindow(null, "DashBoard - Opera"), 
        FindWindow(null, "DashBoard - Firefox")
    };

    foreach (IntPtr value in explorerHandle)
    {
        if (value != IntPtr.Zero)
        {
            count++;
            SetForegroundWindow(value);
            SendKeys.Send("{F5}");
        }
    }
    if(count == 0)
        System.Diagnostics.Process.Start("http://localhost:9000/DashBoard.html");
}

感谢您的帮助

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多