有多種解決方案,不知道哪一個是最適合你的...
- 繼續用原來的方法
在你的應用程序了
- 嵌入Web瀏覽器控件在其他的答案
建議
- 編程盡一切
對於#3你可能想看看這裏的「幕後」:http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx
如果你想要與#1一起工作 - 這是更棘手的,因爲你需要控制外部應用程序,不同的瀏覽器會有不同的行爲。
在處理一個「用戶不友好」應用程序時,我使用「javascript:」協議和下面的代碼作爲默認瀏覽器。請注意,這不是「生產就緒」的代碼。沒有錯誤處理,用戶可以切換焦點從啓動的瀏覽器,或使用瀏覽器離開,不 「的javascript:」 協議支持等
static void Main()
{
Settings s = Settings.Default;
Process.Start(s.URL1);
Thread.Sleep(s.Delay1);
SendKeys.SendWait("%D");
Thread.Sleep(100);
SendKeys.SendWait(EncodeForSendKey(s.URL2));
SendKeys.SendWait("{ENTER}");
}
public static string EncodeForSendKey(string value)
{
StringBuilder sb = new StringBuilder(value);
sb.Replace("{", "{{}");
sb.Replace("}", "{}}");
sb.Replace("{{{}}", "{{}");
sb.Replace("[", "{[}");
sb.Replace("]", "{]}");
sb.Replace("(", "{(}");
sb.Replace(")", "{)}");
sb.Replace("+", "{+}");
sb.Replace("^", "{^}");
sb.Replace("%", "{%}");
sb.Replace("~", "{~}");
return sb.ToString();
}
- URL1:http://www.google.com
- URL2:的javascript:函數x() {document.all.q.value ='stackoverflow'; document.forms [0] .submit();} x();
爲什麼你有ASP.NET標記? – 2009-12-14 20:57:52
啊,對不起,只是習慣把大部分時間放在那裏,刪除它。 – onekidney 2009-12-14 21:03:39