我是这样写的:
程序的流程是这样的:
1、通过FindWindow得到要发送消息的程序的主窗口;
2、通过FindWindowEx得到要发送消息的程序的按钮的句柄
3、通过SendMessage发送消息以下是发送消息的部分:H是指定程序的按钮的窗口句柄。
ID是通过GetWindowLong函数得到的。
SendMessage( GetParent( H ), WM_COMMAND, ID, H );以上程序总是失败,望高手赐教!!!
程序的流程是这样的:
1、通过FindWindow得到要发送消息的程序的主窗口;
2、通过FindWindowEx得到要发送消息的程序的按钮的句柄
3、通过SendMessage发送消息以下是发送消息的部分:H是指定程序的按钮的窗口句柄。
ID是通过GetWindowLong函数得到的。
SendMessage( GetParent( H ), WM_COMMAND, ID, H );以上程序总是失败,望高手赐教!!!
解决方案 »
- 动态创建odbc数据源的问题
- 实现了文件搜索,但是怎么才能把文件名及其图标显示出来,关键要显示图标,点击就可打开文件
- Tadoquery 查询的怪事,难道是bug吗?
- 请问如何完全编译程序?(30分相送)急!急!急!
- 关于工具栏的问题,请指点!
- 如何将Memo中的字符串的长度添加到数据库表中
- 事情有蛮久了,要Sybase Anywhere 5.0的朋友进来,我上次没地方放,这次已经测试可下载
- 进销存中客户的应收应付怎么计算,是每月结转吗?需要专门建表吗?(只要是合理建议保证给分)
- 请问各位虾哥TLargeInteger的含义和用法?
- 从那里可以下载到formula one控件,我怎么也找不到,救命呀!!!
- CBX DELPHI7下面如何显示Project Manager 面板?谢谢大家了。
- 可用分6588,继续散分
procedure TForm1.Button1Click(Sender: TObject);
var
handle1: HWND;
begin
handle1 := GetWindow(FindWindow('Shell_TrayWnd', nil), GW_CHILD);
SendMessage(handle1, BM_CLICK, 0, 0);
end;可能跟楼主说的不是一个意思,那就当我瞎说了。为了惩罚我,帮我解决个问题吧!
http://expert.csdn.net/Expert/topic/1281/1281613.xml?temp=.121792
var
h:THandle;
begin
h := FindWindow(nil,'信使服务 ');
h := FindWindowEX(h,0,'Button','确定');
SendMessage(h,BM_CLICK,0,0);
PostMessage(h,BM_CLICK,0,0);
end;
实在不行的话你可以在google中找一下FindWindowEx();的实例看看。
begin
showmessage('aaa');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage(form1.Handle,wm_command,0,button2.Handle);
end;