今天问一大难题 有一软件,可执行文件,文本框和listbox里的内容被作者蔽避掉了 Ctrl+c,点击右键复制其内容, 现在我想把他的内容复制下来, 做一个程序, 把其文本框内容复制下来。因为内容很多,少的话我直接打就行了。谢谢各位,分少可以加。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 bcb,还没有成功,有没有delphi的例子 获得控件句柄,发送WM_GETTEXT消息,这和语言无关!论坛查询,我以前回答过! delphi测试通过:var pos:tpoint; hwnd:thandle; p:pchar;begin GetCursorPos(pos); getmem(p,2000); hWnd:=WindowFromPoint(pos); GetWindowText(hwnd,p,2000); caption:=string(p); var pos:tpoint; hwnd:thandle; p:pchar;begin GetCursorPos(pos); getmem(p,2000); hWnd:=WindowFromPoint(pos); SendMessage(hwnd,WM_GETTEXT,2000,longint(p)) ; caption:=string(p); freemem(p);end; 刚写了个!varmousepoint:tpoint;txthwnd:hwnd;str:array [0..254] of char;lens:integer;begingetcursorpos(mousepoint);txthwnd:=windowfrompoint(mousepoint);lens:=sendmessage(txthwnd,wm_gettextlength,0,0)+1;sendmessage(txthwnd,wm_gettext,lens,longint(@str)); 谢谢各位。如果类是ListBox1,就没法读取了。 edit和combobox的可以。还有的我自己写了一个程序,用password属性 带***** 无法读取。 这就是所谓做了处理!它在程序中拦截了你发送的WM_GETTEXT,WM_GETTEXT,EM_SETPASSWRODCHAR消息! listbox是itemEXwm_gettext是不行,用LB_GETTEXTSendMessage( (HWND) hWnd, // handle to destination window LB_GETTEXT, // message to send (WPARAM) wParam, // item index (LPARAM) lParam // buffer for items (LPTSTR)); 普通的password edit用我上面的代码可以得到的,不知道你是如何测试的? line:=n-1;//第N行SendMessage(txthwnd,EM_GETLINE,line,longint(@str));可获得第N行文本,对Memo有效果! SendMessage(txthwnd,EM_GETLINECOUNT,0,0)-1//总行数 请说说Delphi的intraWeb 拷贝得到有汉字乱码怎么解决? 关于主从表维护的问题 最快求解 当fastreport打印时,如果数据量没有到一页纸时,如何让fastreport把数据区的表格打印出来。 怎样安全的终止并释放正在运行中的线称(是通过主线称来终止并释放的) 各位大虾,我刚学delphi,请问如何在报表(Qreport)中制作表格, 我需要pascal的语法 求救。。。菜鸟的SOS 高手请进,尤其实网络编程的 60分 为什么这句命令要关闭窗口才执行 谁能获取,本机在广域网上的Ip地址?
var pos:tpoint;
hwnd:thandle;
p:pchar;
begin
GetCursorPos(pos);
getmem(p,2000);
hWnd:=WindowFromPoint(pos);
GetWindowText(hwnd,p,2000);
caption:=string(p);
hwnd:thandle;
p:pchar;
begin
GetCursorPos(pos);
getmem(p,2000);
hWnd:=WindowFromPoint(pos);
SendMessage(hwnd,WM_GETTEXT,2000,longint(p)) ;
caption:=string(p);
freemem(p);
end;
mousepoint:tpoint;
txthwnd:hwnd;
str:array [0..254] of char;
lens:integer;
begin
getcursorpos(mousepoint);
txthwnd:=windowfrompoint(mousepoint);
lens:=sendmessage(txthwnd,wm_gettextlength,0,0)+1;
sendmessage(txthwnd,wm_gettext,lens,longint(@str));
它在程序中拦截了你发送的WM_GETTEXT,WM_GETTEXT,EM_SETPASSWRODCHAR消息!
wm_gettext是不行,用LB_GETTEXTSendMessage(
(HWND) hWnd, // handle to destination window
LB_GETTEXT, // message to send
(WPARAM) wParam, // item index
(LPARAM) lParam // buffer for items (LPTSTR)
);
SendMessage(txthwnd,EM_GETLINE,line,longint(@str));
可获得第N行文本,对Memo有效果!
//总行数