#pragma once #include #include #include #include "Generated Files/resource.h" namespace notifications { // Non-Localizable strings namespace NonLocalizable { const wchar_t RunAsAdminInfoPage[] = L"https://aka.ms/powertoysDetectedElevatedHelp"; const wchar_t ToastNotificationButtonUrl[] = L"powertoys://cant_drag_elevated_disable/"; } inline void WarnIfElevationIsRequired(std::wstring title, std::wstring message, std::wstring button1, std::wstring button2) { using namespace NonLocalizable; static bool warning_shown = false; if (!warning_shown && !is_toast_disabled(ElevatedDontShowAgainRegistryPath, ElevatedDisableIntervalInDays)) { std::vector actions = { link_button{ button1, RunAsAdminInfoPage }, link_button{ button2, ToastNotificationButtonUrl } }; show_toast_with_activations(message, title, {}, std::move(actions)); warning_shown = true; } } }