Jetzt muß ich hier doch noch mal nachhaken: Soweit hab ich schon ein paar erste Tests mit der WM_POINTERXXX
API gemacht und es läuft auch. Nun gibt es ja die Möglichkeit, mit EnabeMouseInPointer(True) auch die Maus via WM_POINTERXXX zu verarbeiten. Nur schlägt bei mir der Aufruf dieser Funktion immer fehl:
Delphi-Quellcode:
uses
...,
WinApi.WMPointer, ...
procedure TfrmMain.FormShow(Sender: TObject);
var
nLastError: Cardinal;
begin
// register mouse events for Pointer
if IsMouseInPointerEnabled
then
memDebug.Lines.Add('
MouseInPointer already enabled')
else
if EnableMouseInPointer(True)
then
begin
memDebug.Lines.Add('
tried to enable MouseInPointer');
if not IsMouseInPointerEnabled
then
memDebug.Lines.Add('
Failed to enable MouseInPointer')
end
else
begin
nLastError := GetLastError;
memDebug.Lines.Add(Format('
Failed to enable MiP: %s', [SysErrorMessage(nLastError)]));
end;
end;
liefert mir immer 'Failed to enable MiP: Falscher Parameter' (Fehlercode 87)
Könnte das mal bitte jemand ausprobieren? Was bitte schön kann an diesem Aufruf einen falschen Parameter liefern?
Definiert ist die Funktion als
Delphi-Quellcode:
function EnableMouseInPointer(
{_In_} fEnable: BOOL): BOOL; stdcall;
{$EXTERNALSYM EnableMouseInPointer}
und das stimmt auch mit der Beschreibung im
MSDN überein.
Gibt es eigentlich sonst noch jemand, der diese
API benutzt?
Danke,
Uli