在webbrowser中屏蔽 ctrl+n 建新开窗口。(30分)

  • 主题发起人 主题发起人 336764
  • 开始时间 开始时间
3

336764

Unregistered / Unconfirmed
GUEST, unregistred user!
使用 webbrowser 或 embeddedWB 浏览网页时 ctrl+n 新开窗口???
还有 f5 屏蔽,怎么做?
使用 embeddedWB 的newwindow2 不好使。
有没有人帮忙写下源代码。较详细的。
谢谢。说理论的就不用了。
 
不會,關注
 
。。。。。。。。。。。。满怀希望。。。。。气死我了。。。[:(!]
 
说理论真的不听阿?

用钩子或者拦截键盘消息,如果是这些键,自己处理就是了。
 
白说,不会写。。。来拿改的还行。
 
{
demonstrate a keyboard hook in a form.
}
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, SHDocVw;

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
FMHook: HHOOK;
function FMHookProc(Code: Integer
WParam: Longint
var Msg: TMsg): Longint
stdcall;

implementation

{$R *.DFM}

function FMHookProc(Code: Integer
WParam: Longint
var Msg: TMsg): Longint
stdcall;
var
Key: WORD;
begin
if Msg.Message = WM_KEYDOWN then
with form1 do
begin
Key := Msg.wParam;
//ShiftState := Msg.lParam;
if (GetKeyState(vk_Control) < 0) and (key = ord ('N')) then Msg.wParam := 0;
end

Result := CallNextHookEx(FMHook, Code, WParam, Longint(@Msg));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FMHook := SetWindowsHookEx(WH_GETMESSAGE, @FMHookProc, 0, GetCurrentThreadID);
WebBrowser1.Navigate('c:/a.htm');
end;

end.
 
多人接受答案了。
 
后退
顶部