Hallo,
ich will aus meinem Programm heraus in einer anderen Anwendung die Anzeige vergrößern/verkleinern (= Zoomen). Um dies zu erreichen nutze ich die sendinput Funktion.
der nachfolgende Code zeigt meine Programm.
Es funktioniert aber nicht
kann mir einer sagen was falsch ist?
Vielen Dank im vorraus
Beispiel
[DELPHI
]
unit MausradMain;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 = class(TForm)
ButtonPlus: TButton;
ButtonMinus: TButton;
procedure ButtonPlusClick(Sender: TObject);
procedure ButtonMinusClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonMinusClick(Sender: TObject);
var
Inp: TInput;
begin
Inp.Itype := INPUT_MOUSE;
Inp.mi.dwFlags :=MOUSEEVENTF_WHEEL;
Inp.mi.dx := 0;
Inp.mi.dy := 0;
Inp.mi.time := cardinal(-120);
Inp.mi.dwExtraInfo := 0;
SendInput(1, Inp, SizeOf(Inp));
end;
procedure TForm1.ButtonPlusClick(Sender: TObject);
var
Inp: TInput;
begin
Inp.Itype := INPUT_MOUSE;
Inp.mi.dwFlags :=MOUSEEVENTF_WHEEL;
Inp.mi.dx := 0;
Inp.mi.dy := 0;
Inp.mi.time := 600;
Inp.mi.dwExtraInfo := 0;
SendInput(1, Inp, SizeOf(Inp));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(
handle, GWL_EXSTYLE, GetWindowLong(
handle, GWL_EXSTYLE) or WS_EX_NOACTIVATE);
end;
end.
[/DELPHI]