Jump to content

And cmd or API call to get the Modern UI to appear?


Tripredacus

Recommended Posts

I've been working on porting my app installer program to work on Windows 8. I'm just about done but there is left one little issue which is mainly cosmetic. In previous version of Windows, I run a program at first boot by putting it in here:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Windows 8 is different because it isn't supposed to boot to the Desktop, but instead show the ModernUI/Start Screen instead. It seems that if you put a program in that registry key, Windows will "sort-of" boot to the desktop. My program puts up a messagebox on the screen saying that it is done working and clicking OK will exit the program. But the screen is black with a blue (unpopulated) taskbar on the screen. I can get back to the Start Screen by pressing the Windows key, but I would rather be able to send some sort of command that puts that back up instead.

So is there any other way to open/close the Start Screen without sending keypresses?

EDIT: it appears that registry key is not erased at boot like in Windows 7 and earlier OSes.

Edited by Tripredacus
Link to comment
Share on other sites


So is there any other way to open/close the Start Screen without sending keypresses?
Call programmatically PostMessage(HWND_BROADCAST,RegisterWindowMessage("SHELLHOOK"),HSHELL_TASKMAN,GetDesktopWindow()); after closing your messagebox. That won't work however if other windows are open on desktop.
EDIT: it appears that registry key is not erased at boot like in Windows 7 and earlier OSes.
It is for me.
Link to comment
Share on other sites

So is there any other way to open/close the Start Screen without sending keypresses?
Call programmatically PostMessage(HWND_BROADCAST,RegisterWindowMessage("SHELLHOOK"),HSHELL_TASKMAN,GetDesktopWindow()); after closing your messagebox. That won't work however if other windows are open on desktop.
EDIT: it appears that registry key is not erased at boot like in Windows 7 and earlier OSes.
It is for me.

Thanks, I'll try that. I could even just not show the messagebox I guess.

You are right about the reg key, I found the issue....

Link to comment
Share on other sites

Why not just send a WM_KEYDOWN message specifying the Win key to the shell?

I'm going to try that too, but with some OS detection since all my apps are designed to run on multiple OSes. We'll see which is the easiest to handle.

Hmmm does even sending the Windows key cause a problem if another application is open? In my case there is.... sysprep.exe. Does the problem sending the key occur because that program is in focus?

Edited by Tripredacus
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...