AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows-Ereignis "Diskette eingelegt"
Thema durchsuchen
Ansicht
Themen-Optionen

Windows-Ereignis "Diskette eingelegt"

Ein Thema von Hennes_RldPf · begonnen am 25. Mär 2009 · letzter Beitrag vom 3. Apr 2009
Antwort Antwort
Hennes_RldPf

Registriert seit: 23. Mär 2009
Ort: Grafschaft
4 Beiträge
 
Delphi 7 Professional
 
#1

Re: Windows-Ereignis "Diskette eingelegt"

  Alt 25. Mär 2009, 11:36
Das Teil funzt auch, wenn autorun abgeschaltet ist...hab autorun aus Sicherheitsgründen in der gesamten Domäne abgeschaltet

Also bisher bin ich zufrieden damit...

___________________________________

Delphi-Quellcode:
function TForm1.ApplicationWndProcHook(var Message: TMessage): Boolean;
var zw_LW_liste : Array[0..25] of laufwerksliste;
    i,x : integer;
    Ergebnis : integer;
    LW_gefunden : boolean;



begin
  if Message.wParam = DBT_DEVICEARRIVAL then
    Begin
      LW_gefunden :=false;
      // Neues Laufwerk ermitteln
      neues_lw := '0';
      Laufwerksliste_bauen(zw_lw_liste);
      // folgende Codezeile rausschmeißen, wenn final
      For i := 0 to 25 do ListBox2.Items.Add(zw_lw_Liste[i].lw + Drivetype(i));

      For i := 0 to 25 do
        Begin
        If lw_liste[i].lw <> zw_lw_liste[i].lw then
          Begin
          Neues_lw:= zw_lw_liste[i].lw;
          messagedlg('Neues Laufwerk ' + Neues_lw + ':\ erkannt!',mtinformation,[mbok],0);
          Laufwerksliste_bauen(lw_liste);
          LW_Gefunden := true;
          End;

        //Wenn beide Listen gleich sind, ist eines der CD-Rom`s betroffen
          // und jede Menge weiteres blabla...

      End;


    End;


  if Message.wParam = DBT_DEVICEREMOVECOMPLETE then
    Begin
      //Laufwerksliste nach Änderung neu aufbauen
      Laufwerksliste_bauen(LW_Liste);
      neues_lw := '0';
      Messagedlg('Ding wech...',mtConfirmation, [mbok],0);
    End;




  Result := False;
end; // of function



procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
    groesse : integer;
    buffer : PChar;
begin
    Application.HookMainWindow(ApplicationWndProcHook);
    Laufwerksliste_bauen(LW_Liste);
    // Windowsdirectory ermitteln
    WindowsDir := SysUtils.GetEnvironmentVariable('windir');
    // do something more...
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Application.UnhookMainWindow(ApplicationWndProcHook);
end;

end.
[edit=MrSpock]Delphi Code Tags gesetzt. Mfg, MrSpock[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz