AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Laufwerkbuchstabe für ein Gerät rauskriegen?
Thema durchsuchen
Ansicht
Themen-Optionen

Laufwerkbuchstabe für ein Gerät rauskriegen?

Ein Thema von Mattze · begonnen am 26. Nov 2005 · letzter Beitrag vom 13. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 26. Nov 2005, 16:49
Hallo,

ich möchte gerne den Laufwerksbuchstaben für ein Gerät wissen. Also nicht für ein Medium (mit Namen oder Seriennummer)!
Bsp.: Natürlich erscheint ein Brenner (oder CD-Rom oder...) auch ohne eingelegtes Medium mit dem (fest) zugeordneten Laufwerksbuchstaben z. Bsp. im Explorer.
Die Zuordnung Buchstabe <--> Gerät dürfte also feststehen.
Ich habe aber nun nur die Gerätebezeichnung. Wie kriege ich den Buchstaben?
Kann jemand helfen? Ich habe überall gesucht. Auch in der Registry. Aber ich finde nix!

Gruß
Matthias
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 26. Nov 2005, 17:10
Hallo Matthias,

speziell für den Brenner gibt es das shell interface ICDBurn mit der Methode GetRecorderDriveLetter. Vielleicht hilft dir das weiter?

Grüße vom marabu
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 26. Nov 2005, 20:30
Hallo,

(fast) vielen Dank!
Genau sowas suche ich!
Nun bleibt nur die Frage, wo ich das (möglichst als freeware mit Quelltext) herbekomme.

Ich zitiere mal: "Seit XP kennt die Windows-Shell eine Schnittstelle ICDBurn, die für einfache Aufgaben ausreicht. Einziger Wermutstropfen dabei ist, dass diese Schnittstelle sich bisher weder im Delphi-Source findet noch in der API-Übersetzung von Marcel Van Brakel." - Also auch nicht in der win32api von Jedi, oder?

Also bitte, bitte: Woher nehmen?

(Übrigens unter shells.com.ru/nordrhein-westfalen-_7.htm?search=nordrhein%20westfalen&utf8=1&start=4 0 soll es da ein VB-Beispiel geben. Aber das finde ich auch nicht. Außerdem: .ru und dann der Name? Sicherlich mit Vorsicht zu genießen!)

Gruß
Matthias
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 05:33
Schau dir mal in der Jedi-Apilib http://jedi-apilib.sf.net das Modul scapi an.
Das Beispiel SafeRemoval macht genau was du suchst.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#5

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 08:18
Hallo,

bei der scapi war ich mal, habe aber nicht weiter geguckt, weil ich dachte, sie im Moment nicht zu brauchen.
Nun habe ich sie mir geladen und wollte SaveRemoval mal compilieren und angucken.
Massenhaft Fehler!!!
Kann nicht kompiliert werden! (Delphi 7 pro)
Momentan sieht es so aus:
- Die jediapilib.inc fehlt.
- TWMDeviceChange kennt er nicht. (Ersetzt durch TMessage - das geht.)
- ModuleLoader hat er nicht.
- PPASSTR, PWSTR, PPSTR kennt er nicht.

Wo kriege ich das Fehlende her?

Aber trotzdem danke für den Tipp. Vielleicht finde ich ja die Lösung für mein Problem im Quelltext.

Gruß
Matthias
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 14:38
Sorry, jediapilib.inc, ModuleLoader.pas etc sind Teil des win32api-Moduls.
Die Pfade fuer die Directory von win32api muss man selbst in die Suchpfade der IDE eintragen, da es keinen Installer gibt.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#7

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 16:29
Hallo,

ICDBurn habe ich inzwischen gefunden. Es beweist, dass es möglich ist, vom Gerät auf den Driveletter zu kommen.
Andererseits scheint es da aber keine Möglichkeit für die Vorwahl des Gerätes zu geben.
Es gibt also immer den Driveletter des ersten im System gefundenen Brenners an. Gut, ich habe nur einen, aber richtig toll ist das nicht. Es können ja auch mehrere Brenner im System sein. Außerdem bleibt das Problem auch für andere angeschlossene Wechselmedien. Z. Bsp. CD-Rom. USB-Stick aber nicht! Ich meine wirklich reine Geräte, also ohne Medium und dessen Bezeichnung oder Seriennummer!

Übrigens habe ich in meiner Win32Api-Ausgabe gesucht. (Am 19.11.2005 runtergeladen.) Da ist nix dabei!

Ich suche weiter...

Gruß
Matthias
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#8

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 16:50
Lad nochmal runter. Probier auch ueber http://jedi-apilib.sf.net zu gehen.
Das Modul wurde vor kurzem erneuert.

Was SafeRemoval macht ist die Volumes zu enumerieren und dann zu schauen ob es ein USB-Geraet ist.
Ueber das Mountpoint API (ab Win 2000) bekommt man die Devicepfade der Laufwerksbuchstaben, die bis auf ein
abschliessendes Backslash den Geraetepfaden gleichen die man ueber das Setup API bzw das Config Manager API von den Volumes bekommt.
Das Config Manager API wird von Microsoft sorgfaeltig verborgen, da es als Low-Level gilt und nicht mehr fuer Aussenstehende vorgesehen ist.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#9

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 27. Nov 2005, 19:30
Hallo,

Du hast recht! Vielen Dank! In der win32api-Version, die ich mir eben runtergeladen habe, ist tatsdächlich alles dabei. Wäre ich nicht drauf gekommen, dass sich das so schnell geändert hat. Ich hatte das am 19.11. ja auch von dieser Adresse. Offenbar bin ich gerade kurz vor der massiven Änderung dahin geraten.
Also vielen Dank!
HID-USB und USB im Allgemeinen interessiert mich natürlich auch sehr! Also ist es auf jeden Fall sehr gut!

Morgen geht's weiter...

Gruß
Matthias
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#10

Re: Laufwerkbuchstabe für ein Gerät rauskriegen?

  Alt 28. Nov 2005, 10:07
Hallo,

hmm, also das ist schon was.
Mir fehlen bloß ein paar Help-Dateien, ist mir aufgefallen:
- Was ist die DDK Help und wo kriegt man die her?
- Gibt es zur Jedi-win32api eine Help? (Ich habe da was, aber das ist nicht sehr hilfreich da sehr unvollständig. Die jwaImapi ist z. Bsp. gar nicht dokumentiert und genau die bräuchte ich!
Damit ich unter anderem ohne viel Probieren weiß, wie ich da den Gerätepfad bekomme!)
- Gibt es für das Config Manager API wird von Microsoft auch eine Help? Wo?

Habt Ihr einen Tipp.

Gruß
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:27 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