AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Stick abziehen nicht vergessen

Ein Thema von invalid_operation · begonnen am 13. Mär 2009 · letzter Beitrag vom 14. Mär 2009
 
invalid_operation
(Gast)

n/a Beiträge
 
#1

USB-Stick abziehen nicht vergessen

  Alt 13. Mär 2009, 16:22
Falls ein Programm von einem USB-Stick gestartet wurde und beim Herunterfahren von Windows im CanClose einen Hinweis ausspucken soll, daß man den Stick noch nicht abgezogen hat:

Delphi-Quellcode:
function ExeIsOnAnUSBStick: Boolean;
var
  HomeDrive: string;
  DriveLetters: string;

  procedure List_Drives;
  const
    DRIVE_UNKNOWN = 0;
    DRIVE_NO_ROOT_DIR = 1;
    DRIVE_REMOVABLE = 2;
    DRIVE_FIXED = 3;
    DRIVE_REMOTE = 4;
    DRIVE_CDROM = 5;
    DRIVE_RAMDISK = 6;
  var
    r: LongWord;
    Drives: array[0..128] of char;
    pDrive: PChar;
  begin
    r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
    if r = 0 then Exit;
    if r > SizeOf(Drives) then
      raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
    pDrive := Drives;
    while pDrive^ <> #0 do
    begin
      if GetDriveType(pDrive) = DRIVE_REMOVABLE then
        DriveLetters := DriveLetters + (pDrive);
      Inc(pDrive, 4);
    end;
  end;

begin
  HomeDrive := AnsiUpperCase(paramstr(0)[1]);
  List_Drives;
  DriveLetters := AnsiUpperCase(DriveLetters);
  Result := (pos(HomeDrive, DriveLetters) > 0);
end;
Funktioniert mit meinen USB-Sticks und SD-Karten, aber nicht mit externen USB-Festplatten
Getestet mit XP und Vista, Delphi5.

Beispiel in einem CanClose:
Delphi-Quellcode:

if ExeIsOnAnUSBStick then MessageBox(Handle,'Vergessen Sie bitte nicht, Ihren USB-Stick abzuziehen!','Hinweis',mb_Ok or mb_IconStop or mb_DefButton1);
CanClose := True;
Vielleicht hilft es ja jemandem / HTH
  Mit Zitat antworten Zitat
 


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 02:20 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