SetForegroundWindow


SetForegroundWindow  函數功能:該函數將創建指定窗口的線程設置到前台,並且激活該窗口。鍵盤輸入轉向該窗口,並為用戶改各種可視的記號。系統給創建前台窗口的線程分配的權限稍高於其他線程
  函數原型:BOOL SetForegroundWindow()
  SetForegroundWindow()函數本身是不帶參數的,具體激活某個窗口的方法可以用:
  pWnd->SetForegroundWindow();//這里的pWnd即所要激活窗口的句柄。
  返回值:如果窗口設入了前台,返回值為非零;如果窗口未被設入前台,返回值為零。
  備注:前台窗口是z序頂部的窗口,是用戶的工作窗口。在一個多任務優先搶占環境中,應讓用戶控制前台窗口。

 

SetWindowPlacement  函數功能:該函數設置指定窗口的顯示狀態和恢復,最大化,最小化位置。
  函及原型;BOOL SetWindowPlacement(HWND hWnd,CONST WINDOWPLACEMENT★lpwndpl);
  參數:
  hWnd:窗口句柄。
  lpwndpl:指向一個WINDOWPLACEMWNT結構的指針,該結構給出了新的顯示狀態和窗口位置。
  在調用函數SetWindowPlacement之前,將WINDOWPLACEMWNT結構的長度單元置為sizeof(WINDOWPLACEMENT)。如果lpwndpl->length設置不正確,函數SetWindowPlacement將失敗。
  返回值:如果函數成功,返回值為非零。如果函數失敗,返回值為零。若想獲得更多錯誤信息,請調用callGetLastErro函數。
  備注:如果在WIDNOWPLACEMENT中指定的信息使窗口完全顯示在屏幕之外,系統自動調整坐標以使窗口可見,兼顧屏幕設置和多種監視器配置。
  WINDOWPLACEMENT的長度成員信息設置為sizeof(WINDOWPLACEMENT),如果設置不正確,函數將返回FLASE。查看窗口位置坐標的信息,參看WINDOWPLACEMENT

 

 

GetActiveWindow:獲取系統當前激活的窗口,也可以理解為獲取焦點的窗口;GetForegroundWindow:獲取系統當前最頂層窗口。

最前的窗口不一定是激活的窗口。比如說qq的主窗口,只要不靠到屏幕邊上,就是總在最前的,你拖放一個ie過去是擋不住的,這時候,你用GetActiveWindow得到的是有焦點的ie窗口,用GetForegroundWindow得到的是qq的窗口。這個例子很直觀。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM