I have an idea to hide all windows before launching a screensaver to prevent reading information during switching to the lock screen. You can use "rundll32 user32.dll,LockWorkStation" instead of "tsdiscon", but I prefer the second way. You can configure screensaver settings here (press Win+R, enter text below and press OK): control.exe can reach the screensaver settings via GUI. Right click on the new shortcut icon and select Properties. A new shortcut icon appears on your desktop. That's why it works only after configuring a screensaver in Windows. Click Yes when asked if you want the shortcut on the desktop. The script takes a key value for the screensaver from the windows registry and use it to start a pre-configured screensaver. The Windows 10 Search is a helpful and fast tool for finding and opening what you want to use. How to search for Settings in Windows 10. Therefore I decided to follow the way from the screensaver settings: to lock session as continuation of the screensaver. If you prefer the keyboard, press Windows + X to display the power user menu, followed by the letter n to open Settings. I wanted to do smth described in the title, but didn't find a way to do it (I hope, yet). bat file with the next content: for /f "tokens=3" %%a in ('reg query "hkey_current_user\control panel\desktop" /v scrnsave.exe') do start "" /wait /d "%%~dpa" "%%~nxa" /sĪnd launch it when you want to lock the session. Just think of it as shell scripting in a more pythonic environment and it's not terrible. Having a 1/4 century of bash experience, powershell is very strange, but also a bit refreshing to work with. ( Learn more here.) A slightly less convenient alternative is Get-Member. Unfortunately, installing it now requires the -AllowClobber option. (I have to admit that even though I can write sed directly into a script without testing it at the CLI, this IS better.) There is a useful tool for exploring objects that is recommended by a Microsoft technet blogger. We access a single property with the convenient dot notation. Here, the Get-ItemProperty returns an object that has many properties. Windows 10 includes many keyboard shortcuts to make your experience around the desktop easier, and you can check them out here. This is a pretty succinct demonstration of how powershell returns objects (complete with methods, accessors, etc.) rather than streams of text like bash. That value just happens to be a complete path to a *.scr file, and therefore you can (and I do) tell powershell to run it as a command. This will get the value of the SCRNSAVE.EXE property from the registry. ![]() Powershell.exe -command "& (Get-ItemProperty 'HKCU:Control Panel\Desktop')." # This works from both WSL/bash and powershell! ![]() To make this a legitimate SO answer, I'll include the simpler one: #!/bin/bash
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |