Results 1 to 10 of 10

Thread: Test of muis is aangesloten

  1. #1

    Test of muis is aangesloten

    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

  2. #2
    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

  3. #3
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    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:
    1. procedure TForm1.Timer1Timer(Sender: TObject);
    2. begin
    3.   Timer1.Enabled := False;
    4.   try
    5.     if GetSystemMetrics(SM_MOUSEPRESENT) <> 0 then
    6.       Label1.Caption := 'Er is een muis aangesloten'
    7.     else
    8.       Label1.Caption := 'Een muis kon niet gevonden worden';
    9.   finally
    10.     Timer1.Enabled := True;
    11.   end;
    12. end;
    TMemoryLeak.Create(Nil);

  4. #4
    dat is inderdaad veel makkelijker

  5. #5
    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;

  6. #6
    Ahumm, mijn muis heeft geen muiswiel ...

    Bart

  7. #7
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Quote Originally Posted by Dubbeld View Post
    Het voorbeeld van VideoRipper werkt niet in Lazarus.
    Dat lijkt me onwaarschijnlijk: het is standaard Win32s API spul uit het jaar van de Romeinen.
    Of bedoel je dat hij aangeeft dat er een muis geïnstalleerd is, terwijl er in werkelijkheid geen muis aanwezig is?
    TMemoryLeak.Create(Nil);

  8. #8
    Hij geeft aan dat er een muis geïnstalleerd is, ook al is er geen muis aanwezig.

  9. #9
    Op je laptop (dan wordt je trackpad gezien als muis), of op een "gewone" PC?

    Bart

  10. #10
    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?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •