您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> [求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?

[求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?

来源:网络整理     时间:2016/8/25 23:06:32     关键词:

关于网友提出的“ [求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?”问题疑问,本网通过在网上对“ [求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: [求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?
描述:

这个功能主要是从其它程序上的edit控件上取得一个文本数据,
符合条件后向该窗口另外一个控件上发送CTRL+H消息.
在这里对大家先感谢吧,分放到80,
小弟很菜,最好是有例子,多谢.


解决方案1:

procedure TForm1.Button3Click(Sender: TObject);
var
  hw:Thandle;
  he: Thandle;
  s :pansichar;
begin
  getmem(s,256);
  hw := findwindow('TForm2','Form2');
  he := findwindowex(hw,0,'TEdit','Edit1');
  getwindowtext(hw,s,256);
  showmessage(s);
  he := findwondowex(hw,0,'ComponentClassname','ComponentName');
  sendmessage(he,WM_KEYDOWN,VK_CONTROL,0);
  sendmessage(he,WM_KEYDOWN,Ord('H'),0);
  sendmessage(he,WM_KEYUP,Ord('H'),0);
  sendmessage(he,WM_KEYUP,VK_CONTROL,0);
end;

解决方案2:

Windows句柄、消息,请参考相关资料吧

解决方案3:

procedure TForm1.Button1Click(Sender: TObject);
var
  h:  HWND;
  h1: HWND;
  n: Integer;
  buf: array[0..20] of char;
begin
  h := FindWindow(PChar('TForm1'), PChar('RcvFrm')); // 获得主窗口
  h1 := FindWindowEx(h, 0, PChar('TEdit'), nil); // 获得第一个Edit框的句柄
                                                 
  n := 20;
  SendMessage(h1, WM_GETTEXT, n, LPARAM(@buf)); // 发送消息 获取内容
  ShowMessage(buf);
end;


以上介绍了“ [求助]怎么从其它程序的窗口上的控件中取得数据和发送热键?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3592964.html

相关图片

相关文章