【问题标题】:Delphi Emulate Keys/Mouse To a Specific windowDelphi 模拟键/鼠标到特定窗口
【发布时间】:2011-06-15 01:59:24
【问题描述】:

我想知道如何通过击键/鼠标点击来定位特定窗口?

【问题讨论】:

  • 在我们提供帮助之前,我认为您需要明确您的问题是什么。
  • 好吧...我有一个窗口 一个特定的窗口,无论窗口在屏幕上的哪个位置 我希望能够模拟鼠标点击窗口内的按钮
  • 将 WM_COMMAND 或 BN_CLICKED 消息发布到按钮的窗口句柄可能更容易。

标签: delphi


【解决方案1】:

(关于您对问题的评论)如果按钮是标准的BUTTON control,请找到其句柄并向其发送BM_CLICK 消息(请注意文档中有关对话框未激活时的备注) .

【讨论】:

    【解决方案2】:

    如果操作系统是 windows,如何在操作系统中搜索“窗口”:

    function FindWindowExtd(partialTitle: string): HWND;
    var
      hWndTemp: hWnd;
      iLenText: Integer;
      cTitletemp: array [0..254] of Char;
      sTitleTemp: string;
    begin
      hWndTemp := FindWindow(nil, nil);
      while hWndTemp <> 0 do begin
        iLenText := GetWindowText(hWndTemp, cTitletemp, 255);//search after the partial name
        sTitleTemp := cTitletemp;
        sTitleTemp := UpperCase(copy( sTitleTemp, 1, iLenText));
        partialTitle := UpperCase(partialTitle);
        if pos( partialTitle, sTitleTemp ) <> 0 then
          Break;
        hWndTemp := GetWindow(hWndTemp, GW_HWNDNEXT);
      end;
      result := hWndTemp;
    end;
    

    这里有如何将鼠标点击发送到“窗口”

    http://delphi.about.com/od/vclusing/a/mouseadvanced.htm

    如何从 Delphi 将击键发送到另一个应用程序

    http://delphi.about.com/od/adptips2004/a/bltip1104_3.htm

    如果您想要其他内容,请修改您的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多