我记的delphi的可以方便的查看;
先收藏了

解决方案 »

  1.   

    帮你简洁一下:
    procedure Tform1.Timer1();
    var
      ClassName: PChar;
      ptCursor: TPoint;
      hWndOver: HWND;
      Text: PChar;
    begin
      GetCursorPos(ptCursor);
      hWndOver := WindowFromPoint(ptCursor);
      GetMem(ClassName, 100);
      GetMem(Text, 255);
      try
        GetClassName(hWndOver, ClassName, 100);
        SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text));
        ShowMessage(String(Text));
      finally
        FreeMem(ClassName);
        FreeMem(Text);
      end;
      

  2.   

    帮你简洁一下:
    procedure Tform1.Timer1();
    var
      ClassName: PChar;
      ptCursor: TPoint;
      hWndOver: HWND;
      Text: PChar;
    begin
      GetCursorPos(ptCursor);
      hWndOver := WindowFromPoint(ptCursor);
      GetMem(ClassName, 100);
      GetMem(Text, 255);
      try
        GetClassName(hWndOver, ClassName, 100);
        SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text));
        ShowMessage(String(Text));
      finally
        FreeMem(ClassName);
        FreeMem(Text);
      end;
      

  3.   

    GetClassName(hWndOver, ClassName, 100);
    有什么用?
      

  4.   

    he GetClassName function retrieves the name of the class to which the specified window belongs.
      

  5.   

    windows系统的密码是很脆弱的,因为所有的密码输入的时候都显示为******** 
    表面上看这很安全,因为一般人不懂*******是什么东西,但其实要看到******* 
    下的内容是很容易的事,工作原理如下: 
    windows是基于窗口的消息驱动型作业系统,每个窗口都有自已的属性,其中密码窗 
    口的属性是es_password,所以我们可以利用枚举子窗口enumchildwindows的方法 
    来找出系统中所有子窗口,再检查其属性getwindowlong,若是es_password则是个密码窗 
    然后用sendmessage()取得窗口标题,那就是******下的真正内容 =========下面是delphi程序===================== program lookpass; interface uses 
     windows, messages, sysutils; 
    var 
     hcount:integer; //这是一个窗口响应函数,注意:result:=true很重要,因为只有这样才能连续扫描所有子窗口 
    function lpenumfunc(hwnd:integer;uint:integer):boolean;stdcall; 
    var hw,hs,wlong:integer; 
       sbuf,sb2:array[0..256] of char; 
       sb1:string; 
    begin 
       //得到窗口的属性 
       wlong:=getwindowlong(hwnd,gwl_style); 
       //若属性为es_password则为密码窗 
       if (wlong and es_password)<>0 then 
       begin 
           inc(hcount); 
           //发送获取窗口标题的消息 
           sendmessage(hwnd,wm_gettext,40,integer(@sbuf)); 
           //设置得到的密码 
           strpcopy(sbuf,format('[password %d] = %s',[hcount,sbuf])); 
           //显示密码 
       end; 
       //result为true时继续扫描下一个子窗口 
       result:=true; 
    end; 
    begin 
        lp:=0;hcount:=0; 
        //枚举子窗口,getdesktopwindow用来得到桌面的句柄 
        enumchildwindows(getdesktopwindow,@lpenumfunc,lp); 
    end. 
    ////////////////////////////////////////////////////////////////////////////// 
                                 作者:倪建华 
                    copyright (c) 2001-6-27 allright reserved.