我正在使用pinvoke「user32.dll」將我的應用程序發回(位於所有其他應用程序後面),因此它位於桌面上,反之亦然。目前它只是切換回來/前面。有沒有辦法來檢測我的應用程序是否在後面並將它放在前面或如果它在前面並將其發回?謝謝。如何在.NET中控制windows應用程序焦點
0
A
回答
0
2
如果窗口是活動窗口,通過調用
[DllImport("user32.dll")] static
static extern IntPtr GetForegroundWindow();
你曾經是能夠調用
您可以檢測[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
將您的窗口設置爲前景,但Microsoft在Windows ME/2000之後更改了其功能(可能是XP?)。
這個問題有各種各樣的解決方法,您可能需要測試幾個來看看哪些適合您。
http://www.tek-tips.com/faqs.cfm?fid=4262
http://markribau.org/blog/?p=7
我記得讀有關可以設置爲允許根據需要SetForegroundWindow工作註冊表項,但它是一個系統級設置。
http://www.delphipages.com/forum/showthread.php?t=198261
您可以使用SetWindowPos到你的窗口將落後於其他窗口或永久頂部是否有幫助
http://www.pinvoke.net/default.aspx/user32.SetWindowPos
http://msdn.microsoft.com/en-us/library/ms633545(VS.85).aspx
相關問題
- 1. 如何控制Win32應用程序中的焦點?
- 2. 維護用戶控件的焦點Windows應用程序
- 3. 如何將焦點設置爲Windows窗體應用程序中的控件?
- 4. 如何在控制檯應用程序中使用System :: Net :: Mail
- 5. 如何在.NET Core控制檯應用程序中實現MVVM?
- 6. 如何在.NET中控制字體DPI WinForms應用程序
- 7. 基於Windows的.net應用程序中的計時器控制?
- 8. 在Mac或Windows上運行.NET Core控制檯應用程序
- 9. 在.NET 4.5.2控制檯應用程序中使用.NET Core庫
- 10. NET Windows窗體應用程序的多線程控制
- 11. 如何阻止Windows應用程序盜取焦點
- 12. 如何在Windows Map應用程序中製作地圖控件
- 13. 在Windows控制檯應用程序
- 14. 在Windows 8應用程序中重置焦點
- 15. C#控制檯應用程序失去焦點
- 16. 在C#.NET控制檯應用程序中使用OCX控件
- 17. 如何部署.Net Windows應用程序
- 18. 在一個應用程序應用程序中設置焦點
- 19. 禁用Windows控件焦點
- 20. VSTO:應用程序焦點
- 21. 如何檢測「>」和「<」在.NET控制檯應用程序
- 22. 如何在後臺運行.NET控制檯應用程序
- 23. .Net:如何在Windows窗體應用程序中使用WPF用戶控件?
- 24. 在.Net Windows應用程序中緩存
- 25. .Net AdControl在Windows應用程序中
- 26. 從控制檯應用程序到.NET Windows窗體
- 27. .NET控制檯應用程序configSections
- 28. 如何在設置焦點控制
- 29. Powerwise:在C#(.NET)中使用控制檯還是Windows GUI應用程序更好?
- 30. 使用Python控制Windows應用程序