Olesio Twój sposób nie wszędzie działa (u mnie też nie) podaję kod:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtrls, SHDocVw, ComCtrls, Win32Hook;
type
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
WebBrowser1: TWebBrowser;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
// Private declarations
FHook: TCodeRewrite;
protected
// Protected declarations
public
// Public declarations
end;
type
TSetCursor = function(hCur: HCURSOR): HCURSOR; stdcall;
var
Form1: TForm1;
DownCount: Integer;
OldSetCursor: TSetCursor;
implementation
{$R *.DFM}
function HookSetCursor(hCur: HCURSOR): HCURSOR; stdcall;
begin
// Check downloading
if (Form1.WebBrowser1.ReadyState in [0, 4]) then
// Call old function
result:=OldSetCursor(hCur)
else
// Nothing
result:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FHook:=TCodeRewrite.Create;
FHook.Link(GetProcAddress(GetModuleHandle('user32'), 'SetCursor'), @HookSetCursor, @OldSetCursor);
end;
end.
W Twoim przypadku musisz trochę zmienić w funkcji HookSetCursor