Einzelnen Beitrag anzeigen

Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Änderungen an Druckeren erkennen (neu, gelöscht)

  Alt 21. Jul 2023, 10:53
Probiers mal mit WM_DEVICECHANGE. Dann über den Devicenamen prüfen, ob die Änderung relevant ist (auch USB beachten!)

Code:
   if DeviceName.StartsWith('\\?\HID#') then
    begin
      // Ein HID-Gerät wurde ein-/ausgehängt, das kann ein Digitizer sein:
      // Flag setzen, sodass wir via Timer die Geräte neu einlesen können.
      _ProcessDeviceChange(paASHIDDeviceChanged);
    end else
    if DeviceName.StartsWith('\\?\USB#') then
    begin
      // Ein USB-Gerät wurde ein-/ausgehängt: Flag setzen, sodass wir OnIdle die Geräte neu einlesen können.
      _ProcessDeviceChange(paASUsbDeviceChanged);
    end
    else if DeviceName.StartsWith('\\?\SWD#PRINTENUM') then
    begin
      // Ein Drucker wurde neu eingerichtet oder gelöscht: Druckerliste aktualisieren.
      _ProcessDeviceChange(paASPrinterDeviceChanged);
    end;
  Mit Zitat antworten Zitat