C++ Builder XE4, 10.2 Tokyo > notepad > 다른 소프트웨어의 좌표 가져오기 > GetWindowRect() 사용

운영 환경
C++ Builder XE4
   Windnows 7 pro (32bit)

RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/28)

다른 소프트의 좌표를 취득한다.

메모장을 대상 소프트웨어로 구현했다.

참고 C#에서의 구현 예 @stackoverflow
참고 GetWindowRect@MSDN
참고 Delphi의 구현 예 @stackoverflow

Unit1.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    String fullCaption = L"無題 - メモ帳";

    HWND appHwnd;

    appHwnd = FindWindowEx(NULL, NULL, NULL, fullCaption.c_str());
    if (appHwnd == NULL) {
        return;
    }

    SetForegroundWindow(appHwnd); // 前面に映す


    TRect lpRect;
    GetWindowRect(appHwnd, &lpRect);

    int nop=1;

}
//---------------------------------------------------------------------------
  • 메모장 시작
  • 캡션은 "제목 없음 - 메모장"이어야합니다

  • 위의 소프트웨어를 디버그 모드로 실행하십시오.
  • int nop = 1;에서 중단 점에서 멈 춥니 다.


  • 다음과 같이 lpRect에 left, top, right, bottom을 얻었다.

    좋은 웹페이지 즐겨찾기