SwordMaster Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 ich habe ein programm das mir aus der regestry das E-mail programm ausliest das im browser auch eingestellt ist.... aus der regestry lese ich dan den pfad des programmes aus, und möchte dieses e-mail programm starten..... Das ist kein problem wenn der pfad in der regestry so drinnensteht : c:\bla\bla\bla.exe aber bei manchen programmen steht auch ein solcher pfad in der regestry "%ProgramFiles%\Outlook Express\msimn.exe" /mail den parameter /mail und die anführungszeigen hab ich schon rausgefiltert.... nur anscheinnend hat er mit dem % zeichen seine probleme.... kann man inen solchen pfad überhaupt mit shellexecute starten?? habs auch schon mit system probiert geht auch nicht(anscheinend lässt er das % zeichen weg).... habt ihr vielleciht ne lösung? Zitieren
Crush Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Klar geht das: ShellExecute(0,0,"mailto:Crush@Crush.de?subject=MailTo_Sonstwohin&body=Irgendeintext",0,0,0); Den Pfad sucht er sich dabei selber aus der Registry raus. Wichtig ist es allerdings zu wissen, daß durch den Shellexecute die Stringlänge relativ begrenzt ist und deshalb der Body nicht zu groß sein sollte! Die %-Variable kann er wohl so nicht selber übersetzen. Das muß man wohl selber von Hand erledigen. Zitieren
Crush Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Du mußt die globale Variable selber abrufen und Dir einen String neu zusammenbauen: CString strg=getenv("ProgramFiles"); // die %-Zeichen als Environment-Var abfragen! strg+="\\Outlook Express\\msimn.exe"; // den Rest anhängen ShellExecute(0,0,strg,0,0,0); Zitieren
Klotzkopp Geschrieben 1. Oktober 2003 Geschrieben 1. Oktober 2003 Es gibt eine fertige Funktion dafür: ExpandEnvironmentStrings Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.