哪位给我说一下如何向其他应用程序的文本框里面添加内容?(100分)

  • 主题发起人 主题发起人 秋伊水
  • 开始时间 开始时间

秋伊水

Unregistered / Unconfirmed
GUEST, unregistred user!
好,关注
 
你看看这个吧<br>unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,<br>&nbsp; StdCtrls;<br><br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; Memo1: TMemo;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; end;<br><br>var<br>&nbsp; Form1: TForm1;<br><br>implementation<br><br>{$R *.DFM}<br><br>function MyProc(Handle: hwnd; lParam: LParam): boolean; stdcall;<br>var<br>&nbsp; s: string;<br>begin<br>&nbsp; SetLength(s, 100);<br>&nbsp; GetClassName(Handle, PChar(s), 100);<br>&nbsp; if Pos('EDIT', UpperCase(s)) &gt; 0 then<br>&nbsp; begin<br>&nbsp; &nbsp; SetLength(s, 200);<br>&nbsp; &nbsp; SendMessage(Handle, WM_GETTEXT, 200, LongInt(S));<br>&nbsp; &nbsp; Form1.Memo1.Text := s;<br>&nbsp; end;<br>&nbsp; Result := True;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; h: THandle;<br>begin<br>&nbsp; h := FindWindow(PChar('Notepad'), nil);<br>&nbsp; EnumChildWindows(h, @MyProc, 0);<br>end;<br><br>end.<br>
 
怎么用阿!不好意思!
 
好,收藏了!!
 
反了!我的意思是把memo1中的内容输入到应用程序的文本框中(文本框不止一个)
 
最重要的是方法
 
麻烦老大一下了,本人刚开始学delphi!
 
谢谢 pink_wt,让我学会了callback函数,今天我终于明白了!<br>
 
呵呵,我也不过学了2个月
 
吃饭去了,下午再来!
 
谢谢,我也学会了一招。
 
如何实现向notepad的文本框里面发送数据??
 
让那个程序获得焦点,然后调用SendKey这个API函数
 
“让那个程序获得焦点,然后调用SendKey这个API函数”<br><br><br>能否具体给个实例!谢谢
 
procedure SendText(const h: HWND; const s: string); &nbsp;<br>var &nbsp;<br>i: integer; &nbsp;<br>begin &nbsp;<br>if h = 0 then &nbsp;<br>Exit; &nbsp;<br>if Length(s) = 0 then &nbsp;<br>Exit; &nbsp;<br>for i:= 1 to Length(s) do &nbsp;<br>begin &nbsp;<br>if Ord(s) in [9, 13, 32..254] then &nbsp;<br>SendMessage(h, WM_CHAR, Ord(s), 0); &nbsp;<br>end; &nbsp;<br>end;
 
最简单的是用Depends工具(VC提供)看看这个文本框的控制ID(不会改变),然后在你的DLL程序动态加载进去<br>当这个ID出现时,添加文字或进行其他操作。
 
如果是Win9x系统的话,楼上兄弟们的方法可行,但在Win2k及WinXP下就无效了。<br>对所有WIN系统有效的方法是,进入包含你要取得文本或设置文本的窗体的进程,再<br>使用GetWindowText和SetWindowText来获取和设置文本。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部