取得鼠标位置的问题

newpowersky 2002-11-22 11:24:28
我的这段代码是想向鼠标指向的窗口发送WM_gettext 消息,我想在我的EDit窗口显示出来怎么办啊??
Vb中像DIM Point As POINTAPI
DIM lParam As string *256这样的定义是什么意思啊?
还有Dim hwnd as long这样的定义到底是定义一个窗口柄还是长型数啊?


include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
POINT pos;
String Lparam;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
HWND hwnd;
GetCursorPos (pos);
hwnd=WindowFromPoint(pos.x,pos.y);
SendMessage(hwnd,WM_GETTEXT,255,Lparam);
Edit1->Text=Lparam;
}
...全文
43 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wingsun 2002-12-01
  • 打赏
  • 举报
回复
呵呵!这么多人帮你了,我就不回答了。只是有一点要告诉你,要学好C++Builder就必须忘掉Visual Basic的内容,否则你胡涂的。VB的数据类型和C++Builder得时又很大的差别的。
newpowersky 2002-11-30
  • 打赏
  • 举报
回复

自己帮自己up一下啊!!
不好意思,,,,,
KingOf007 2002-11-29
  • 打赏
  • 举报
回复
照我想,应该是,取得要查看进程的ID,然后用OpenProcess一类的打开动态链接库,此时,DLL已经与其同进程了,然后就应该可以正确的读Password,再在自己的程序中获得就好了....

呵呵,纸上谈兵,主要是为了把高手引出来....
newpowersky 2002-11-29
  • 打赏
  • 举报
回复
但是可不可以再帮帮我呢!!!!!
我这里有个这样的程序在2000下也可以看**的!!!!!但是用了dll方式我不太清楚怎么个看法!!!!!!!!!!!!

谁可以帮着看看啊!!!!!我可以发到你们的邮箱中!!
newpowersky 2002-11-29
  • 打赏
  • 举报
回复

这样的啊,,,好吧,,,在这里先谢谢各位来这里捧场!!
大大怪老张 2002-11-29
  • 打赏
  • 举报
回复
关注关注...
jbz 2002-11-29
  • 打赏
  • 举报
回复
大侠必读:
=================
1)Windows2000中取***密码的方法
http://vip.6to23.com/NowCan1/tech/psw_view.htm
2)非法探取密码的原理及其防范
http://www.20cn.net/ns/wz/comp/data/20011116032520.htm
3)万能密码可见工具
http://rj.xrl.cc/list.asp?id=593
或者http://www.csdn.net/cnshare/soft/6/6269.shtm
4)如何保证密码不被窃取(附EXE文件)
http://www.southcn.com/it/itschool/200201101132.htm
或者http://www.gdyunan.gov.cn/news/pcyd/yk20111/y1k20111.htm
===============
jishiping 2002-11-29
  • 打赏
  • 举报
回复
你将程序传给我看看,说不定能有什么发现。我的EMail: jishiping@163.net
不过明天上午我就要出去了,大概需要12天后才回来。在此期间不能写程序了
superaf 2002-11-27
  • 打赏
  • 举报
回复
在98 下面很简单 ,但在2000下,因为系统自己对单个进程内数据的保护,很难办到,看看季大侠的方法吧,有时可以成,我怀疑是某些**的格式还做了处理,所以一下子判断不出来,就不能取到了,98下,这种方式就完全可以满足了啊。
jishiping 2002-11-26
  • 打赏
  • 举报
回复
这个问题,其实还是很难的。我试了其它的一些抓取密码框文字的程序,包括
超级兔子,实际上都不能完全做到。所以究竟能不能完全做到,我也说不清。
newpowersky 2002-11-26
  • 打赏
  • 举报
回复
那些看**号的程序是怎么样实现的啊???????????????????

急!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..



newpowersky 2002-11-25
  • 打赏
  • 举报
回复
jishiping(JSP 季世平)

大哥,,,这样没有用啊,,还是不出来啊!!!
还有什么别的办法吗???
jishiping 2002-11-23
  • 打赏
  • 举报
回复
刚才再试了一下,有时可以,有时不可以。我再试试看。
jishiping 2002-11-23
  • 打赏
  • 举报
回复
在使用SendMessage前,先将窗口的ES_PASSWORD属性去掉。我在自己的
机器上测试通过(可以抓到别的程序的密码框的文字)。

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
HWND hwnd;
POINT pos;
char buf[255]="";

GetCursorPos(&pos);
hwnd = WindowFromPoint(pos);
DWORD dwStyle = GetWindowLong(hwnd, GWL_STYLE);
if (dwStyle & ES_PASSWORD) {
dwStyle &= ~ES_PASSWORD;
SetWindowLong(hwnd, GWL_STYLE, dwStyle);
}
SendMessage(hwnd,WM_GETTEXT,255,(long)buf);
Edit1->Text = buf;
}
newpowersky 2002-11-23
  • 打赏
  • 举报
回复
dll是什么东西啊,,,怎么个做法啊!!可以把原理说出来吗???

   急于子解啊!!
KingOf007 2002-11-23
  • 打赏
  • 举报
回复
这是Win2000比98安全一点的表现之一,在Win2000下,只有同一进程内的代码才可以向Password输入框中成功发送gettext消息,可以考虑作成dll,具体没作过,道听途说
newpowersky 2002-11-23
  • 打赏
  • 举报
回复
有没有人来帮帮我啊,,,这里唇齿的出了问题啊???? 很重要的啊!!!
newpowersky 2002-11-22
  • 打赏
  • 举报
回复
Vb中像DIM Point As POINTAPI
DIM lParam As string *256这样的定义是什么意思啊?
还有Dim hwnd as long这样的定义到底是定义一个窗口柄还是长型数啊?

那sendmessage中的LParam到底是什么参数啊!!还有一个 wParam这两个参数是什么类型的啊???
warton 2002-11-22
  • 打赏
  • 举报
回复
楼上说的是,你也可以找个例程,很多的
yuanque 2002-11-22
  • 打赏
  • 举报
回复
HWND hwnd;
hwnd=WindowFromPoint(Mouse->CursorPos);
if(hwnd != NULL)
{
int nMaxCount=255;
char* pTitle = new char(nMaxCount);
memset(pTitle,0,nMaxCount);
GetWindowText(hwnd,pTitle,nMaxCount);
Memo1->Text=pTitle;
}
加载更多回复(5)

13,825

社区成员

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

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