EM_REPLACESEL(=$C2) 메세지를 이용함.



hEdit:=FindWindow('클래스명', '캡션명');
SendMessage(hEdit, EM_REPLACESEL, WParam(True), LParam(PWideChar('문자열입니다.')));





에디트박스의 문자열 전체를 확실하게 바꿔치려면 아래처럼 전체선택을 해준 다음 해주는 게 좋음.
어정쩡하게 선택영역이 걸려 있을 경우 삽입이 되거나 하는 경우가 있으므로.

hEdit:=FindWindow('클래스명', '캡션명');
SendMessage(hEdit, EM_SETSEL, 0, SendMessage(hEdit, EM_LINELENGTH, 0, 0));
SendMessage(hEdit, EM_REPLACESEL, WParam(True), Integer(PWideChar('문자열')));

// 여러 에디트박스에 여러 문자열을 빠르게 넣는 복마전일 경우 클릭 한 번 해주는게 누락을 줄임
SendMessage(hEdit, WM_LBUTTONDOWN, 0, 0);
Sleep(0);
SendMessage(hEdit, WM_LBUTTONUP, 0, 0);







Posted by bloodguy
,