想实现如下效果,但不知怎么写代码
在Edit框中输入字符,回车后能够将字符发送到WINDDOWS其它程序中,
比如记事本,WORD文档中,
有点像输入法的效果
请问代码怎么写呢?
在Edit框中输入字符,回车后能够将字符发送到WINDDOWS其它程序中,
比如记事本,WORD文档中,
有点像输入法的效果
请问代码怎么写呢?
解决方案 »
- 从数据库读取数据添加到树形控件上~~~有适合答案我再加分~~~~~~~~标题不要太长~~~~~~~~~~~~~~~~~~~~~~~~~~~~~希望答案能详细些!
- 循环与多线程
- 关于取任意数的问题!
- 哪个兄弟知道Faxmail中编辑html邮件的控件哪有?就是可以插入超连接,图片的哪一控件??
- sql server数据导为mdb的问题。
- 请帮忙看一下我的SQL语句,先谢谢各位了!!
- 刚学DELPHIE有一些问题
- 一个oracle的小问题,解决了一定给分
- 我在调用dll时出现"Access violation at address xxx in module 'user32.dll'"错误
- !!!!!!!非技术问题,先声明,别骂我!
- 怎样在delphi 中调用Chm型帮助文件!
- 请高手指点!
下面是刚写的,向一个打开的文本文件里面输入文字(a.txt)
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
h: HWND;
str: pchar;
hEdit: HWND;
len: Integer;
text: String;
begin
if key=vk_return then
h := FindWindow(nil,pchar('a.txt - 记事本'));
if h > 0 then
begin
//Showmessage('found');
hEdit := FindWindowEx(h,0,'Edit',nil);
if hEdit > 0 then
begin
//先得到原来的文本
try
len := SendMessage(hEdit,WM_GETTEXTLENGTH,0,0);
Getmem(str,len+1);
SendMessage(hEdit,WM_GETTEXT,len+1,LPARAM(str));
//showmessage('found edit');
text := Strpas(str) + Edit1.Text;
SendMessage(hEdit,WM_SETTEXT,length(text),LPARAM(text));
finally
FreeMem(str);
end;
end;
end;
end;
谢谢你了
不过,你这样只是对一个固定'a.txt - 记事本'进行字符的发送
怎么样能够使其发送到任意的程序当中呢
h := FindWindow(nil,pchar('a.txt - 记事本'));
改为
h=GetWindow(GetDesktopWindow(), GW_HWNDNEXT);
再加个while循环。。