WinAPI程式設計關閉QQ登入窗體 (轉)

worldblog發表於2007-12-15
WinAPI程式設計關閉QQ登入窗體 (轉)[@more@]

  記得在上學的時候,自己一人買了臺機器,可是,其他同學總會“搶”我的上qq,於是自己編了個小,只要這個程式執行,則別的同學一開啟QQ的登入如果“把滑鼠放到登入窗體”的話,窗體自動關閉!其實這個功能用或者C++ Builder來實現是很簡單的:以下我用Delphi原始碼來說明。

  在Delphi中新建一個Project1,在Form1上新增一個Timer,設定Interval為100ms,然後編寫下面的程式碼即可:

procedure TForm1.Timer1Timer(Sender: T);
var
  handle,hchild1,hchild2:THandle;
  point:TPoint;
  temp:array[0..255] of char;
begin

 得當前滑鼠的位置
  GetCursorPos(point);
 //取得當前滑鼠所在窗體的控制程式碼

 handle:=WindowFromPoint(point);
  GetClassName(handle,temp,256);
  //#32770是對話方塊的類名,QQ窗體的類名就是#32770

  if temp='#32770' then

  begin

  //為了確保是QQ登陸窗體,再檢查有沒有“登陸”和“註冊嚮導”兩個按扭
  hchild1:=FindWindowEx(handle,0,'Button','登入');
  hchild2:=FindWindowEx(handle,0,'Button','註冊嚮導');
  if (hchild1<>0) and (hchild2<>0) then
  SendMessage(handle,WM_CLOSE,0,0);
  end;
end;

 

呵呵! 很簡單吧!要注意的是,QQ窗體的“QQ登陸”這個標題是畫上去的,不能簡單的用FindWindow(窗體控制程式碼,“QQ使用者登陸”)來判斷。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993782/,如需轉載,請註明出處,否則將追究法律責任。

相關文章