AGB  ·  Datenschutz  ·  Impressum  







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

Autoplay realisieren, aber wie?

Offene Frage von "Marco Steinebach"
Ein Thema von Marco Steinebach · begonnen am 15. Jan 2009 · letzter Beitrag vom 15. Jan 2009
Antwort Antwort
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#1

Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 08:58
Hallo zusammen,
Mein Programm sollte mit in der Liste der Programme auftauchen, die man auswählen kann, wenn eine Audio-CD eingelegt wird.
Okay, google: autoPlay V2
Grob konnte ich dem auch folgen, also die generelle Vorgehensweise ist mir schon klar.
Aaaber: wie kriege ich meinem Programm den Laufwerkbuchstaben der eingelegten CD übergeben? Die ganzen Dateien, die ja mittels COM übergeben werden könnten, brauch ich gar nicht unbedingt - außerdem weiß ich nicht mal, ob mein D5 das überhaupt kann.
Kann mir mal jemand weiterhelfen, wo cih mich schlau machen, kann, ein codeschnipselchen oder ähnliches?
Herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 10:01
Na wenn du autorun machst oder aus irgend einem Grund eine Datei mit deinem Programm geöffnet werden soll, dann übergibt das ganze doch Windows mit einem parameter an deine Anwendung

Also wenn du paramstr aufrufts hast du als
paramstr(0) Deine Anwendung
paramstr(1) Parameter 1..

das kannst du ja mal auslesen und ausgeben

normalerweise kommt da sowas wie /open "Zieldatei" dabei raus

damit kannst du dann
extractfilepath(<Zieldatei>) den Pfad rausbekommen
und mit extractfiledrive(<Zieldatei>) Dein Laufwerk

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Hyperspacer

Registriert seit: 23. Apr 2006
53 Beiträge
 
Delphi 7 Personal
 
#3

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 10:08
Zitat von Marco Steinebach:
Mein Programm sollte mit in der Liste der Programme auftauchen, die man auswählen kann, wenn eine Audio-CD eingelegt wird.
Auf diese Liste lässt sich zugreifen. Am einfachsten geht dies mit einem Toll von Microsoft: Tweak UI

Zitat von Marco Steinebach:
Aaaber: wie kriege ich meinem Programm den Laufwerkbuchstaben der eingelegten CD übergeben?
Dein Programm wird dann mit dem Laufwerksbuchstaben als Parameter aufgerufen. So wie das matashen beschrieben hat. Nur ohne das /open glaube ich.
Also in der Form: "C:\meinprogramm.exe F:\"

Viele Grüße
Daniel
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 10:12
Das /open kommt glaub ich wenn über den explorer per "öffnen mit" ein kommando an dein Programm übergeben wird. Ich würde einfach mal alle Varianten die du bedienen willst ausprobieren und die Parameter angucken was Windows rüberkommen läßt. Dann kannst du entsprechende Aktionen in dein Programm einbauen.

gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 11:06
Halllo Zusammen,
Erstmal vielen herzlichen Dank für die raschen Antworten.
Ich glaube, ich hab mich ein wenig mißverständlich ausgedrückt.
Das Auswerten der Parameter ist nicht mein Problem, sondern wie ich Windows dazu bringe, mir welche zu liefern.
Also:
Unter
Code:
HKEY_Local_Machine
Software
Windows
Current Version
Explorer
AutoplayHandlers
können Autoplay-Handler definiert werden.
Man braucht einen sog. Content-Sniffer, und einen Eventhandler, oder 'nen ContenttypeHandler, hier geht mein unverständnis schon los.
Soweit, so fast gut, , jetzt muß hier irgendwo mein Programm rein, und zwar gefolgt von "was auch immer", damit es dann auch wirklich "meinprogramm.exe f:\" wird.

Und genau hierfür bräuchte ich nochmal eure Hilfe.
Herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#6

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 11:59
Heist das du willst eine bestimmte Endung z.B. *.mp3 so eintragen das deine Anwendung die Standardsoftware dafür ist?

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 12:02
Also ParamStr(1) liefert dir den Ordner, aus dem das Prog gestartet wurde,
bzw. den Namen einer Datei, die mit deinem Prog geöffnet werden soll.

Also ich denke Windows wird dir da wohl dann das Laufwerk vom Autostart übergeben...
... Also: Probieren geht über ... ihr kennts ja

MFG
Björn Zeutzheim
Codename: Performancepumpe
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 12:03
Zitat von matashen:
Heist das du willst eine bestimmte Endung z.B. *.mp3 so eintragen das deine Anwendung die Standardsoftware dafür ist?

Gruß Matthias
Nein, nicht ganz. Wenn man eine Audio CD ins laufwerk legt, kommt ein Dialog zur Auswahl, was man jetzt machen will. z.B.: mit Nero brennen, ordner öffnen, mit Windows Media Player wiedergeben etc.
Und da soll auch noch auftauchen:
"Mit Marco's Programm starten."
Gruß
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#9

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 13:32
Ich hab jetzt mal einen alten Fred aus der DP gekramt wo evtl die antworten stehen, wie du deine Anwendung registrierst.

http://www.delphipraxis.net/internal...ct.php?t=61377

hoff der Hilft dir was.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Hyperspacer

Registriert seit: 23. Apr 2006
53 Beiträge
 
Delphi 7 Personal
 
#10

Re: Autoplay realisieren, aber wie?

  Alt 15. Jan 2009, 14:11
Zitat von Marco Steinebach:
Wenn man eine Audio CD ins laufwerk legt, kommt ein Dialog zur Auswahl, was man jetzt machen will. z.B.: mit Nero brennen, ordner öffnen, mit Windows Media Player wiedergeben etc.
Und da soll auch noch auftauchen:
"Mit Marco's Programm starten."
Genau das hab ich doch schon oben geschrieben. Ich kenne den Registry-schlüssel dafür selber nicht. Aber das ist doch auch egal, es sein denn du willst dir auch einen Installer schreiben, der das automatiscvh macht.

Wenn du das nur an deinem PC eintragen willst nutze Tweak UI von Microsoft. Ist kostenlos und schön klein. Damit kannst du deine Programm in genau diese Liste für AudioCDs eintragen.
Link: download Tweak UI

Bei Tweak UI gehst du dann auf: My Computer -> AutoPlay -> Handlers -> Create. Programm eintragen, fertig!
Hab ich selbst schon gemacht.

Und wenn du dann umbedingt den Reg-Schlüssel und die nötigen einträge wissen willst, nimm Regmon und zeichne das ganze damit auf

Viele Grüße
Daniel
  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 07:06 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