Eigenes Programm als Standardprogramm setzen
-
Ist es und wenn ja, wie ist es möglich ein eigenes Programm als Standard für CD, DVD und USB eingaben(also wenn das betreffende Medium eingesteckt wird) zu setzen?
Gerne auch mit Windows-Popup zur User Bestätigung(wenn jetzt jemand denkt ich will Schadsoftware schreiben ;))Danke für eure Hilfe
-
Stichwort "Dateiendung regestrieren"
hier lies dich ein:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff513920(v=vs.85).aspx
http://www.codeproject.com/Articles/830/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens
-
Sicher das es das ist was ich möchte?
Ich möchte ja das sich mein Programm bei einstecken eines Medium automatisch öffnet und nicht beim öffnen einer bestimmten File!
-
JJK3 schrieb:
Sicher das es das ist was ich möchte?
Ich möchte ja das sich mein Programm bei einstecken eines Medium automatisch öffnet und nicht beim öffnen einer bestimmten File!Lies doch.
Das ist aber in diesem Falle das gleiche...
Ansonsten kannst Du einen Wächter bauen, der auf eine WM_DEVICECHANGED Nachricht behandelt.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363480(v=vs.85).aspx
-
Soll sich das Programm auf dem Medium befinden? In dem Fall brauchst du wohl ein autorun.inf-File.
Beachte aber, dass du damit das starten des entsprechenden Programmes nicht erzwingen kannst. In neueren Versionen von Windows fragt das System gewoehnlich vorher, ob man den Autorun starten will. Und auch auf aelteren kann man den Autorun suspekter Medin verhindern, indem man beim einlegn Shift drueckt.Wenn sich das Programm auf dem Computer befinden soll, weiss ich leider nicht, wie das geht. Gibt aber sicher auch Moeglichkeiten.
-
Danke Martin Richter, wenn ich das richtig verstanden hab (bin noch neu im WinApi Deployment) ist WM_DEVICECHANGED eine Art Listener-Methode die ich überschreiben muss und die aufgerufen wird wenn ein neues Device eingestöpselt wird!?
Nehmen wir mal an das ich richtig liege(ich probiere es gleich mal aus),
wie verhindere ich den den aufruf des Sandard Programms?
Bei mir clearfi(stürzt bei mir immer ab ;))@Jonas OSDever:
Nein, das Programm ist ganz normal irgendwo auf dem Computer(vermutlich pack ich es in den Programme Ordner).
Das autorun.inf nicht sofort das Programm startet ist doch auch eine gute Sache, oder?
Sonst könnte man ganz einfach einen Virus schreiben der sich auf einen USB-Stick schreibt und auf der anderen Seite wieder herunter...
Unschön für den Anwender!
-
http://msdn.microsoft.com/en-us/library/windows/desktop/dd375751(v=vs.85).aspx
http://www.codeproject.com/Articles/15626/Implement-an-Autoplay-HandlerDen Standard-Autoplay Handler sollte man eigentlich gar nicht per Code setzen, sondern den Benutzer machen lassen:
http://www.windowspower.de/windows-7-standardprogramme-festlegen_1472.html
-
Ich bin eigentlich auch dafür das den Benutzer machen zu lassen, aber ich könnte ihm ja Hilfestellung in form eines Benutzerprompts zur Standard Einstellung geben!?
Wie gesagt das mit WMDEVICECHANGED guck ich mir mal an!
Nebenbei:
Der Code auf Codeproject, der ist doch kein c++, oder?
-
Das Sample aus Codeproject ist C#. Aber wurscht. Der macht ja auch alles nur mit Win32 Bordmitteln und hat es da viel schwieriger als ein C/C++ Entwickler.
-
C++ lösung: http://www.codeproject.com/Articles/119168/Hardware-Change-Detection
oder
http://www.codeproject.com/Articles/14500/Detecting-Hardware-Insertion-and-or-Removal