Fix Windows compilation issues

This commit is contained in:
Kevin Sawicki 2016-07-11 12:29:01 -07:00
parent af907163a2
commit 3d358ee7ea

View file

@ -274,47 +274,35 @@ bool Browser::SetBadgeCount(int count) {
}
void Browser::SetLoginItemSettings(LoginItemSettings settings) {
std::wstring keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
if (settings.open_at_login) {
base::FilePath path;
if (!PathService::Get(base::FILE_EXE, &path)) {
LOG(ERROR) << "Error getting app exe path";
return;
}
// Main Registry Key
HKEY root = HKEY_CURRENT_USER;
std::string keyPathStr = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
std::wstring keyPath = std::wstring(keyPathStr.begin(), keyPathStr.end());
// Executable Path
if (PathService::Get(base::FILE_EXE, &path)) {
std::wstring exePath(path.value());
base::win::RegKey key(root, keyPath.c_str(), KEY_ALL_ACCESS);
if (settings.open_at_login)
key.WriteValue(GetAppUserModelID(), exePath.c_str());
else {
key.DeleteValue(GetAppUserModelID())
}
} else {
key.DeleteValue(GetAppUserModelID());
}
}
LoginItemSettings Browser::GetLoginItemSettings() {
Browser::LoginItemSettings Browser::GetLoginItemSettings() {
LoginItemSettings settings;
std::wstring keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
std::wstring keyVal;
if (!FAILED(key.ReadValue(GetAppUserModelID(), &keyVal))) {
base::FilePath path;
if (!PathService::Get(base::FILE_EXE, &path)) {
LOG(ERROR) << "Error getting app exe path";
return;
if (PathService::Get(base::FILE_EXE, &path)) {
std::wstring exePath(path.value());
settings.open_at_login = keyVal == exePath;
}
}
// Main Registry Key
HKEY root = HKEY_CURRENT_USER;
std::string keyPathStr = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
std::wstring keyPath = std::wstring(keyPathStr.begin(), keyPathStr.end());
// Executable Path
std::wstring exePath(path.value());
base::win::RegKey key(root, keyPath.c_str(), KEY_ALL_ACCESS);
settings.open_at_login = key.HasValue(GetAppUserModelID());
return settings;
}