AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilfe n.

USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilfe n.

Ein Thema von hedie · begonnen am 12. Okt 2007 · letzter Beitrag vom 16. Okt 2007
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilfe n.

  Alt 12. Okt 2007, 14:52
Hallo

Ich möchte einen USB Stick in meinem Fall ein USB MP3 Player wie zb den IPOD (Ich weiss verschlüsselt )
erkennen wen dieser Angeschlossen wird.

Dazu habe ich mal die Suche bemüht und dies Gefunden

Delphi-Quellcode:
procedure TFenster.WMDeviceChange(var Msg: TMessage);
type PDevBroadcastHdr = ^TDevBroadcastHdr;
TDevBroadcastHdr = packed record
dbcd_size, dbcd_devicetype, dbcd_reserved: DWORD; end;
type PDevBroadcastVolume = ^TDevBroadcastVolume;
TDevBroadcastVolume = packed record
dbcv_size, dbcv_devicetype, dbcv_reserved, dbcv_unitmask: DWORD;
dbcv_flags: Word; end;
function GetDrive(pDBVol: PDevBroadcastVolume): string;
var i: Byte; Maske: DWORD;
begin
if (pDBVol^.dbcv_flags and $0001) = $0001 then
begin
Maske := pDBVol^.dbcv_unitmask;
for i := 0 to 25 do
begin
  if (Maske and 1) = 1 then
  Result := Char(i + Ord('A')) + ': ';
  Maske := Maske shr 1;
end;
end;
end;
var Drive: String;
begin
case Msg.wParam of
$8000:
  if PDevBroadcastHdr(Msg.lParam)^.dbcd_devicetype = $0002 then
   Pan('Datenträger in Laufwerk '+GetDrive(PDevBroadcastVolume(Msg.lParam))+'eingelegt');
$8004:
  if PDevBroadcastHdr(Msg.lParam)^.dbcd_devicetype = $0002 then
  begin
   Drive := GetDrive(PDevBroadcastVolume(Msg.lParam));
   Pan('Datenträger aus Laufwerk '+Drive+'entfernt');
   if not(Drive = '') and (Drive[1] = ExtractFilePath(ParamStr(0))[1]) then Close;
  end;
end;
end;
Dieser Code Funktioniert beim einlegen einer CD Sehr gut jedoch wird beim anschliessen des IPOD nur Datenträger in Lauferk Eingelegt
angezeigt also ohne Laufwerkbuchstaben obwohl kurzdarauf bei mir ein Explorer Fenster aufgeht mit Entsprechendem IPOD Inhalt

Ich hoffe auf hilfe

Danke
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von f.siebler
f.siebler

Registriert seit: 15. Jan 2007
Ort: Hamburg
170 Beiträge
 
Delphi 2006 Professional
 
#2

Re: USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilf

  Alt 12. Okt 2007, 16:07
hä? irgendwie verstehe ich die Problematik nicht wirklich.
Was ist mit der CD? Was passiert mit einem normale USB Stick? Vll. kannst du es noch etwas genauer beschreiben... ?
Viele Grüße aus Hamburg
Fabian
sql-praxis.net: sql von der Theorie in die Praxis...
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

Re: USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilf

  Alt 12. Okt 2007, 16:11
Ok

Also ich möchte, beim anschluss eines USB Stick wie ja auch ein USB MP3Player einer ist
dessen Laufwerkbuchstaben erhalten

Mit dem oben geposteten Code bekomme ich nur den Laufwerkbuchstaben meines DVD Laufwerk beim einlegen und herausnehmen einer CD

Wenn ich einen STICK (In meinem fall IPOD hab grad keinen USB Stick) anschliesse dan bekomme ich zwar die Meldung das etwas angeschlossen ist (Von diesem code) jedoch wird der Laufwerkbuchstabe nicht angezeigt.

Windows erkennt den IPOD Jedoch als Wechseldatenträger, das erkenne ich da kurz nach anschliessen sich ein Explorer Fenster öffnet
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von f.siebler
f.siebler

Registriert seit: 15. Jan 2007
Ort: Hamburg
170 Beiträge
 
Delphi 2006 Professional
 
#4

Re: USB Stick Erkennen -- DP Suche wurde bemüht dennoch Hilf

  Alt 16. Okt 2007, 12:50
beim ipod ist es möglich dieses in itunes zu aktiveren...
ansonsten wirst du dich wohl etwas genauer mit hid befassen müssen
Viele Grüße aus Hamburg
Fabian
sql-praxis.net: sql von der Theorie in die Praxis...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz