|
유영재 님이 쓰신 글 :
: char *path;
: path=new char [MAX_PATH];
: wsprintf(path,"D:\\Work\\Hook\\Project1.dll");
: hModule=LoadLibrary(path);
: WinResizeHook=(HOOKPROC)GetProcAddress(hModule,"WinResizeHook");
: hHook=SetWindowsHookEx(WH_CALLWNDPROC,WinResizeHook,hModule,0);
: wsprintf(path,"c:\\data.txt");
: SaveHandle(path);
: delete path;
:
: 위와 같이 훅을 설정했습니다.
: 제가 원하는대로 훅은 걸리는데.. 이상하게도 시작->프로그램의 팝업부분(?)...
: 음... 보조 프로그램... 시작 프로그램.. 등등이 나오는 거요... 여기까지는 나오는데...
: 이 다름에 다시 확장되는 부분의 팝업 부분이 투명하게 나오면서 글자도 뭐도 아무것도
: 보이지 않습니다... 이런일이 왜 생길까요...?
: 함수에 문제가 있나 해서 연결된 함수의 내용을 다 지워도 같은 현상이 생기내요...
: 한마디로... WH_CALLWNDPROC로 훅을 걸면 그러네요...
: 혹시 누구 아시는 분 계신가요...?
요즘은 제 질문에 답해 주시는 분이 거의 안계시는군요... ^^;
제가 넘 괴롭혀 드렸나요...???
이번에도 결국 각고의 노력끝에 해결책을 찾았습니다...
다름이 아니라...
전역훅을 포기하고 해당 프로그램만 훅킹하는 것이지요...
후훗... 어쨌든 이젠 다른 문제들과 싸우렵니다...
모두들 즐거운 하루되세요...
p.s 제 질문에 답 좀 해 주세요... ^^;
char *path;
path=new char [MAX_PATH];
wsprintf(path,"D:\\Work\\Hook\\Project1.dll");
hModule=LoadLibrary(path);
WinResizeHook=(HOOKPROC)GetProcAddress(hModule,"WinResizeHook");
hHook=SetWindowsHookEx(WH_CALLWNDPROC,
WinResizeHook,
hModule,
GetWindowThreadProcessId(FindWindow("CLASS", "PROGRAMNAME"), NULL));
wsprintf(path,"c:\\data.txt");
SaveHandle(path);
delete path;
|