Gotta love Microsoft. "We need this to store either a 0 or a 1. How many bits should we take up, boss?"
32.
Using more than one bit for true/false isn't just a microsoft thing, and not really as ridiculous as it sounds. Memory isn't addessable by bits, but by bytes. You can either:
Do it like the example here.
Use bitfields: Pack multiple values into the same address, but "waste" more memory and cpu time for keeping track and checking which bit your bool is in. This is mostly useful when the data itself has to be really small.
Why is it 32bit / 4 bytes instead of one? I assume a byte alignment reason because of some optimization.
I don't know much about the registry file format or the Windows APIs, but it's possible that smaller data types wouldn't save space due to alignment requirements for the datastructures.
I bet the person who decided to store gender as a 32 bit value instead of a single bit is feeling utterly proud of his foresight right now.
Like other options of its ilk, this surely ultimately just sets a flag in the registry someplace, which anyone can do once we figure out what the path to that flag is.
Incidentally, although I have not had to do this in a long time, you can move a copy of the Group Policy Management snap-in (gpedit.msc) from a Windows 10 pro/enterprise/whatever machine over to a Win10 Home machine and run it, and it'll Just Work.
The value is literally just called TurnOffWindowsCopilot. That was easy, for a change.
I confirmed that twiddling the Group Policy setting sets this to either 0 or 1.
This is also adjacent to the "Disable Windows Consumer Features" setting, which is located right next to it in CloudContent. Another flag most sane people will want to set to 1.
Wait until millions realize they have Windows home and don't have group policy editor
That's a good point:
Disable copilot via regedit
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsCopilot] "TurnOffWindowsCopilot"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot] "TurnOffWindowsCopilot"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "HubsSidebarEnabled"=dword:00000000
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer] "DisableSearchBoxSuggestions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer] "DisableSearchBoxSuggestions"=dword:00000001
Reenable copilot via regedit
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsCopilot] "TurnOffWindowsCopilot"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot] "TurnOffWindowsCopilot"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "HubsSidebarEnabled"=-
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer] "DisableSearchBoxSuggestions"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer] "DisableSearchBoxSuggestions"=-
Gotta love Microsoft. "We need this to store either a 0 or a 1. How many bits should we take up, boss?"
32.
Using more than one bit for true/false isn't just a microsoft thing, and not really as ridiculous as it sounds. Memory isn't addessable by bits, but by bytes. You can either:
Why is it 32bit / 4 bytes instead of one? I assume a byte alignment reason because of some optimization.
It looks to be the smallest supported integer type: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/25cce700-7fcf-4bb6-a2f3-0f6d08430a55
I don't know much about the registry file format or the Windows APIs, but it's possible that smaller data types wouldn't save space due to alignment requirements for the datastructures.
I bet the person who decided to store gender as a 32 bit value instead of a single bit is feeling utterly proud of his foresight right now.
Like other options of its ilk, this surely ultimately just sets a flag in the registry someplace, which anyone can do once we figure out what the path to that flag is.
Incidentally, although I have not had to do this in a long time, you can move a copy of the Group Policy Management snap-in (gpedit.msc) from a Windows 10 pro/enterprise/whatever machine over to a Win10 Home machine and run it, and it'll Just Work.
Edit:
Found it. The value is in:
Computer\HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\WindowsCopilot
The value is literally just called
TurnOffWindowsCopilot.
That was easy, for a change.I confirmed that twiddling the Group Policy setting sets this to either 0 or 1.
This is also adjacent to the "Disable Windows Consumer Features" setting, which is located right next to it in
CloudContent.
Another flag most sane people will want to set to 1.