I am suffering from unsecured screen saver in Windows 7. When I turned off "On resume, display logon screen" option and changed ScreenSaverIsSecure from 1 to 0. Adobe flash-based *.scr displays "Code 5: Access is denied." error message on Default desktop even though I am on another desktop window and the screen saver does not start. If ScreenSaverIsSecure is set to 1, the screen saver works regardless of desktop window. This is different from Windows XP.
Another test on this was I set the screen saver to "3D text" and I was on another desktop. "3D text" screen saver has started on Default desktop but it says "Incompatible with Direct3D" error.
Test condition:
OS: Windows 7 x64 Pro SP1
Screen saver timeout: 1min
Screen saver: 3D text
Uncheck "On resume, display logon screen". Need to make sure ScreenSaverIsSecure is 0 (0 means do not ask password on resume)
Registry location: HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop
Desktops.exe included in SysInternal tools.
Test procedures:
- Run Desktops.exe and switch to #2 desktop
- Wait 1min for screen saver and you could not see screen saver on #2 desktop after more than 1min elapsed.
- Switch to #1 desktop (Default) and see "Incompatible with Direct3D" error message instead of 3D text message you defined in Screen Saver setting.
If you have a flash screen saver, you will see "Code 5 error: Access is denied." error message and you need to click to continue. ALT+F4 required to escape from screen saver. Strange...
Anyone who can assist on this?
Thank you in advance.
The symptoms you describe are consistent with a badly coded screensaver. It would appear that the screensaver is attempting to access an inactive desktop. I expect it was written without consideration for the possibility of there being multiple desktops in the interactive session.
There's nothing you can do about it. You can't fix the screensaver since you didn't code it. The obvious workarounds are:
Enable the On resume, display logon screen option.
Stop using multiple desktops.
Choose a different screensaver, one that handles multiple desktops correctly.
Of these the lask option would be my choice.
One final point. I don't see any Flash here. That screensaver uses DirectX to render text.
Related
ISSUE:
On a touch panel with no keyboard, my QT C++/QML app running on Windows 10 IOT has the fullscreen GUI "frozen", when the monitor turns on (after the user has triggered the touchscreen), after it has timed-out earlier and turned off due to power settings. Mouse cursor still updates.
The QML GUI has "flags: Qt.FramelessWindowHint | Qt.Window"; I do not want to add "Qt.WindowStaysOnTopHint" as it will block the control panel window when it is open from the app. The program is verified to be still running, only the GUI has frozen from the point in time when the screen turned off.
TEMPORARY RESOLUTION:
The only way to "unfreeze" the fullscreen GUI is to connect a keyboard & press the Windows key to show-hide the start menu, or do it programmatically with a manual QML button placed at a known position or on detection of monitor WM_POWERBROADCAST messages.
When the app is not fullscreen, the freezing doesn't seem to be happening.
Is this due to some missing WM_MESSAGES (e.g. WM_PAINT, WM_ACTIVATE, etc) sent by the OS to the app when it is fullscreen, or when the start menu button is pressed?
Can the app-fullscreen-freezing on monitor-turn-back-on be rectified by the app programmatically sending a sequence of WM_MESSAGES to itself, but not the Win button keypress (as the normal user is not supposed to access the OS or see anything related to the OS when the app is running)?
I tried using winAPI SetForegroundWindow() function...?
:-( Fast forward a few days...
With further testing, it seems that using SetForegroundWindow() alone is not consistent/reliable. Sometimes it works, sometimes it doesn't.
The most reliable that works 99.999% of the time is still the VK_LWIN keypress sent by the app. But, as mentioned before, the app user is not supposed to see the start-menu appearing then disappearing. Best if the behavior of the VK_LWIN keypress could be duplicated to the app without seeing the start-menu...
Is there a way to temporarily disable the display during a Windows 10 PC restart?
Background: we have a software, which is set to start up automatically after a PC restart. Upon startup (after Windows has booted) this software starts in a console window and then opens a WPF screen, which is displayed fullscreen and always resides in front of everything else. I would like to black out the screen ideally as early as possible during the Windows startup up to the point in time when our software WPF window is set and ready on the screen. This way the console window (as well as the desktop showing for a short period of time) would be hidden from the user.
In an ideal world I would hide the fact that Windows is running on the PC from the user, but I assume this is not possible over a restart...
Is this possible with the help of registry settings/command line tools/batch file commands or similar?
In Windows 8 Win Store apps started by default in full screen mode.
In Windows 10 Desktop Mode apps starts in windowed mode, and app title bar has additional icon, which allows to switch to full screen mode (first icon, note that it's different behavior than maximizing window, third icon).
Is there a possibility to maximize this window programatically, e.g. via WinAPI call? Alternatively, is there any option (other than switching to Tablet Mode) to start it in full screen by default?
Question is not about changing app sources, I want to switch running app to full screen as a part of automated testing process.
Yes you can try to make the app runs in full screen by:
ApplicationView.GetForCurrentView().TryEnterFullScreenMode();
And try to play and check the methods available in ApplicationView.GetForCurrentView().. You'll love it :)
OK, indirectly related to programming, but does anyone know how to capture a a screen that pops up for a few milliseconds in Windows? (The screen popups up when I double click an exe) and then terminates the process.
Its too fast to actually focus on the information its bringing up, but it is defnintly saying something
Is there some kind of software than can playback screen in ultra slow motion?
Is it a console app or a winforms app? If it's a console app, you could drop to a command line and run it manually. Then you can clipboard the output.
Is it possible to force the screensaver to appear whenever a computer becomes locked? Specifically on XP, 7 if possible.
Windows has several desktops. You're familiar with the one you are looking at right now. There's another one for the login screen. And there's one for the screen saver. Locking the workstation switches the desktop to the login screen. You cannot switch back to another desktop (like the screen saver one) until you login.
You can however get the screen saver started, that selects the screen saver desktop. Which automatically switches to the login desktop if you configure the screen saver that way.
I believe that the SS is only triggered when the timeout is reached, regardless if the PC is locked or not.
The other way to think of this is to lock the PC whenever the screensaver fired.
Windows 2000 and above has an option to enable lock the PC when the screensaver is active, just enable this, and set the timeout and you are ready to go.