怎样能读出windows里面显示为*(及所谓的密码)字符,我记得超级兔子里面可以实现!

joshstone 2003-03-25 10:31:02
怎样能读出windows里面显示为*(及所谓的密码)字符,我记得超级兔子里面可以实现!
...全文
206 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
joshstone 2003-03-26
  • 打赏
  • 举报
回复
谢谢大哥了。:)
joshstone 2003-03-25
  • 打赏
  • 举报
回复
拿我问问,对于已经存在在系统里面的密码,比如outlook里面保存的密码,
你怎么用钩子弄出来,可以么?呵呵~
kataboy 2003-03-25
  • 打赏
  • 举报
回复
用钩子啊!什么系统都可以!
joshstone 2003-03-25
  • 打赏
  • 举报
回复
2000下面不可以啊!~
还有人知道么?
能找个各个系统都能用的方法么?
SCUM 2003-03-25
  • 打赏
  • 举报
回复


忘了说明 hwnd 是获得的目标窗口句柄

获得目标窗口的办法还要说吗?

最方便的方法就是根据鼠标当前位置取到窗口

POINT p;
GetCursorPos( &p );
HWND hwnd = WindowFromPoint(p);

把这些代码放到一个 TTimer 的 OnTimer 事件里去

kataboy 2003-03-25
  • 打赏
  • 举报
回复
同意楼上的。
不过这个方法在2K下不行的。
SCUM 2003-03-25
  • 打赏
  • 举报
回复

以下代码即可实现 而且有一些别的用途 ;>

char szStr[ 32768 ];
GetClassName( hwnd, szStr, 5000 );
ed_WndClass->Text = szStr;
SendMessage( hwnd, WM_GETTEXT, (WPARAM)32768, (LPARAM)szStr );
ed_WndText->Text = szStr;


ed_WndClass 和 ed_WndText 是 TEdit 组件
joshstone 2003-03-25
  • 打赏
  • 举报
回复
我是想对windows 已经显示为*****的密码字符串读到自己的程序里面去,
而不是下钩子
gloom 2003-03-25
  • 打赏
  • 举报
回复
对编辑框下钩子
wangxiangsjz 2003-03-25
  • 打赏
  • 举报
回复
http://www.chinabcb.com/download/
NowCan 2003-03-25
  • 打赏
  • 举报
回复
MainWnd是密码框的句柄。
NowCan 2003-03-25
  • 打赏
  • 举报
回复
char Char;
char PassWord[255];
Char = SendMessage (MainWnd,EM_GETPASSWORDCHAR,0,0);
PostMessage (MainWnd,EM_SETPASSWORDCHAR,0,0);
Sleep (100);
SendMessage (MainWnd,WM_GETTEXT,255,long(PassWord));
PostMessage (MainWnd,EM_SETPASSWORDCHAR,Char,0);

这是最近流传的方法,不知道行不行。
lanren_me 2003-03-25
  • 打赏
  • 举报
回复
char szBuffer[256];
int len=255;
flag=true; //置循环标志
HWND pass_edit_hwnd; //密码窗口句柄
TPoint p;
while (flag)
{
GetCursorPos(&p);
pass_edit_hwnd= WindowFromPoint(p);

PostMessage(pass_edit_hwnd, EM_SETPASSWORDCHAR, long(0), 0);
//SendMessage(pass_edit_hwnd, EM_SETPASSWORDCHAR,0,0);
SendMessage(pass_edit_hwnd, WM_PAINT, 0, 0);
SendMessage(pass_edit_hwnd, WM_KILLFOCUS, 0, 0);
SendMessage(pass_edit_hwnd, WM_SETFOCUS, 0, 0);

SendMessage(pass_edit_hwnd,WM_GETTEXT,255,long(szBuffer));
//GetWindowText(pass_edit_hwnd,szBuffer,len);
Edit1->Text=szBuffer;
Application->ProcessMessages();
for (int i=0;i<100;i++)
{
Sleep(5);
Application->ProcessMessages();
}
纯冰糖 2003-03-25
  • 打赏
  • 举报
回复
插入另一个程序的线程,再继续发送消息

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧