[New utility]Sysinternals ZoomIt (#35880)

* ZoomIt initial code dump

* Change vcxproj to normalize dependency versions

* Fix code quality to build

* Add to PowerToys solution

* Clean out C-style casts

* Fix some more analyzer errors

* Constexpr a function

* Disable some warnings locally that it seemed better not to touch

* Add ZoomIt module interface

* Add GPO

* Add Settings page with Enable button

* Output as PowerToys.ZoomIt.exe

* Extract ZoomIt Settings definition to its own header

* Make ZoomItModuleInterface build with ZoomItSettings too

* WinRT C++ interop for ZoomItSettings

* From Registry To PowerToys Json

* Properly fix const_cast analyzer error

* Initial Settings page loading from registry

* Zoom mode settings

* Save settings

* Add file picker and DemoType file support

* Remaining DemoType settings

* Have ZoomIt properly reloading Settings and exiting

* Remove context menu entries for Options and Exit

* ZoomIt simple Break Options

* Break advanced options

* Simple Record settings

* Record Microphone setting

* Fix break background file picker title

* Font setting

* Fix build issues after merge

* Add ZoomIt conflict warning to Settings

* Exclude Eula from spell checking

* Fix spellcheck errors

* Fix spell check for accelerated menu items

* Remove cursor files from spellcheck. They're binary

* Fix forbidden patterns

* Fix XAML style

* Fix C# analyzers

* Fix signing

* Also sign module interface dll

* Use actual ZoomIt icon

* Add OOBE page for ZoomIt

* ZoomIt image for Settings

* Flyout and Dashboard entries

* Fix type speed slider labels

* Correctly load default Font

* Correctly register shortcuts on ZoomIt startup first run

* Fix modifier keys not changing until restart

* Show MsgBox on taken shortcut

* Start PowerToys Settings

* Normalize ZoomIt file properties with rest of PowerToys

* Add attribution

* Add ZoomIt team to Community.md

* More copyright adjustments

* Fix spellcheck

* Fix MsgBox simultaneous instance to the front

* Add mention of capturevideosample code use

* Add ZoomIt to process lists

* Add telemetry

* Add logging

* React to gpo

* Normalize code to space identation

* Fix installer build

* Localize percent setting

* Fix XAML styling

* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw

Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>

* Fix spellcheck

* One more spellcheck fix

* Integrate LiveDraw feature changes from upstream

* Fix name reuse in same scope

* Fix c-style casts

* Also register LIVEDRAW_HOTKEY

* Fix newLiveZoomToggleKey

* Update LiveZoom description in Settings to take LiveDraw into account

* Fix spellcheck

* Fix more spellcheck

* Fix Sysinternals capitalization

* Fix ARM64 Debug build

* Support Sysinternals build (#36873)

* Remove unneeded files

* Make build compatible with Sysinternals

* Separate PowerToys ZoomIt product name (#36887)

* Separate PowerToys ZoomIt product name

To help maintain the Sysinternals branding in the standalone version.

* Clarify branding-related includes

* Remove ZoomIt.sln

* Add foxmsft to spell-check names

* Add ZoomIt to README

* Add ZoomIt to GH templates

* Add ZoomIt events to DATA_AND_PRIVACY.md

* Remove publish_config.json

* Remove publish_config.json from vcxproj too

---------

Co-authored-by: Mark Russinovich <markruss@microsoft.com>
Co-authored-by: Alex Mihaiuc <69110671+foxmsft@users.noreply.github.com>
Co-authored-by: John Stephens <johnstep@microsoft.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
This commit is contained in:
Jaime Bernardo
2025-01-16 20:52:24 +00:00
committed by GitHub
parent 65e09dbed7
commit 21fd5092b3
123 changed files with 17201 additions and 20 deletions

View File

@@ -33,6 +33,7 @@ Adoumie
Advaith
alekhyareddy
Aleks
amihaiuc
angularsen
Anirudha
arjunbalgovind
@@ -67,6 +68,7 @@ Essey
Feng
ethanfangg
ferraridavide
foxmsft
frankychen
Gaarden
gaardmark
@@ -114,6 +116,7 @@ martinchrzan
martinmoene
Melman
Mengyuan
Mihaiuc
Mikhayelyan
msft
Mykhailo
@@ -141,6 +144,7 @@ ricardosantos
riri
ritchielawrence
robmikh
Russinovich
Rutkas
ryanbodrug
saahmedm
@@ -185,6 +189,7 @@ Zykova
Bilibili
BVID
capturevideosample
cmdow
Controlz
cortana

View File

@@ -16,6 +16,7 @@
(?:|$^ 92.31% - excluded 12/13)/editor/[^/]+$
/images/launcher/[^/]+$
/TestFiles/
[^/]\.cur$
[^/]\.gcode$
[^/]\.rgs$
\.a$
@@ -119,5 +120,6 @@
^src/modules/MouseWithoutBorders/App/Helper/.*\.resx$
^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag\.txt$
^src/Monaco/
^src/common/sysinternals/Eula/
^tools/Verification scripts/Check preview handler registration\.ps1$
ignore$

View File

@@ -15,6 +15,7 @@ AColumn
acrt
ACTIVATEAPP
activationaction
ADDSTRING
ADDUNDORECORD
ADifferent
adml
@@ -27,8 +28,10 @@ AGGREGATABLE
ahk
AHybrid
akv
ALIGNRIGHT
ALarger
ALLAPPS
ALLCHILDREN
ALLINPUT
ALLOWUNDO
ALLVIEW
@@ -39,6 +42,7 @@ AMPROPSETID
amr
ANDSCANS
animatedvisuals
Animnate
ansicolor
ANull
AOC
@@ -69,6 +73,7 @@ ARemapped
ARPINSTALLLOCATION
ARPPRODUCTICON
ARRAYSIZE
ARROWKEYS
asf
AShortcut
ASingle
@@ -86,9 +91,14 @@ atlstr
ATRIOX
aumid
Authenticode
AUTOBUDDY
AUTOCHECKBOX
AUTOHIDE
AUTOHSCROLL
AUTOMATIONPROPERTIES
AUTORADIOBUTTON
Autorun
AUTOTICKS
AUTOUPDATE
AValid
awakeness
@@ -105,12 +115,17 @@ BIF
bigbar
bigobj
binlog
binres
BITMAPFILEHEADER
bitmapimage
BITMAPINFO
BITMAPINFOHEADER
Bitmaps
BITSPERPEL
BITSPIXEL
bla
BLACKFRAME
BLENDFUNCTION
Blockquotes
blogs
Blt
@@ -143,6 +158,7 @@ BVal
BValue
byapp
BYPOSITION
CALCRECT
CALG
callbackptr
calpwstr
@@ -171,6 +187,7 @@ CHANGECBCHAIN
changecursor
CHILDACTIVATE
CHILDWINDOW
CHOOSEFONT
cidl
cim
CImage
@@ -209,6 +226,7 @@ colorformat
colorhistory
colorhistorylimit
COLORKEY
comctl
comdef
comdlg
comexp
@@ -231,14 +249,17 @@ CONTEXTMENUHANDLER
CONTROLL
CONTROLPARENT
copiedcolorrepresentation
COPYPEN
COREWINDOW
cotaskmem
COULDNOT
countof
cph
cplusplus
CPower
cppwinrt
createdump
CREATEPROCESS
CREATESCHEDULEDTASK
CREATESTRUCT
CREATEWINDOWFAILED
@@ -254,6 +275,8 @@ cso
CSRW
CStyle
CTest
CTEXT
CTLCOLORSTATIC
currentculture
CURRENTDIR
CURSORINFO
@@ -313,10 +336,12 @@ DELA
DELETEDKEYIMAGE
DELETESCANS
deletethis
DEMOTYPE
DENORMAL
depersist
deprioritized
DESELECTOTHERS
DESIGNINFO
DESKTOPABSOLUTEEDITING
DESKTOPABSOLUTEPARSING
desktopshorcutinstalled
@@ -331,12 +356,17 @@ DEVMON
devpkey
DEVSOURCE
DGR
DIALOGEX
DIIRFLAG
dimm
DISABLEASACTIONKEY
DISABLENOSCROLL
diskmgmt
DISPLAYCHANGE
DISPLAYCONFIG
DISPLAYFLAGS
DISPLAYFREQUENCY
DISPLAYORIENTATION
displayname
divyan
Dlg
@@ -360,8 +390,11 @@ DRAWFRAME
drawingcolor
dreamsofameaningfullife
drivedetectionwarning
DROPFILES
dshow
DSTINVERT
DSurface
DTexture
DUMMYUNIONNAME
Dutil
DVASPECT
@@ -398,12 +431,15 @@ EData
Edid
EDITKEYBOARD
EDITSHORTCUTS
EDITTEXT
EFile
ekus
emmintrin
Emoji
ENABLEDELAYEDEXPANSION
ENABLEDPOPUP
ENABLETAB
ENABLETEMPLATE
encodedlaunch
encryptor
endpointvolume
@@ -423,8 +459,10 @@ ERRORTITLE
erwrite
ESettings
esrp
ETDT
etl
etw
eula
eurochange
eventlog
eventvwr
@@ -454,6 +492,7 @@ exsb
exstyle
EXTENDEDKEY
EXTENDEDVERBS
EXTRALIGHT
EXTRINSICPROPERTIES
eyetracker
FANCYZONESDRAWLAYOUTTEST
@@ -464,12 +503,14 @@ fff
FILEEXPLORER
FILEFLAGS
FILEFLAGSMASK
FILEINFOSIG
FILELOCKSMITH
FILELOCKSMITHCONTEXTMENU
FILELOCKSMITHEXT
FILELOCKSMITHLIBINTEROP
FILEMUSTEXIST
FILEOP
FILEOPENDIALOGOPTIONS
FILEOS
FILESUBTYPE
FILESYSPATH
@@ -477,9 +518,11 @@ Filetime
FILEVERSION
Filtergraph
Filterkeyboard
FILTERMODE
Filterx
findfast
FIXEDFILEINFO
FIXEDSYS
flac
flyouts
FMask
@@ -487,7 +530,10 @@ FOF
FOFX
FOLDERID
folderpath
FONTTYPE
FORCEFILESYSTEM
FORCEMINIMIZE
FORMATDLGORD
formatetc
FORPARSING
FRAMECHANGED
@@ -504,18 +550,23 @@ GC'ed
GCLP
gdi
gdiplus
GDIPVER
GDISCALED
GEmoji
GETCLIENTAREAANIMATION
GETCURSEL
GETDESKWALLPAPER
GETDLGCODE
GETDPISCALEDSIZE
getfilesiginforedist
GETICON
GETHOTKEY
GETMINMAXINFO
GETNONCLIENTMETRICS
GETPROPERTYSTOREFLAGS
GETSCREENSAVERRUNNING
GETSECKEY
GETSTICKYKEYS
GETTEXTLENGTH
GHND
GMEM
@@ -548,6 +599,7 @@ hbm
hbmp
hbr
HBRBACKGROUND
hbrush
hcblack
HCERTSTORE
HCRYPTHASH
@@ -555,6 +607,7 @@ HCRYPTPROV
hcursor
hcwhite
hdc
hdr
hdrop
hdwwiz
Helpline
@@ -567,6 +620,7 @@ Hiber
Hiberboot
HIBYTE
hicon
HIDEREADONLY
HIDEWINDOW
Hif
HIMAGELIST
@@ -575,10 +629,12 @@ hinst
hinstance
HIWORD
HKCC
HKCOMB
HKCR
HKCU
hkey
HKLM
HKM
HKPD
HKU
HMD
@@ -586,9 +642,11 @@ hmenu
hmodule
hmonitor
homljgmgpmcbpjbnjpfijnhipfkiclkd
HORZRES
HORZSIZE
Hostbackdropbrush
hotkeycontrol
HOTKEYF
hotkeys
hotlight
hotspot
@@ -616,15 +674,19 @@ hwnd
HWNDFIRST
HWNDLAST
HWNDNEXT
HWNDPARENT
HWNDPREV
hyjiacan
IAI
IBeam
ICONERROR
ICONLOCATION
idc
IDCANCEL
IDD
idl
idlist
IDOK
IDR
IDXGI
ietf
@@ -645,12 +707,15 @@ imageresizerinput
imageresizersettings
imagingdevices
ime
INCONTACT
Indo
inetcpl
Infobar
INFOEXAMPLE
Infotip
INITDIALOG
INITGUID
INITTOLOGFONTSTRUCT
inorder
INPC
inproc
@@ -733,18 +798,23 @@ lcb
LCIDTo
Lclean
Ldone
Ldr
ldx
LEFTSCROLLBAR
LEFTTEXT
LError
LEVELID
LExit
lhwnd
LIBID
LIMITSIZE
LIMITTEXT
lindex
linkid
LINKOVERLAY
LINQTo
listview
LIVEZOOM
lld
LLKH
llkhf
@@ -762,12 +832,15 @@ LOGFONT
LOGFONTW
logon
LOGPIXELSX
LOGPIXELSY
longdate
LONGLONG
LONGNAMES
lowlevel
LOWORD
lparam
LPBITMAPINFOHEADER
LPCFHOOKPROC
LPCITEMIDLIST
LPCLSID
lpcmi
@@ -797,12 +870,15 @@ LPTSTR
LPW
lpwcx
lpwndpl
lpv
LReader
LRESULT
LSTATUS
lstrcmp
lstrcmpi
lstrcpyn
lstrlen
LTEXT
LTRB
LTRREADING
luid
@@ -812,12 +888,16 @@ LVal
LWA
lwin
LZero
MAGTRANSFORM
majortype
makecab
MAKEINTRESOURCE
MAKEINTRESOURCEA
MAKEINTRESOURCEW
MAKELANGID
MAKELONG
MAKELPARAM
MAKEWPARAM
manifestdependency
MAPPEDTOSAMEKEY
MAPTOSAMESHORTCUT
@@ -857,6 +937,7 @@ MINIMIZEBOX
MINIMIZEEND
MINIMIZESTART
miniz
MINMAXINFO
Mip
Miracast
mjpg
@@ -870,6 +951,7 @@ mmi
mmsys
mmsystem
mockapi
MODALFRAME
MODESPRUNED
MONITORENUMPROC
MONITORINFO
@@ -891,6 +973,7 @@ MRT
mru
msc
mscorlib
msctls
msdata
MSDL
msedge
@@ -898,6 +981,7 @@ MSGFLT
msiexec
MSIFASTINSTALL
MSIHANDLE
Msimg
msiquery
MSIRESTARTMANAGERCONTROL
msixbundle
@@ -909,6 +993,7 @@ msrc
msstore
mst
msvcp
msvsmon
MTND
MULTIPLEUSE
multizone
@@ -958,33 +1043,40 @@ newsgroups
NIF
NLog
NLSTEXT
NMAKE
NNN
NOACTIVATE
NOAGGREGATION
NOASYNC
NOCLIP
NOCLOSEPROCESS
NOCOALESCE
NOCOMM
NOCONFIRMMKDIR
NOCOPYBITS
NOCOPYSECURITYATTRIBS
NOCRLF
nodeca
nodoc
NODRAWCAPTION
NODRAWICON
NOINHERITLAYOUT
NOINTERFACE
NOINVERT
NOLINKINFO
NOMCX
NOMINMAX
NOMIRRORBITMAP
NOMOVE
NONANTIALIASED
nonclient
NONCLIENTMETRICSW
NONELEVATED
NONINFRINGEMENT
nonstd
NOOWNERZORDER
NOPARENTNOTIFY
NOPREFIX
NOREDIRECTIONBITMAP
NOREDRAW
NOREMOVE
@@ -997,6 +1089,8 @@ NORMALUSER
NOSEARCH
NOSENDCHANGING
NOSIZE
NOTHOUSANDS
NOTICKS
NOTIFICATIONSDLL
NOTIFYICONDATA
NOTIFYICONDATAW
@@ -1006,6 +1100,7 @@ NOTOPMOST
NOTRACK
NOTSRCCOPY
NOTSRCERASE
NOTXORPEN
NOZORDER
NPH
npmjs
@@ -1015,6 +1110,8 @@ NTAPI
ntdll
ntfs
NTSTATUS
NTSYSAPI
NULLCURSOR
nullonfailure
numberbox
nwc
@@ -1023,6 +1120,7 @@ objidl
ocr
Ocrsettings
odbccp
OEMCONVERT
officehubintl
OFN
ofs
@@ -1042,8 +1140,10 @@ ORPHANEDDIALOGTITLE
ORSCANS
oss
ostr
OSVERSIONINFO
OSVERSIONINFOEX
OSVERSIONINFOEXW
OSVERSIONINFOW
osvi
OUTOFCONTEXT
outpin
@@ -1053,7 +1153,9 @@ outsettings
OVERLAPPEDWINDOW
overlaywindow
Oversampling
OVERWRITEPROMPT
OWNDC
OWNERDRAWFIXED
Packagemanager
PACL
PAINTSTRUCT
@@ -1082,7 +1184,9 @@ PCIDLIST
PCTSTR
PCWSTR
pdbs
PDEVMODE
pdisp
PDLL
pdo
pdto
pdtobj
@@ -1090,6 +1194,8 @@ pdw
Peb
PElems
Pels
PELSHEIGHT
PELSWIDTH
PERCEIVEDFLAG
perfmon
pesi
@@ -1116,9 +1222,13 @@ ploc
ploca
plocm
pluginsmodel
PMAGTRANSFORM
PMSIHANDLE
pnid
PNMLINK
Pnp
POINTERID
POINTERUPDATE
Popups
POPUPWINDOW
POSITIONITEM
@@ -1164,6 +1274,7 @@ PROCESSENTRY
PROCESSKEY
processthreadsapi
PROCESSTRACE
procmon
PRODEXT
PRODUCTVERSION
Progman
@@ -1174,6 +1285,7 @@ PROPERTYKEY
propkey
PROPVARIANT
propvarutil
PRTL
prvpane
psapi
pscid
@@ -1192,6 +1304,7 @@ PSYSTEM
psz
ptb
ptc
PTCHAR
ptd
PTOKEN
PToy
@@ -1223,6 +1336,8 @@ RAWMODE
RAWPATH
rbhid
rclsid
RCZOOMIT
RDW
READMODE
READOBJECTS
recents
@@ -1325,6 +1440,7 @@ SCID
Scip
scipbe
Scode
SCREENFONTS
screensaver
screenshots
scrollviewer
@@ -1333,16 +1449,27 @@ SDKDDK
sdns
searchterm
SEARCHUI
SECONDARYDISPLAY
secpol
SELCHANGE
SENDCHANGE
sendvirtualinput
serverside
SETBUDDYINT
SETCONTEXT
SETCURSEL
setcursor
SETFOCUS
SETFOREGROUND
SETHOTKEY
SETICON
SETLOWPOWERACTIVE
SETPOWEROFFACTIVE
SETRANGE
SETREDRAW
SETRULES
SETSCREENSAVEACTIVE
SETSTICKYKEYS
SETTEXT
SETTINGCHANGE
SETTINGSCHANGED
@@ -1352,6 +1479,7 @@ setvariable
SETWORKAREA
sfgao
SFGAOF
SHACF
SHANDLE
sharpkeys
SHCNE
@@ -1389,6 +1517,7 @@ shortsplit
showcolorname
SHOWDEFAULT
SHOWELEVATIONPROMPT
SHOWMAGNIFIEDCURSOR
SHOWMAXIMIZED
SHOWMINIMIZED
SHOWMINNOACTIVE
@@ -1463,6 +1592,7 @@ STATICEDGE
STATSTG
stdafx
STDAPI
stdc
stdcpplatest
STDMETHODCALLTYPE
STDMETHODIMP
@@ -1470,8 +1600,10 @@ STGC
STGM
STGMEDIUM
sticpl
STICKYKEYS
stl
storelogo
stprintf
streamjsonrpc
STRINGIZE
stringtable
@@ -1480,12 +1612,14 @@ Strm
strret
strsafe
strutil
stscanf
sttngs
Stubless
STYLECHANGED
STYLECHANGING
subkeys
sublang
SUBMODULEUPDATE
subquery
Superbar
sut
@@ -1516,6 +1650,7 @@ SYSKEYUP
SYSLIB
SYSMENU
SYSTEMAPPS
SYSTEMMODAL
SYSTEMTIME
tailwindcss
tapp
@@ -1530,9 +1665,18 @@ targetver
taskkill
taskschd
TCHAR
TCIF
TCITEM
TCN
Tcollab
tcs
tcscat
tcschr
tcscmp
tcscpy
tcsdup
tcslen
tcsrchr
TCustom
tdbuild
TDefault
@@ -1543,6 +1687,7 @@ testprocess
TEXCOORD
TEXTEXTRACTOR
TEXTINCLUDE
tfopen
tgz
themeresources
THH
@@ -1556,6 +1701,7 @@ timedate
timediff
timeunion
timeutil
TITLEBARINFO
Titlecase
tkcontrols
tkconverters
@@ -1576,6 +1722,7 @@ touchpad
TRACEHANDLE
tracelogging
tracerpt
trackbar
trafficmanager
traies
transicc
@@ -1586,6 +1733,7 @@ trx
tsa
Tsd
TServer
tstoi
TStr
tweakme
TWF
@@ -1594,8 +1742,10 @@ TYPEKEYBOARD
TYPEMOUSE
TYPESHORTCUT
UAC
UACUI
UAL
uap
UBR
UCallback
udit
uefi
@@ -1609,6 +1759,7 @@ ums
uncompilable
UNCPRIORITY
UNDNAME
unhiding
UNICODETEXT
uninstantiated
uniquifier
@@ -1622,9 +1773,13 @@ unregistering
unremapped
unvirtualized
unwide
unzoom
UOffset
UOI
Updatelayout
UPDATENOW
UPDATEREGISTRY
updown
UPGRADINGPRODUCTCODE
Uptool
urld
@@ -1639,7 +1794,7 @@ USRDLL
UType
uuidv
uwp
Uxtheme
uxtheme
vabdq
validmodulename
valuegenerator
@@ -1650,6 +1805,7 @@ vcgtq
VCINSTALLDIR
Vcpkg
VCRT
VCENTER
vcruntime
vcvars
VDesktop
@@ -1660,6 +1816,7 @@ VERBW
VERIFYCONTEXT
verrsrc
VERSIONINFO
VERTRES
VERTSIZE
VFT
vget
@@ -1669,6 +1826,7 @@ VIDCAP
VIDEOINFOHEADER
viewmodel
vih
VIRTKEY
VIRTUALDESK
VISEGRADRELAY
visiblecolorformats
@@ -1695,6 +1853,7 @@ vsonline
vstemplate
vstest
VSTHRD
vstprintf
VSTT
vswhere
Vtbl
@@ -1711,6 +1870,7 @@ wcsicmp
wcsncpy
wcsnicmp
WDA
wdm
wdp
wdupenv
webbrowsers
@@ -1731,6 +1891,7 @@ windef
windir
WINDOWCREATED
WINDOWEDGE
WINDOWINFO
WINDOWNAME
WINDOWPLACEMENT
WINDOWPOSCHANGED
@@ -1847,4 +2008,7 @@ ZEROINIT
zonable
zoneset
Zoneszonabletester
Zoomin
zoomit
ZOOMITX
zzz

View File

@@ -231,3 +231,7 @@ _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b
# ZoomIt menu items with accelerator keys
E&xit
St&yle