[英]Sending a mouse click to a button in the taskbar using C#
在我目前正在處理的應用程序中,要求是將外部應用程序的窗口帶到前台。 進行Win32 API調用(如BringWindowToTop和SetForeground窗口)始終不起作用。 這是由於Windows XP中的一些限制。 我想要做的是發送模擬鼠標單擊任務欄上的窗口按鈕,我希望將窗口放在前面。 有誰知道這有可能嗎?
請查看http://www.codeproject.com/KB/dialog/dlgboxtricks.aspx上的“如何關注2K / XP”部分,因為這正是您所需要的。 我不會去任務欄路線,因為任務欄可能被隱藏或根本不存在。
這是可能的。 但它非常粗略。 您的應用程序也可能會破壞下一版本的Windows,因為它沒有文檔。 你需要做的是找到任務欄的窗口句柄,然后找到代表按鈕的子窗口的窗口句柄,然后發送一個WM_MOUSEDOWN(我認為)消息。
這里有點找到任務欄的窗口句柄:
FWIW,對BringWindowToTop / SetForeground的限制是存在的,因為當窗口竊取焦點時它會引起刺激。 如果你在企業環境中工作,這可能無關緊要。 請記住它。 :)
我在一個需要模擬點擊和鼠標移動的程序中使用它;
說實話,我從未遇到過在XP / Vista / 2003/2000上將窗口帶到前台的問題。
您需要確保執行以下操作:
我從來沒有遇到過這些問題我能想到的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.