K Kaven Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #1 在BCB,DLPHI中怎样看*****中的确内容?指看内存中的,不是PWL中的.象GETIP,PASSVIEW,PWLVIEW.最好用BCB.Thank you!
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #2 sendmessage(the_edit_control.handle, WM_GETTEXT, count, buffer );
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #3 补充一点,直接的‘*****’是没有意义的,因而可通过消息等来获取。
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #4 *****只是显示出来是这样, 其实根本就是个tedit, 所以可以用wm_gettext得到.<br>不过, 有些程序用了其它的方法, 如nt的domainusermanager就不能通过这个方法<br>得到密码:-(<br>
*****只是显示出来是这样, 其实根本就是个tedit, 所以可以用wm_gettext得到.<br>不过, 有些程序用了其它的方法, 如nt的domainusermanager就不能通过这个方法<br>得到密码:-(<br>
K Kaven Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #5 感谢个位高手指点!!!<br>但是怎样才能获得 the_edit_control.handle 这个焦点。<br>
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #6 类似的软件都必须通过鼠标指点一个edit来进行处理, 所以可以通过<br>WindowAtPoint(名字实在记不住了!) API函数来得到edit的句柄.
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #7 如果是你自己的程序, 那么直接用getfocus就能得到handle<br>如果是别人正在运行的程序, 那么可能麻烦点. <br>我的方法是:<br>getforegroundwindow取得别人的窗口handle, getwindowthreadprocessid取得<br>别人窗口的thread句柄.<br>getcurrentthreadid取得自己程序的threadid,<br>attachthread将自己的thread加到别人thread后.<br>getfocus取得别人窗口中当前的edit的handle.<br>再次调用attchthread取消attach.<br>postmessage
如果是你自己的程序, 那么直接用getfocus就能得到handle<br>如果是别人正在运行的程序, 那么可能麻烦点. <br>我的方法是:<br>getforegroundwindow取得别人的窗口handle, getwindowthreadprocessid取得<br>别人窗口的thread句柄.<br>getcurrentthreadid取得自己程序的threadid,<br>attachthread将自己的thread加到别人thread后.<br>getfocus取得别人窗口中当前的edit的handle.<br>再次调用attchthread取消attach.<br>postmessage
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #8 另一个方法是enumchildwindows, 根据返回的hwnd用getwindowlong取得<br>该window的style, 判断是否ES_PASSWORD置位了, 如果是, 那么这个<br>hwnd就是您需要的edit的hwnd了
另一个方法是enumchildwindows, 根据返回的hwnd用getwindowlong取得<br>该window的style, 判断是否ES_PASSWORD置位了, 如果是, 那么这个<br>hwnd就是您需要的edit的hwnd了
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #9 查到了, 是 WindowFromPoint 这个函数!
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-30 #10 不过有时出access violet错误<br><br>var<br> namechar;<br> l:integer;<br> hdc:hwnd;<br> x:tpoint;<br>begin<br> GetCursorPos(x);<br> hdc:=WindowFromPoint(x);<br> l:=255;<br> if hdc<>0 then<br> begin<br> try<br> l:=SendMessage(hdc,WM_GETTEXTLENGTH,0,0)+1;<br> SendMessage(hdc,wm_gettext,l,longint(name));<br> label1.Caption:=string(name);<br> except<br> label1.Caption:='error';<br><br> end;<br> end;<br><br>end;<br>
不过有时出access violet错误<br><br>var<br> namechar;<br> l:integer;<br> hdc:hwnd;<br> x:tpoint;<br>begin<br> GetCursorPos(x);<br> hdc:=WindowFromPoint(x);<br> l:=255;<br> if hdc<>0 then<br> begin<br> try<br> l:=SendMessage(hdc,WM_GETTEXTLENGTH,0,0)+1;<br> SendMessage(hdc,wm_gettext,l,longint(name));<br> label1.Caption:=string(name);<br> except<br> label1.Caption:='error';<br><br> end;<br> end;<br><br>end;<br>
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-30 #11 to cytown: 估计问题在这一句:<br> if hdc<>0 then <br> ^^^WindowFromPoint返回值在不成功时为nil, 并不是<>0
to cytown: 估计问题在这一句:<br> if hdc<>0 then <br> ^^^WindowFromPoint返回值在不成功时为nil, 并不是<>0
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-30 #12 cakk, 你错了:-(<br>去实践一下吧<br>
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-30 #13 确实没试过,只知道这么做可以. 我是看Delphi帮助里说等于nil的.