Fix Windows compilation issues
This commit is contained in:
parent
af907163a2
commit
3d358ee7ea
1 changed files with 21 additions and 33 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue