¿Realmente no hay nadie en el mundo? Déjame preguntarte nuevamente cómo bloquear el clic derecho del control de flash en VB
powerbuilder
Módulo de formulario
Opción explícita
Función de declaración privada FindWindow Lib "user32 "alias" FindWindowA" (ByVal lpClassName es String , ByVal lpWindowName es una cadena) es Long
Función de declaración privada FindWindowEx Lib "user32 "alias" FindWindowExA "(ByVal hwnd 1 es Long, ByVal hWnd2 es Long, ByVal lpsz1 es String, ByVal lpsz2 es String) es Long
Private subform_Load()
Atenuar identificador como identificador de ventana largo
Dim ParentHandle As Long 'Identificador de ventana principal.
parenthandle = findwindow(" thunderformdc ", " form1 ")' para obtener el identificador de la ventana principal.
handle = FindWindowEx(ParentHandle, 0 amp, " MacroMediaFlashPlayActivex ", vbnullstring)' para obtener el identificador de la ventana.
ret = SetWindowLong(Handle, GWL_WNDPROC, AddressOf WindowProc)
Conector final
Módulo estándar
Opción explícita
Función de declaración pública CallWindowProc Lib "usuario 32" alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) long
Público función de declaración SetWindowLong Lib "usuario 32" alias "SetWindowLongA" (ByVal hwnd es Long, ByVal nIndex es Long, ByVal dwNewLong es Long) es Long
Función de declaración privada trackpupmenu Lib "usuario 32" (ByVal hMenu es Long, ByVal wFlags es Long, ByVal x es Long, ByVal y es Long, ByVal nReserved es Long, ByVal hwnd es Long, ByVal lprc es Any) es Long
Función de declaración privada GetCursorPos Lib "usuario 32" (punto LP como POINTAPI) es largo
Función de declaración privada GetMenu Lib "usuario 32" (ByVal hwnd As Long) tiene la misma longitud
Función de declaración privada obtener submenú Lib "usuario 32 " (ByVal hMenu es Long, ByVal nPos es Long)
Constante pública GWL_WNDPROC = (-4)
Constante privada TPM _LEFTALIGN = ampH0 amp;
Privada Constante WM _ RBUTTONDOWN = ampH204
Tipo privado POINTAPI
x siempre
Siempre que
tipo final
RECT Privado
Igual largo a la izquierda
Mismo largo arriba
Mismo largo
Mismo largo abajo
Tipo de finalización
Ret público As Long
Función de devolución de llamada SetWindowLong, utiliza Msg para interceptar mensajes.
La función WindowProc (ByVal hwnd es Long, ByVal Msg es Long, ByVal wParam es Long, ByVal lParam es Long) es Long
Si Msg = WM_RBUTTONDOWN, entonces
Dim pos es POINTAPI, hMenu es Long
GetCursorPos pos
hMenu = get submenu(get menu(form 1 . hwnd), 0)
TPM_LEFTALIGN , pos.x, pos.y, ByVal 0 amp, hwnd, ByVal 0 amp
Salir de la función
Terminará si...
WindowProc = CallWindowProc(ret, hwnd, Msg, wParam, lParam)
Función final
Depuré el código anterior en Windows XP VB6.