我有一个应用程序,它使用wpf应用程序中的WebBrowser类模拟发布到具有发布数据的网页的帖子。
private void openBrowser(CreateDdiRequest postData)
{
string serialisedObject = serializeValues(postData);
string postHeaders = "Content-Type: application/x-www-form-urlencoded";
_browser.Navigate(new Uri(_url), "_blank", Encoding.UTF8.GetBytes(serialisedObject), postHeaders);
}
这将打开IE Web浏览器并将发布数据推送到站点。 我现在遇到的问题是我希望它打开默认浏览器而不是IE。
无论如何要实现这个目标吗?
答案 0 :(得分:0)
据我所知,将推出的浏览器并不总是默认浏览器。
请按照以下步骤操作:
1°取消Windows版本,您应该在开始菜单或Windows 8的设置中搜索“默认程序”。好吧,搜索计算机中的“默认程序”面板:)
2°输入默认程序,然后点击或单击默认程序。
3°点击或单击设置默认程序。
4°从程序列表中选择您的浏览器。正如您所知(可能)所见,浏览器并非每个可能操作的默认值(“该程序有20个默认值中的15个”)
5°点击或单击“将此程序设为默认值”,然后点击或单击“确定”。
如果它不起作用,请尝试按其路径启动浏览器:
的Process.Start(@ “%APPDATA%.. \本地\谷歌\铬\应用\的chrome.exe”, 的 “http:\ www.YourUrl.com”);
当然,它适用于外部网址,可能不是您想要的。
顺便说一句,如果你只是想做一个POST请求,你就不需要webbrowser类了。
using (var client = new HttpClient())
{
var values = new Dictionary<string, string>
{
{ "thing1", "hello" },
{ "thing2", "world" }
};
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content);
var responseString = await response.Content.ReadAsStringAsync();
}
来源:
http://windows.microsoft.com/en-US/internet-explorer/make-ie-default-browser#ie=ie-11
How to launch a Google Chrome Tab with specific URL using C#
答案 1 :(得分:0)
要启动默认浏览器,只需致电Process.Start()
并传递网址中的表单值。
Process.Start(myUrl)