如果别人的程序在运行
GetWindow可以得到它的句柄
curHnd:=GetWindow(handle,GW_HWND,FIRST);
获得他的按钮句柄
btnHnd:=FindWindow(curHnd,'button',nil);
对于要给这个按钮发消息,我不太清楚,你可以用媒体控制试一试
MCIERROR mciSengdString(
LPCTSTR lpszCommane,
LPTSTR lpszReturnString,
UNIT cchReturn,
HANDLE hwndCallback
);
GetWindow可以得到它的句柄
curHnd:=GetWindow(handle,GW_HWND,FIRST);
获得他的按钮句柄
btnHnd:=FindWindow(curHnd,'button',nil);
对于要给这个按钮发消息,我不太清楚,你可以用媒体控制试一试
MCIERROR mciSengdString(
LPCTSTR lpszCommane,
LPTSTR lpszReturnString,
UNIT cchReturn,
HANDLE hwndCallback
);
解决方案 »
- 关于EnumProcesses最后一个参数的理解
- 三层连接提示错?
- pagecontrol 高难度问题高分
- Delphi7 主从表导出到EXCEL文件。
- 如何实现使用excle导入sqlserver的实现
- 出现这样的error[Fatal Error] BaseFormUnit.pas(26): File not found: 'XPMenu.dcu'如何解决
- 急,200分求delphi的OpenGL的资料……
- 100分求助!Delphi中如何open一个含游标的Oracle过程,为什么总是“Error creating cursor handle”
- 救命!adoquery如何得到存储过程的return值?在线等!
- 请教一个问题,窗口上有一个checkbox,当点击时,窗体的下部分为不可显示,再点击可显示全部窗口
- dbgrid在移动托动条时能将前两列固定不动!
- 用MDI application时,遇到问题了
var
Wnd, WndWin: HWND;
P: TPoint;
Rect: TRect;
I: Integer;
begin
//找到窗体句柄
WndWin := FindWindow(PChar('TfrmMain'), nil);
if WndWin <> 0 then begin
//获取按钮句柄
Wnd := FindWindowEx(WndWin, 0, 'TButton', PChar('Button1'));
//给按钮发消息
if Wnd <> 0 then
begin
Windows.GetClientRect(Wnd, Rect);
P.X := Rect.Left + 2;
P.Y := Rect.Top + 2;
PostMessage(Wnd, WM_LBUTTONDOWN, 0, MakeLParam(P.X, P.Y));
PostMessage(Wnd, WM_LBUTTONUP, 0, MakeLParam(P.X, P.Y));
end;
end;