如何获取其他程序中选中的文本?

cyai 2003-04-15 02:14:32
两个不同的程序,一个程序如何获取另一个程序中选中的文本?
...全文
124 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyai 2003-04-21
  • 打赏
  • 举报
回复
CTRL+C 这个消息如何发?
xiaocha 2003-04-21
  • 打赏
  • 举报
回复
试一试发送按键消息,CTRL+C
cyai 2003-04-21
  • 打赏
  • 举报
回复
我用的是如下方法:
ActiveControl:=WindowFromPoint(Mouse.CursorPos);
SendMessage(ActiveControl,WM_COPY,0,0);
TextArea.Lines.Clear;
SendMessage(TextArea.Handle,WM_PASTE,0,0)
它对网页中文本不起作用,是不是无法取得它的窗口还是发送的WM_COPY无效?
magiclee 2003-04-20
  • 打赏
  • 举报
回复
发送em_getsel消息。
cyai 2003-04-19
  • 打赏
  • 举报
回复
方法不错,但对于网页的文本却不起作用,有什么办法?
honkily 2003-04-17
  • 打赏
  • 举报
回复
up
naughtyboy 2003-04-17
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
dd,hh: hwnd;
i: integer;
mem: pchar;
begin
dd := FindWindow(nil,'SendMsg');
if dd>0 then
begin
hh := FindwindowEx(dd,0,pchar('TRichEdit'),nil);
if hh>0 then
begin
i := SendMessage(hh,WM_GETTEXTLENGTH,0,0);
getmem(mem,i+1);
SendMessage(hh,WM_GETTEXT,i+1,LongInt(mem));
showmessage(strpas(mem));
end
else
showmessage('no such window');
end;
getmem(mem,0);
end;
xiaocha 2003-04-17
  • 打赏
  • 举报
回复
如果你的程序不获取Focus,用GetFocus来获取窗口
如果你的程序要获取Focus,响应WM_SETFOCUS来获取窗口
如果你的程序不是要取当前Focus窗口的文本,用SetCapture捕获鼠标,用WindowFromPoint获取窗口
当然用Hook也可以,但是好像大材小用了
Pipi0714 2003-04-17
  • 打赏
  • 举报
回复
这个样的程序用vc作特别easy,这是钩子技术。假如有银子我可以给你做,而且银子不多
cyai 2003-04-17
  • 打赏
  • 举报
回复
上面的方法也不错,但总要指定名称和类别,不大通用,能否用HOOK的方法,运行本程序不出现,按下某键后把当前选中的文本复制下来.该怎样做,请各位大力相助.
智商无下限 2003-04-16
  • 打赏
  • 举报
回复
楼上的方法差不多
wenxj 2003-04-16
  • 打赏
  • 举报
回复
先GetActiveWindow()取得当前活动窗口的句柄,然后找这个窗口中的当前编辑控件,就是当前得到焦点的控件,可用GetFocus 来取,最后用SelStart 和 SelLength来取当前选中的文本。
NightCloud 2003-04-16
  • 打赏
  • 举报
回复
这两个程序你都能改吗。如果能的话
就一个程序放一个ServerSocket,一个放ClientSocket,通过socket两个程序建立联系。
然后将你的文本通过socket放送即可
runranrun 2003-04-16
  • 打赏
  • 举报
回复
我觉得需要做一个全局的API钩子,类似鼠标取词的做法,网上这方面的资料很多,一时也讲不清楚.
cyai 2003-04-15
  • 打赏
  • 举报
回复
能否讲具体点或发个邮件?cyai@sina.com。另用剪贴板不行的,因为如果可以把它复制的话也不用编写一个程序来取出它的文字了。
NightCloud 2003-04-15
  • 打赏
  • 举报
回复
通过socket发
icu 2003-04-15
  • 打赏
  • 举报
回复
剪贴板来实现把,
cyai 2003-04-15
  • 打赏
  • 举报
回复
解决了,可加分,希望各位帮忙.

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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