Hallo,
eigentlich ist es eine einfache Aufgabe, eine Datei mit dem zugehörigen Programm zu öffnen.
Dafür gibts seit vielen Jahren shellexecute oder schellexecuteEx.
Das Problem:
Ein autostart Programm soll beim Einlegen einer CD eine
HTML-Seite im Browser öffnen. Das sollte
mit schellexecute bzw. schellexecuteEx doch problemlos gehen. Geht es aber nicht.
Delphi-Quellcode:
...
with seInfo do
begin
cbSize := SizeOf(TShellExecuteInfo);
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := 0;
lpVerb := 'open';
lpFile := pchar(spath+sFile);
lpParameters := NIL;
lpDirectory := pchar(sPath);
nShow := SW_SHOWNORMAL;
end; (*seInfo*)
ShellExecuteEx(@seInfo);
...
Nach dem Einlegen der CD (als nicht Admin) unter Windows Vista
(IE7 + IE8, jeweils mit Standard-Einstellungen) öffnet sich der "Automatische Wiedergabe-Dialog".
Führt man die Start.exe aus, poppt für den Bruchteil einer Sekunde ein leeres Browser-Fenster auf,
verschwinder darauf hin aber wieder in den Untiefen des Systems. Ist hingegen der IE schon gestartet,
dann öffnet sich nach dem Laden der CD ein neuer Tab mit dem gewünschten Inhalt.
Das Problem tritt nicht auf
- mit z.B. Firefox als Standardbrowser
- Wenn man als Admin angemeldet ist
- Wenn das autostart Programm von einer Festplatte gestartet wird
- unter XP
Hat jemand eine Idee?