如何得到一个运行中的程序中所显示的文本内容(200分)

  • 主题发起人 主题发起人 ppp
  • 开始时间 开始时间
P

ppp

Unregistered / Unconfirmed
GUEST, unregistred user!
现有一程序,相当一个文本文件浏览器,但是不允许对其中的内容进行copy等操作,我需要讲
这些内容读出来,请问如何编程实现?
 
我也想知道呀 谁来回答呀?
 
把那个浏览器,发给我,我试试
xiaomin8184@263.net
 
Ctrl+C大法!
 
获取其handle,用WINAPI函数好象是GETWINTEXT吧,记不太清楚了
 
到网上找一拖即存的桌面软件,选中你要的部分,拖到那个软件上,就行了。
或者自己拿API写一个这样的软件。
 
你用Spy++获得该程序的窗口层次信息和类名。就可以控制它了!
 
YB_unique>能不能说得详细一点,具体如何控制,通过spy++找到该程序的窗口handle
以后,接下来如何做?我对这方面没什么经验的说。
 
得到句柄后用API函数GetText就可以了。
 
呵呵!这下应该没问题了吧!
Function GetText(WindowHandle: hwnd):string;
var
txtLength : integer;
buffer: string;
begin
;TxtLength := SendMessage(WindowHandle, WM_GETTEXTLENGTH, 0, 0);
;txtlength := txtlength + 1;
;setlength (buffer, txtlength);
;sendmessage (WindowHandle,wm_gettext, txtlength, longint(@buffer[1]));
;result := buffer;
end;
 
好像还是不行,用spy++只能找到那个程序窗口的handle,而找不到显示文字内容的控件
的handle
 
那个程序窗口的handle???
什么样子,贴出来看看!
 
屏蔽消息吧,然后给自己加一个暗箱:快捷键,跟鼠标一起监测。
 
硬木花椒,>可否具体一点
 
win+a按下后,showmessage Focus控件的Text,没调式,你看看吧
//注册热键win+a
procedure TForm1.FormCreate(Sender: TObject);
begin
; RegisterHotKey(Handle, 1001, MOD_Win, 65);
end;

{消息重载 WM_HOTKEY}
procedure TForm1.WMHotKey(var Msg: TMessage); ;
var
; ActiveHandle: THandle; ;//当前活动窗体ThreadID
; FocusHandle: THandle; ;//焦点控件
; CurHandle: THandle; ; ;//本程序ThreadID
; Buffer: array [0..4096] of Char;
begin
; if Msg.WParam = 1001 then ;//
; begin
; ; CurHandle := GetCurrentThreadID;
; ; ActiveHandle := GetWindowThreadProcessID(GetForeGroundWindow, nil);
; ; AttachThreadInput(CurHandle, ActiveHandle, True);
; ; FocusHandle := GetFocus;
; ; SendMessage(FocusHandle, WM_GETTEXT, 0, Integer(@Buffer[0]));
; ; ShowMessage(StrPas(@Buffer));
; ; AttachThreadInput(CurHandle, ActiveHandle, False);
; end;
; inherited;
end;
 
SPY++是VC中的,
delphi有WS32查看HANDLE
如果你的窗口标题是固定的,你也可以用窗口标题.如:
FINDWINDOW(NIL,'窗口标题');
 
最简单的方法,print screen sysrq键,拷贝屏幕!变成一幅图片!
呵呵!
你试着把鼠标从文字的开始一直拖动到结尾!用ctrl+c应该可以啊!
 
ctrl+c肯定是不行的,我还没这么弱,呵呵:)
; 再解释一下这个程序,这个程序是别人用来发布连载小说的,为了防止随便转贴,
因此只能用这个程序来阅读,而且其中的内容无法拷贝出来。(注,偶可不是为了盗版呀)
; 目前主要是找不到该程序用来显示文档内容的那个控件的handle,因此也就无法用
gettext读出其中内容。各位所提出的方法我都试过了,还是不行。
 
我收到这个软件了,目前还没想到办法怎么把文字弄出来
句柄我找不到,WINSIGHT也不行,SPY++我找不到(哪位能发给我,感激不尽,
xiaomin8184@263.net)
 
是什么程序
不如你发一份过来看看好了!
 
后退
顶部