![]() |
Autoplay realisieren, aber wie?
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 |
Re: Autoplay realisieren, aber wie?
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 |
Re: Autoplay realisieren, aber wie?
Zitat:
Zitat:
Also in der Form: "C:\meinprogramm.exe F:\" Viele Grüße Daniel |
Re: Autoplay realisieren, aber wie?
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 |
Re: Autoplay realisieren, aber wie?
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:
können Autoplay-Handler definiert werden.
HKEY_Local_Machine
Software Windows Current Version Explorer AutoplayHandlers 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 |
Re: Autoplay realisieren, aber wie?
Heist das du willst eine bestimmte Endung z.B. *.mp3 so eintragen das deine Anwendung die Standardsoftware dafür ist?
Gruß Matthias |
Re: Autoplay realisieren, aber wie?
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 :wink: MFG |
Re: Autoplay realisieren, aber wie?
Zitat:
Und da soll auch noch auftauchen: "Mit Marco's Programm starten." Gruß Marco |
Re: Autoplay realisieren, aber wie?
Ich hab jetzt mal einen alten Fred aus der DP gekramt wo evtl die antworten stehen, wie du deine Anwendung registrierst.
![]() hoff der Hilft dir was. Gruß Matthias |
Re: Autoplay realisieren, aber wie?
Zitat:
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: ![]() 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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