HWND gh_talk_wnd, gh_edit_wnd;
HWND gh_chat_edit, gh_send_btn;
void FindTalkWindow()
{
gh_talk_wnd = NULL;
while (gh_talk_wnd = FindWindowEx(NULL, gh_talk_wnd, L"#32770", NULL)) {
gh_edit_wnd = FindWindowEx(gh_talk_wnd, NULL, L"RichEdit20W", NULL);
if (gh_edit_wnd != NULL) {
break;
}
}
}
void SendChatData()
{
if (gh_edit_wnd == NULL) return;
wchar_t str[128];
GetWindowText(gh_chat_edit, str, 128);
SendMessage(gh_edit_wnd, WM_SETTEXT, 0, (LPARAM)str);
// SendMessage๋ ๋๊ธฐ์์ผ๋ก ๋ฉ์์ง๋ฅผ ์ฆ๊ฐ ์ฒ๋ฆฌ
Sleep(200); // ๋๋ฌด๋นจ๋ฆฌ ์ํฐ๋ฅผ ์น๋ฉด ๋๋ ์ด๋ฅผ ๋ฃ์
PostMessage(gh_edit_wnd, WM_KEYDOWN, 0x0000000D, 0x001C001); // ์ํฐํค๋ฅผ ๋๋ฆ
PostMessage(gh_edit_wnd, WM_KEYDOWN, 0x0000000D, 0xC01C001); // ์ํฐํค๋ฅผ ๋๋ฆ
// PostMessage๋ ๋ฉ์์ง ํ์ ๋ฉ์์ง๋ฅผ ๋ฃ๋๋ค.(์์ )
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_CREATE) {
gh_chat_edit = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL,
5, 303, 532, 28, hWnd, (HMENU)25002, NULL, NULL);
gh_send_btn = CreateWindow(L"Button", L"์ ์ก",
WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON,
540, 301, 80, 31, hWnd, (HMENU)25003, NULL, NULL);
FindTalkWindow();
return 0;
}
else if (uMsg == WM_COMMAND) {
// ์ปจํธ๋กค์ ํด๋ฆญํ ์ ๋ฐ์ํ๋ ๋ฉ์์ง
if (LOWORD(wParam) == 25003) {
SendChatData();
}
}
else if (uMsg == WM_DESTROY) {
DestroyWindow(gh_chat_edit);
DestroyWindow(gh_send_btn);
PostQuitMessage(0);
}
else if (uMsg == WM_LBUTTONDOWN) {
//FindTalkWindow();
//SendChatData();
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}