나는 Detours 3.0을 사용하여 FindWindowA와 FindWindowW를 연결하려고합니다. 이 두 함수는 성공적으로 연결되었고 요청한 클래스와 창 제목을 볼 수 있습니다. 나는 그런후크 FindWindow
if (lpWindowName[0] == buf)
이나 뭐 같은 단어 일부에 액세스하려고 할 때 :
wcscpy(buf, lpWindowName);
memcpy(buf, lpWindowName, sizeof(lpWindowName));
나는 (후크 프로그램 exeption) 오류가 발생합니다. 나는이 캐릭터에 대한 액세스 권한이 어차피하지만 난 그게 내가 ... 아무것도 이해하지 잘못된 오류 코드를 해달라고
MessageBox(NULL,lpWindowName,lpClassName,MB_OK);
http://s017.radikal.ru/i421/1201/73/54fa9046a46c.png 사용 읽을 수 있습니다. 이 코드를 사용합니다 :
int filter(DWORD code, struct _EXCEPTION_POINTERS *ep) {
char buf[MAX_PATH] = {0};
sprintf(buf,"Exception code: %d", code);
MessageBox(NULL,buf,"Error",MB_OK);
return EXCEPTION_EXECUTE_HANDLER;
}
HWND __stdcall Mine_FindWindowW(LPCWSTR a0,
LPCWSTR a1)
{
__try
{
if (a1[0] == L'a')
return NULL;
}
__except(filter(GetExceptionCode(), GetExceptionInformation())){
}
HWND rv = 0;
__try {
rv = Real_FindWindowW(a0, a1);
} __finally {
};
return rv;
}
문자열이 손상되지 않았습니다. 모든 작업 ...이 두 매개 변수를 확인하거나 직접 액세스 할 수없는 이유는 무엇입니까?
그건 살인자가 될 것입니다. WM_SETTEXT 메시지를 보내야합니다. –
WM_SETTEXT? o_O – user922871