void MToolsRadio::mceChanged(const QString &filename) { Q_UNUSED(filename); QFile mce(QString("/var/lib/mce/radio_states.online")); mce.open(QFile::ReadOnly); m_radioState = mce.readAll().toInt(); mce.close(); if (m_radioState & RADIO) setIcon(1); else setIcon(0); }
int wmain(int argc, const wchar_t* argv[]) { try { if (argc < 2) { DisplayAboutMessage(NULL); DisplayResource(NULL, IDR_TEXT); return 1; } _locale_t l = _create_locale(LC_ALL, "C"); FileInfo fileInfo(argv[1]); std::vector<wchar_t> chars; if (fileInfo.exists) chars = fileInfo.load(l); HWND hWnd = GetConsoleWindow(); HICON hIcon = (HICON) SendMessage(hWnd, WM_GETICON, ICON_SMALL, 0); SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON))); const Screen screenOrig; AutoRestoreBufferInfo arbi(screenOrig.hOut); AutoRestoreMode armIn(screenOrig.hIn, ENABLE_EXTENDED_FLAGS | ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT, 0xFFFF); AutoRestoreMode armOut(screenOrig.hOut, 0, ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT); Screen screen(screenOrig); screen.hOut = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, CONSOLE_TEXTMODE_BUFFER, nullptr); HKEY hKey = NULL; RegOpenKey(HKEY_CURRENT_USER, L"SOFTWARE\\RadSoft\\ConEdit", &hKey); CONSOLE_SCREEN_BUFFER_INFOEX csbi = arbi.get(); csbi.dwSize = GetSize(screen.csbi.srWindow); EditScheme scheme(hKey, csbi); csbi.wAttributes = 0; scheme.get(EditScheme::DEFAULT).apply(csbi.wAttributes); SetConsoleScreenBufferInfoEx(screen.hOut, &csbi); AutoRestoreActiveScreenBuffer arasb(screenOrig.hOut, screen.hOut); ModeConEdit mce(hKey, fileInfo, GetSize(screen.csbi.srWindow), chars, l); RegCloseKey(hKey); hKey = NULL; DoMode(mce, screen, scheme); SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIcon); _free_locale(l); return 0; } catch (const std::exception& e) { printf(e.what()); printf("\n"); return 1; } }