Hallo allemaal,
Ik ben op zoek naar een mogelijkheid om in een pascal programma (Lazarus) te testen of er een muis is aangesloten. (Muis met draadje of muis zonder draadje).
H.G.Frans
Hallo allemaal,
Ik ben op zoek naar een mogelijkheid om in een pascal programma (Lazarus) te testen of er een muis is aangesloten. (Muis met draadje of muis zonder draadje).
H.G.Frans
gok dat je het moeten zoeken in het vinden van HID devices, als je daar een list van krijgt en via de report kijkt wat ze doen dan kan je ze meer dan waarschijnlijk wel vinden.
Ook net even op HID gezocht en dit gevonden https://blogs.embarcadero.com/human-...er-on-windows/ is weliswaar voor delphi maar geeft wat aankooppunten om verder te zoeken voor Lazarus
Werkt de goede oude GetSystemMetrics, met vlag SM_MOUSEPRESENT, niet meer?
Verder niet getest (geen zin om mijn muis los te koppelen), maar een form met een label en een timer:
Delphi Code:
procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; try if GetSystemMetrics(SM_MOUSEPRESENT) <> 0 then Label1.Caption := 'Er is een muis aangesloten' else Label1.Caption := 'Een muis kon niet gevonden worden'; finally Timer1.Enabled := True; end; end;
TMemoryLeak.Create(Nil);
dat is inderdaad veel makkelijker
Het voorbeeld van VideoRipper werkt niet in Lazarus. Waarschijnlijk wordt hier getest of er een Muis geïnstalleerd is. In onderstaand voorbeeld wordt gekeken of er een muiswiel aanwezig is, en dit werkt wel.
Code:procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; try if GetSystemMetrics(SM_MOUSEWHEELPRESENT) <> 0 then Label1.Caption := 'Er is een muis aangesloten' else Label1.Caption := 'Een muis kon niet gevonden worden'; finally Timer1.Enabled := True; end; end;
Ahumm, mijn muis heeft geen muiswiel ...
Bart
Hij geeft aan dat er een muis geïnstalleerd is, ook al is er geen muis aanwezig.
Op je laptop (dan wordt je trackpad gezien als muis), of op een "gewone" PC?
Bart
Inderdaad een lastige.
Op mijn laptop zie ik 'altijd' dat er een muis is aangesloten.
Als ik hierop mijn muis (draadloos) loskoppel zie ik met SM_CMOUSEBUTTONS dat er 5(!) muisknoppen zijn.
Als ik deze muis weer aankoppel zie ik dat er 16(!) muisknoppen zijn. Merkwaardig is hier dat de muis niet actief hoeft te zijn: alleen de muisdongle is al voldoende!
Al met al dus een lastig probleem! Dit vraagt om een andere aanpak, maar welke? Een enumeratie van aangesloten apparatuur?
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks