这段代码只能截取98下的密码框的密码
procedure TForm1.Timer1Timer(Sender: TObject);
var
p:Tpoint;
hd:HWND;
l:integer;
buf:pchar;
begin
GetCursorPos(p);
hd:=WindowFromPoint(p);
l:=sendmessage(hd,WM_GETTEXTLENGTH,0,0);
getmem(buf,l+2);
sendmessage(hd,WM_GETTEXT,l+1,int64(buf));
edit1.Text :=strpas(buf);
freemem(buf);
end;
那么怎么截取“Nt核心操作系统的密码框的密码”和“IE中密码框的密码”呢?
截取1)IE中密码框的密码:王行舟是我看到了一个作出这个产品的人啊!
2)Nt核心操作系统的密码框的密码:有三个高手作出来了!

解决方案 »

  1.   

    在使用SendMessage发送WM_GETTEXT之前,先用GetWindowLong得到文本框的属性,再用SetWindowLong将其中的文本用*号显示的那个属性去掉就可以了。
      

  2.   

    看这个程序:http://www.tonixsoft.com/index.php?mmenu_id=3&smenu_id=0020
      

  3.   

    这个方法已经没有用了.微软已经将这个漏洞补好.如果你的win98打过patch了.
      

  4.   

    to:FigoZhu(堆栈的栈) 
    具体代码怎么写啊,谢谢!可是有三个人却可以轻松搞定啊!
    他们怎么做的!
    http://www.bwkj.net/bios/tiwen1.htm
      

  5.   

    FigoZhu(堆栈的栈)的方法不行,NT以上跨进程用SetWindowLong根本不会成功.
    楼主可以做个HOOK,在HOOK函数中发送WM_GETTEXT消息给目标,很简单的.
      

  6.   

    什么是HOOK?
    塞入目标进程??都不懂啊?望赐教原代码!