diff --git a/src/modules/PowerOCR/PowerOCRModuleInterface/dllmain.cpp b/src/modules/PowerOCR/PowerOCRModuleInterface/dllmain.cpp index f89dde5ce1..1eebf010ee 100644 --- a/src/modules/PowerOCR/PowerOCRModuleInterface/dllmain.cpp +++ b/src/modules/PowerOCR/PowerOCRModuleInterface/dllmain.cpp @@ -12,6 +12,7 @@ #include #include #include +#include BOOL APIENTRY DllMain(HMODULE /*hModule*/, DWORD ul_reason_for_call, @@ -293,6 +294,13 @@ public: { return m_enabled; } + + // Returns whether the PowerToys should be enabled by default + virtual bool is_enabled_by_default() const override + { + // disabled by default for Windows 11 and enabled by default on Windows 10 + return !package::IsWin11OrGreater(); + } }; extern "C" __declspec(dllexport) PowertoyModuleIface* __cdecl powertoy_create() diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/PowerOcrPage.xaml b/src/settings-ui/Settings.UI/SettingsXAML/Views/PowerOcrPage.xaml index 3bf06722b9..b7941ae2d5 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/PowerOcrPage.xaml +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/PowerOcrPage.xaml @@ -22,6 +22,12 @@ IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.IsEnabledGpoConfigured, Converter={StaticResource BoolNegationConverter}}"> + Text Extractor can only recognize languages that have the OCR pack installed. + + It is recommended to use the Snipping Tool instead of the TextExtractor module. + Learn more about supported languages diff --git a/src/settings-ui/Settings.UI/ViewModels/PowerOcrViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/PowerOcrViewModel.cs index 919a819a10..2377a8e346 100644 --- a/src/settings-ui/Settings.UI/ViewModels/PowerOcrViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/PowerOcrViewModel.cs @@ -9,6 +9,7 @@ using System.Globalization; using System.Linq; using System.Text.Json; using System.Timers; +using Common.UI; using global::PowerToys.GPOWrapper; using Microsoft.PowerToys.Settings.UI.Library; using Microsoft.PowerToys.Settings.UI.Library.Helpers; @@ -146,6 +147,11 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels } } + public bool IsWin11OrGreater + { + get => OSVersionHelper.IsWindows11(); + } + public bool IsEnabledGpoConfigured { get => _enabledStateIsGPOConfigured;