我以完全信任的方式使用XBAP应用程序。当我点击一个按钮时,我需要关闭托管XBAP的浏览器。我怎样才能做到这一点? Application.Currenty.ShutDown()
只关闭应用程序,使浏览器空白。如何从XBAP关闭浏览器?
4
A
回答
3
编辑: 我的错误,这里是你的问题的一个话题 - http://social.msdn.microsoft.com/forums/en-US/wpf/thread/21c88fed-c84c-47c1-9012-7c76972e8c1c
和更具体的(此代码需要完全信任安全设置)
using System.Windows.Interop;
using System.Runtime.InteropServices;
[DllImport("user32", ExactSpelling = true, CharSet = CharSet.Auto)]
private static extern IntPtr GetAncestor(IntPtr hwnd, int flags);
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
private void button1_Click(object sender, RoutedEventArgs e)
{
WindowInteropHelper wih = new WindowInteropHelper(Application.Current.MainWindow);
IntPtr ieHwnd = GetAncestor(wih.Handle, 2);
PostMessage(ieHwnd, 0x10, IntPtr.Zero, IntPtr.Zero);
}
1
这是不过它也关闭了所有的IE,包括任何公开的标签e,但是如果您还执行Application.Current.Shutdown():在上面之后它会中止完全的IE关闭并关闭应用程序选项卡。
private void exitButton_Click(object sender, RoutedEventArgs e)
{
// This will Shut entire IE down
WindowInteropHelper wih = new WindowInteropHelper(Application.Current.MainWindow);
IntPtr ieHwnd = GetAncestor(wih.Handle, 2);
PostMessage(ieHwnd, 0x10, IntPtr.Zero, IntPtr.Zero);
// Singularly will just shutdown single tab and leave white screen, however with above aborts the total IE shutdown
// and just shuts the current tab
Application.Current.Shutdown();
}
5
相关问题
- 1. 如何防止在Web浏览器中关闭XBAP浏览器应用程序
- 2. 用XBAP直接浏览浏览器
- 3. 关闭浏览器
- 4. 如何在Liferay中关闭浏览器?
- 5. 如何在浏览器关闭
- 6. 如何用水豚关闭浏览器?
- 7. 如何使用C#关闭浏览器?
- 8. 如何检测浏览器关闭?
- 9. 如何关闭浏览器窗口?
- 10. 如何关闭所有浏览器?
- 11. Dart:如何关闭浏览器窗口?
- 12. XMLHttpRequest如何在浏览器上关闭?
- 13. 如何关闭浏览器窗口
- 14. 关闭Web浏览器从Java程序
- 15. 铬:当浏览器关闭
- 16. 饼干关闭浏览器
- 17. 关闭浏览器警报
- 18. 在浏览器关闭
- 19. 关闭浏览器(PHP)
- 20. SetTimeout在浏览器关闭
- 21. 在浏览器关闭
- 22. 关闭浏览器事件
- 23. 使Web浏览器关闭
- 24. 浏览器关闭事件
- 25. 浏览器关闭和asp.net
- 26. XPages关闭浏览器
- 27. 如何在浏览器中关闭一个会话关闭Django
- 28. GWT:如何在关闭浏览器时关闭会话
- 29. 如果浏览器在asp.net中关闭,则从浏览器注销?
- 30. 浏览器确认关闭:取消按钮也关闭浏览器
+1,以补偿不公平-1 ...这是一个很好的问题 – 2009-08-31 14:23:34