Announcement

Collapse
No announcement yet.

Wie komme ich an die Msg WM_DEVMODECHANGE

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie komme ich an die Msg WM_DEVMODECHANGE

    Ich möchte gerne mitbekommen, wenn ein Datenträger gewechselt wurde, aber ich komme an die Nachricht WM_DEVMODECHANGE nicht heran, in den Application Events kommt sie zumindest nicht vor, was ist zu tun?

  • #2
    Hallo Karsten,

    ein Beispiel - funktioniert bei mir:
    (WM_DeviceChange ist wohl richtig.)

    type
    Form1 = class(Tform)
    ...
    private
    procedure wmDeviceChange( Var msg: TMessage); message WM_devicechange;
    ...

    implementation

    procedure THauptformular.wmDeviceChange(var msg: TMessage);
    begin
    with msg do begin
    if wparam=32768 then begin
    ...
    end;
    if wparam=32772 then begin
    ...
    end;
    end;
    end;

    ...

    Ich weiß aber momentan leider nicht mehr, wo ich die Zahlen her habe. Eines ist wohl, wenn das Device entnommen wurde
    (DBT_DEVICEREMOVECOMPLETE) und eins ist bei einem neuen Datenträger (DBT_DEVICEARRIVAL). Die symbolischen Variablen (DBT_...) will er bei mir nicht. Die scheinen in D5 nicht definiert zu sein!?

    Gruß aus Bärlin
    Matthia

    Comment


    • #3
      In dem Bereich ist nicht alles nach Delphi portiert. Besorg Dir DPT.zip von www.delphi-jedi.org page 'API Library'. Das ist die Konvertierung des WM_DEVICECHANGE APIs mit Beispielen

      Comment

      Working...
      X