Меняю в реестре флаг "EnableAutoTray" чтобы всегда выводились или скрывались значки в области уведомлений. Только одного изменения в реестре не достаточно, чтобы изменения отразились в системе - нужно закрыть explorer и запустить заново. Гуглил методы обновления проводника, чтобы без kill-process'а обойтись, но что-то пока не работает... Код следующий:
#include <windows.h>
#include <iostream>
//expupdatetest
int main(int argc, char** argv){
if (argc > 1){
HKEY RegKey;
unsigned long value = atoi(argv[1]);
switch(value){
case 0:
case 1:
RegCreateKeyEx(
HKEY_CURRENT_USER,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\",
0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &RegKey, NULL);
RegSetValueEx(RegKey, "EnableAutoTray", 0, REG_DWORD, (BYTE*)&value, sizeof(value));
RegCloseKey(RegKey);
// Попытка сообщить окнам, что что-то поменялось...
SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0) ;
break;
default:
std::cout << "ERROR! Value must be 0 or 1\n";
break;
}
}
return 0;
}
Чего тут не хватает, чтобы иконки сразу скрылись при value == 1
, и появились при нуле?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не понимаю ошибку(((, надо сделать a[0] + a[2] - например, и чтобы в a[0] добавилась строка a[2];
Подскажите, а способа как использовать <vector> для разделения нужной мне строки на подстроки, которые будут заноситься в массив, нет?
Решение задачи проходит только на 67,20 из 100И я совершенно не могу понять в чем проблема, перепробовал все что знаю, иногда выдает неправильный...