Die Software die ich starten will, geht nicht! Es handelt sich um das sony ercisson update center:
http://www.sonyericsson.com/spg.jsp?cc=ch&lc=de&ver=4000&template=ps1_1_3_1_1&zone=ps&lm=ps1_1&pid=10139&fid=21839&esi=true"Nach dem klick auf "öffnen" versucht IE etwas zu laden/starten, nachher passiert allerdings nichts, d.h. das .exe wird nicht ausgeführt.
An was könnte das liegen?
Daran dass das Programm nicht in seinem Arbeitsverzeichnis gestartet wird. Dies ist leider eine Macke der Shell-Ausführung von Windows. Wer einst mit Visual Basic programmiert hat, weiß was ich meine..
Ein wenig verständlicher: Die Windows-Shell startet das Programm in einem anderem Arbeitsverzeichnis (kennt man von Windows-Verknüpfungen -> Starten in..) als dem des Programms. (Nämlich in C:\Windows, wenn ich mich recht entsinne..)
Fragt nun das gestartete Programm Windows mittels API, unter welchem Pfad es auf der Festplatte gestartet wurde, bekommt es eine falsche Angabe. Schnell ist das Programm dann nicht lauffähig (Daten laden die es unter dem Pfad nicht gibt, weil Pfade relativ programmiert wurden).
Wie man den Fehler beheben kann? Wenn ich mich recht entsinne, habe ich damals immer chdir("<arbeitspfad>") verwendet.
Eine andere Lösung, die ich dir vorschlagen möchte, wäre der Weg über ein selbstdefiniertes Protokoll. So lasse ich externe Anwendungen mit Parametern starten.
Also ein <a href="mbhcall://Hans|Müller|0049123456789">anrufen</a> startet bei mir ein selbstprogrammiertes TAPI-Programm, welches dann die Telefonanlage steuert.
Ich gebe dir mal einen Vorlagen Text, welchen du in eine leere Datei einfügst, anpasst und unter irgendwas.reg speicherst. Anschließend Doppelklick auf die Datei und die Werte sind in deiner Registry gespeichert. (Ist für WinXP)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MBHCall]
@="URL: MBHCall Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\MBHCall\shell]
[HKEY_CLASSES_ROOT\MBHCall\shell\open]
[HKEY_CLASSES_ROOT\MBHCall\shell\open\command]
@=""C:\call.exe" "%1""
Viel Erfolg weiterhin