| |
|
|
Nico Madysa | Hallöle miteinander!
Ich stehe irgendwie auf dem Schlauch -- wie kann ich ein HTML-Win so sperren, dass man es zwar ganz normal benutzen kann, der Rechtsklick aber verboten ist? Mein Versuch über Subclassing ist gescheitert: KompilierenMarkierenSeparieren Hat jemand eine Idee?
Gruß,
Nico |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Nico Madysa | Nach ein paar obligatorischen Drops-Fehlern funktioniert das Ding wunderbar. KompilierenMarkierenSeparieren $H Messages.ph
var hUser& = ImportDLL("USER32","u_")
{subClassProc
Subclassproc
if SubclassMessage(subhandle&,~WM_CONTEXTMENU)
Set("WinProc",0)
else
Set("WinProc",1)
endif
endproc
proc GetServerWindow
parameters cWnd&,sAddr&
declare b#
Dim b#,4 : b# = sAddr&
if Long(b#,0)
Dispose b#
return 0
endif
Select ClassOf(cWnd&)
Caseof "Shell Embedding"
u_EnumChildWindows(cWnd&,ProcAddr("GetServerWindow",2),sAddr&)
Caseof "Shell DocObject View"
u_EnumChildWindows(cWnd&,ProcAddr("GetServerWindow",2),sAddr&)
Caseof "Internet Explorer_Server"
Long b#,0 = cWnd&
Dispose b#
return 0
EndSelect
Dispose b#
return 1
endproc
proc SubclassHTMLWin
parameters pHTML&,stat%
var subWin& = 0
u_EnumChildWindows(pHTML&,ProcAddr("GetServerWindow",2),Addr(subWin&))
SubClass subWin&,stat%
return subWin&
endproc
cls
var h& = Create("HTMLWin",%hWnd,"about:blank",1,0,0,200,200)
while HTMLWin("GetBusy",h&) : Sleep 1 : wend
var subhandle& = SubclassHTMLWin(h&,1)
whilenot IsKey(27)
waitinput
wend
FreeDLL hUser&
end
EDIT: Kode lauffähig gemacht |
|
|
| |
|
|
|
Dieter Zornow | Nachdem ich mal alles ergänzt hatte, dass es lauffähig war, funktioniert der Rechtsklick immer noch. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 30.09.2009 ▲ |
|
|
|
|
| |
|
| |
|
|
|
Nico Madysa | Ach, dusslige Kleinigkeiten! |
|
|
| |
|
|