程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> WinAPI編程關閉QQ登錄窗體

WinAPI編程關閉QQ登錄窗體

編輯:Delphi
記得在上學的時候,自己一人買了台機器,可是,其他同學總會“搶”我的電腦上QQ聊天,於是自己編了個小程序,只要這個程序運行,則別的同學一打開QQ的登錄如果“把鼠標放到登錄窗體”的話,窗體自動關閉!其實這個功能用Delphi或者C++ Builder來實現是很簡單的:以下我用Delphi原代碼來說明。

        在Delphi中新建一個Project1,在Form1上添加一個Timer,設置Interval為100ms,然後編寫下面的代碼即可:

  procedure TForm1.Timer1Timer(Sender: TObject);
  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用戶登陸”)來判斷。
  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved