메모장의 핸들을 얻어서 메모장의 값을 가져오는 예를 들어보이겠습니다.
procedure TForm1.Button1Click(Sender: TObject);
const
MAXTEXT = 10000;
var
WMGetText: TWMGetText;
Child: HWND;
P: array[0..MAXTEXT] of char;
begin
//
// 메모장의 핸들 얻기
//
Child := GetWindow(FindWindow('Notepad',nil), GW_CHILD);
if Child <> 0 then
with WMGetText do
begin
Msg := WM_GETTEXT;
TextMax := MAXTEXT;
Text := P;
end;
//
// 메모장의 핸들에 메세지를 던진다
//
with TMessage(WMGetText) do
SendMessage(Child, Msg, WParam, LParam);
//
// 메세지를 던져서 얻어온 내용...
//
memo1.text:=StrPas(P);
end;
데이터를 얻어오는 예제입니다만, 반대의 경우도 같습니다, 메~세~지~
공간 님이 쓰신 글 :
: 안녕하세요.
:
: 다른 프로그램을 제어하기 위해서
: 저의 프로그램을 만들고 있는데
:
: 그 프로그램의 원하는 chdWnd 의 핸들을 얻었습니다.
: 그런데 그 핸들에서 일어나는 메시지를 보고서
: 원하는 값으로 바꾸어야 합니다.
:
: ListBox 같이 생긴 박스에 데이터들이 들락 날락 거리고 있습니다.
: 값들은 전부 텍스트 글이구요...
:
: 그 텍스트 중에 원하는 값이 있으면 값을 바꾸어 주거나
: 다른 액션을 취해야 하는데
:
: 어떻게 해야 하는지 모르겠습니다. 우선 값을 가지고 와서
: 바꾸어 주는 함수나 명령이 무엇인지 알고 싶습니다
:
: 그리고 그 프로그램에서 원하는 버튼을 찾아서 버튼이 누르게
: 하고 싶습니다. 어떻게 하는지 답변 부탁드립니다.
:
|