|
초보자 님이 쓰신 글 :
:
: shockwaveFlash를 사용한 다이얼로그박스를 컴파일한후 flash화면에 마우스 오른쪽 클릭하면 플래쉬에 대한 정보가 뜨네여...
:
: 이거 안뜨게 하고픈데 어케 하면 될런지여...
:
: 아무리 찿아바도 모르겠습니다.
: 아시는 분들의 답변 부탁드립니다.
:
: 위와같은 현상을 캡쳐하여 첨부하였습니다.
------------------------------------------------------------------
윈도 API 를 이용한 마우스 메시지 후킹을 이용하면 됩니다.
다음의 예제는 Application-wide hooking 예제입니다. 등록한 마우스 이벤트
콜백함수에서 Flash ActiveX 상에서 눌려진 오른쪽 마우스 클릭이벤트를
무시토록 하였습니다. 도움되시길 빕니다.
------------------------------------------------------------------
HHOOK hMouseHook = NULL;
LRESULT CALLBACK DiscardRButtonOnFlashMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
char szBuf[255] = {'\0',};
if (nCode < 0) {
return CallNextHookEx(hMouseHook, nCode, wParam, lParam);
}
if (wParam == WM_RBUTTONDOWN) {
PMOUSEHOOKSTRUCT pMouseHook = (PMOUSEHOOKSTRUCT)lParam;
GetClassName(pMouseHook->hwnd, szBuf, sizeof(szBuf));
if (!strcmp("MacromediaFlashPlayerActiveX", szBuf)) {
return 1;
}
}
return CallNextHookEx(hMouseHook, nCode, wParam, lParam);
}
void DiscardRButtonOnFlash()
{
hMouseHook=SetWindowsHookEx(WH_MOUSE, (HOOKPROC)DiscardRButtonOnFlashMouseProc, NULL, GetCurrentThreadId());
if (hMouseHook == NULL) {
//TODO
}
}
void RestoreRButtonOnFlash()
{
if (!UnhookWindowsHookEx(hMouseHook)) {
//TODO
}
}
------------------------------------------------------------------
조청현.
|