33 lines
881 B
C++
33 lines
881 B
C++
#include <guitar/BrowserHelper.hpp>
|
|
#include <guitar/guitar.hpp>
|
|
#include <common/regkey.hpp>
|
|
#include <common/process.hpp>
|
|
|
|
bool BrowserHelper::launchBrowser(const String &strCommand)
|
|
{
|
|
String strBrowser;
|
|
Process process;
|
|
|
|
if(!getBrowser(strBrowser))return false;
|
|
process.createProcess(strBrowser,String(" ")+strCommand,false);
|
|
return true;
|
|
}
|
|
|
|
bool BrowserHelper::getBrowser(String &strBrowser)
|
|
{
|
|
RegKey regKey(RegKey::LocalMachine);
|
|
String strCommand;
|
|
int argPos;
|
|
|
|
if(!regKey.openKey(String(STRING_BROWSERKEY)))
|
|
{
|
|
if(!regKey.openKey(String(STRING_BROWSERKEYALT)))return false;
|
|
}
|
|
if(!regKey.enumValue(0,String(STRING_BROWSERCOMMAND),strCommand)||strCommand.isNull()||!strCommand.length())
|
|
return false;
|
|
strCommand.removeTokens("'\"");
|
|
if(-1!=(argPos=strCommand.strpos("-")))strCommand=strCommand.substr(0,argPos-1);
|
|
strBrowser=strCommand;
|
|
return true;
|
|
}
|