Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Programmierung Delphi - Laufwerksänderung - Teil des Formulars

Laufwerksänderung (2)

  • Beschreibung
  • Deklaration
  • Helferlein
  • Nachrichtenschleife
  • Download
  • Links
  • Änderungen
  • Beschreibung

    Es soll auf Laufwersänderungen wie in Kapitel 1 reagiert werden. Jedoch hier innerhalb des Hauptformulars.

    Deklaration

    Eine Anwendung besitzt eine Standardnachrichtenschleife. Sollen die Nachrichten abgefangen und ausgewertet werden, muss die Nachrichtenschleife überschrieben werden. Hier werden die Benachrichtigungen auf die Nachrichten WM_DEVICECHANGE eingeschränkt:

    type
      TForm1 = class
      private
        ...
      public
        ...
        procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
      end;
    

    Deshalb werden nur die Deklarationen zu _DEV_BROADCAST_VOLUME aus dem vorigen Kapitel benötigt.

    Helferlein

    Hier wird auch das Helferlein wie im vorigen Kapitel benötigt.

    Nachrichtenschleife

    Die Nachrichtenschleife im vorigen Kapitel kann hier etwas optimiert werden:

    procedure TForm1.WMDeviceChange(var Msg: TMessage);
    begin
      case Msg.wParam of
        DBT_DEVICEARRIVAL :
          Memo1.Lines.Add('Hinzu:    ' + GetDriveLetterFromUnitMask(
                                        PDevBroadcastVolume(Msg.lParam)^.dbcv_unitmask));
        DBT_DEVICEREMOVECOMPLETE :
           Memo1.Lines.Add('Entfernt: ' GetDriveLetterFromUnitMask(
                                        PDevBroadcastVolume(Msg.lParam)^.dbcv_unitmask));
      end;
    end;
    

    Anstelle der Memoeintragungen kann man natürlich andere Auswertungen vornehmen.

    Das Ergebnis, welches im Memo ausgegeben wird, ist der selbe Name wie im vorigen Kapitel:

    Download

    Die Demo zu obigen Beispiel. Erstellt und compiliert mit Delphi 7.

    wmchange2_d7_exe.7z (149 kb) - MD5
    wmchange2_d7_src.7z (1,5 kb) - MD5
    Stand: 4. April 2020

    Änderungen

    04.04.2020Komplette Übearbeitung.
    22.03.2020Erstellung der Seite.