Registrierten Browser abfragen!
-
Wie frage ich ab, welcher Browser im System registriert ist als Standardbrowser und wo der liegt? Ich möchte nämlich per WinExec oder ShellExecute dann einen Link dahin senden.
-
Ob das die goldene Lösung ist weiß ich nicht, aber es sollte gehen.
DWORD size = 260*sizeof(TCHAR); CString strBrowser; SHGetValue(HKEY_CLASSES_ROOT, _T("http\\shell"), _T(""), NULL, strBrowser.GetBuffer(size/sizeof(TCHAR)), &size); strBrowser.ReleaseBuffer(); if (0 == strBrowser.GetLength()) strBrowser = _T("open"); size = 260*sizeof(TCHAR); SHGetValue(HKEY_CLASSES_ROOT, _T("http\\shell\\") + strBrowser + _T("\\command"), _T(""), NULL, m_browserPath.GetBuffer(size/sizeof(TCHAR)), &size); m_browserPath.ReleaseBuffer(); if (m_browserPath.GetLength()) { m_browserPath.TrimLeft(); if (m_browserPath[0] == '\"') m_browserPath.Delete(0); int pos = m_browserPath.Find('\"'); if (pos == -1) { int t = -1; // Letzten '.' suchen while (-1 != (t = m_browserPath.Find('.', t + 1))) pos = t; if (pos == -1) // Es gibt keinen Punkt im Pfad pos = 0; pos = m_browserPath.Find(' ', pos); } if (pos != -1) m_browserPath.ReleaseBuffer(pos); m_browserPath.TrimRight(); }
-
Muss ich dafür was includen? Er kennt/findet SHGetValue nicht!
Und das muss doch auch leichter gehen. Ich glaube nicht, daß jedes Programm erst in der Registry suchen muss, um den registrierten Browser zu finden...[ Dieser Beitrag wurde am 24.11.2002 um 19:54 Uhr von ElDiablo666 editiert. ]
-
Was genau willst Du realisieren ???
Das sich auf User-Aktion der Defaultbrowser mit einer bestimmten URL öffnet ???Das würde nämlich schon mit diesem 1. Zeiler funktionieren ( steht auch im FAQ (IMHO))
ShellExecute(NULL, "open", "http://www.c-plusplus.net", NULL, NULL, SW_SHOW);
Weiß ja nun nicht was Du genau machen willst...
MfG veganza
[ Dieser Beitrag wurde am 24.11.2002 um 20:16 Uhr von veganza editiert. ]
-
Original erstellt von veganza:
@ElDiablo666
Was genau willst Du realisieren ???
Das sich auf User-Aktion der Defaultbrowser mit einer bestimmten URL öffnet ???Genau so!
Dann werde ich ich das nachher testen! Thanx!
-
Klappt!
Danke!
Das war ja einfach...