通过ClipBoard,一个程序往Clipboard写,另一个截获Clipboard事件,从Clipboard读.
解决方案 »
- 第三方控件丢失~求助~~安装完后可以用,重新启动DELPHI就没了
- 请问:双击delphi窗体标题栏发生什么事件?我想在………
- 关于组件的应用,强烈求助!!!
- delphi mshtml 抛异常问题 高手来呀
- 在formcreate中为什么运行这句代码会产生异常?
- 怎样把一个数据库中表的内容用insert 语句插入到别一个数据库中的某个表中(sqlserver)
- 100分---如何打开整理收藏夹 这个面板
- Delphi7.0中的函数问题?
- 网络上一个简单问题
- 在Delphi开发的应用程序中,有时汉字会变成乱码,怎么回事?如何解决?
- 线程怎么用?
- delphi怎么样和sql-server联系起来使用啊 ?
begin
SendMessage(Memo1.Handle, WM_SETTEXT, 0, Longint(PChar('可以通过FindWindow()来找到窗体句柄')));
end;
begin
SendMessage(Memo1.Handle, WM_SETTEXT, 0, Longint(PChar('可以通过FindWindow()来找到窗体句柄')));
end;
用FindWindow找到那个窗口的句柄,然后就好办了
或者PostMessage(...);或者FindChildControl('Edit1').SetTextBuf('s')
begin
SendMessage(Button2.Handle, WM_LBUTTONDOWN, 0, 0);
SendMessage(Button2.Handle, WM_LBUTTONUP, 0, 0);
// SendMessage(Button2.Handle, CN_COMMAND, BN_CLICKED, 0);
end;
不过我只知道这程序运行时的title名,不知道里面的文本框和按钮名,怎么办?
hd:THANDLE;
begin
hd := FindWindow('TForm1','Form1');
end;
//看看它的ClassName和Text就可以用FindWindowprocedure TForm1.Timer1Timer(Sender: TObject);
var
Buffer: array[0..256] of Char;
begin
GetClassName(WindowFromPoint(Mouse.CursorPos), Buffer, 256);
Edit1.Text := Buffer;
GetWindowText(WindowFromPoint(Mouse.CursorPos), Buffer, 256);
Edit2.Text := Buffer; //nil 和 ''不是一会事!
end;
2.利用findwindowEx进一步查找文本框
3.利用sendmessage输入文本
假设目标窗体标题是'form2'
procedure TForm1.Button1Click(Sender: TObject);
var ret:hwnd;
begin
ret:=findwindow(nil,'form1');
if ret>0 then
begin
ret:=findwindowex(ret,0,'Tedit',nil);{最后一个参数是输入框的名字,知道的话可以写上,名字和类可以通过Spy+得到}
sendmessage(ret,wm_settext,0,longint(pchar('aaa'))); end;
end;
然后向给定控件发消息.