Classic Shell
http://www.classicshell.net/forum/

hide/show/hide start button by another program at runtime
http://www.classicshell.net/forum/viewtopic.php?f=13&t=1320
Page 1 of 1

Author:  guenter.pajer [ Wed Oct 02, 2013 5:08 am ]
Post subject:  hide/show/hide start button by another program at runtime

Hello

My name is Guenter Pajer and I am working as a software developer in the worldwide wellknown company ANDRITZ.COM .

We are very glad that CLASSIC SHELL exists.
And we use, distribute and install CLASSIC SHELL as an "enhancement of WINDOWS 8" to bring back the start button (for normal/granted users, see below) when distributing and installing our own application(s).

One of our applications has an own user login/logout mechanism built in (where the "user in our application" has his own rights management and who is NOT a WINDOWS user). And the application typically runs in fullscreen mode.

If some "RESTRICTED user in our application" has NOT been granted the "Windows rights", he/she CANNOT access other applictaions, Windows programs, taskbar, system tray, start button etc., BUT may just work within OUR application ONLY.
Thus our application runs "in kiosk mode".
Or thus it should be.

In order to achive that - amongst other functions - we block a lot of keystroke combinations (e.g. ALT+TAB, ALT+SHIFT+TAB, CTRL+ESC, WIN_L, WIN_R, ...), supervise external interfaces like USB, etc.
And we hide the Windows taskbar (including the system tray).
And we also hide the Windows start button (which must be done seperately since "WINDOWS VISTA", "WINDOWS Server 2008" or newer).



BUT, when using CLASSIC SHELL (on WINDOWS 8), we currently have no capability or knowledge in how to hide the CLASSIC SHELL start button.

To make it clear:
*) we still hang on to use CLASSIC SHELL - it's really great
*) I just have the need to hide/show/hide/show the CLASSIC SHELL start button "at will" by a running program



Therefore I would like to "order" such a feature or software interface function, starting in one of your next CLASSIC SHELL versions.

Or maybe, such a function already exists in one of your installed "but not documented to the public" DLLs ?

If it comes to "buy" such a feature and/or developement from you, please do not hesitate to contact our product manager, Mr. Michael Galle (mailto:Michael.Galle (AT symbol) andritz.com) to make a deal and a contract or to negotiate the price for it etc.
Otherwise I would urge Mr. Galle to donate some amount to you after completing this my task.



My imagination goes as far as to use one of your DLL functions - "then documented to me":
*) of course I could distinguish between a 32- or 64-Bit-Windows system and therefore use one or other of your DLLs

*) Example code using the simple VB6 syntax to hide/show the Windos task bar and Windows start button (without error handling):

Private Const SW_HIDE As Long = 0
Private Const SW_SHOW As Long = 5

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function ShowWindow Lib "user32" ( _
ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Private Sub MyFct(...)
Dim hWnd As Long

hWnd = FindWindow (strClassName , strWindowTitle)
'for the taskbar: "Shell_TrayWnd" + Chr(0), vbNullString
'for the start button: "Button" + Chr(0), "Start" + Chr(0)

If (blnSetVisible)
Call ShowWindow(hWnd, SW_SHOW)
Else
Call ShowWindow(hWnd, SW_HIDE)
End If
End


*) Thus I could imagine to call some of your functions in a similar way: hide/show the CLASSIC SHELL start button

*) Or I could you some "message code or telegram" into whatever queue

*) Etc., just what my next code version is able to execute ...

*) From my point of view, this task should be completed within the next few months (e.g. by 2014.February or May - you see, not urgent, but nevertheless a limited time)
*) I also allow you to contact me directly (and need not go through this forum), but for me this has been the only contact possibility from me to you



Many thanks for your understanding
With best regards

Guenter Pajer

Automation
Development Human interfaces and Tools (DHT)
ANDRITZ HYDRO GmbH

Eibesbrunnergasse 20
A-1120 Vienna
Austria
Europe

mailto:guenter.pajer (AT symbol) andritz.com

Author:  Gaurav [ Wed Oct 02, 2013 5:51 am ]
Post subject:  Re: hide/show/hide start button by another program at runtim

There is a DWORD reg value at HKCU\Software\IvoSoft\ClassicStartMenu\Settings called "EnableStartButton" which controls whether Start button is enabled or disabled (regardless of the menu). You could write a simple batch file to exit the Classic Start Menu (ClassicStartMenu.exe -exit parameter), modify this value (1 or 0) and launch the Start Menu again from C:\Program Files\Classic Shell\ClassicStartMenu.exe.

Settings in HKCU\Software\IvoSoft\ClassicStartMenu\Settings are per-user. Settings in HKLM\Software\IvoSoft\ClassicStartMenu affect all users.

This will work for Windows 8.0 and for Windows 8.1, if you use the Classic Shell-provided Start button.



For Windows 8.1 which will add back the built-in Start button, that can be hidden by enabling the Classic Shell Start button (EnableStartButton) and then setting the button size value to 1 (DWORD value: StartButtonSize).

Author:  Ivo [ Wed Oct 02, 2013 8:17 am ]
Post subject:  Re: hide/show/hide start button by another program at runtim

I think you are not asking about hiding the start button but disabling the start menu completely. The latest beta version 3.9.5 RC has a setting "Start automatically for this user". You can uncheck it for the user you wish to not have access to the start menu.

Author:  guenter.pajer [ Fri Oct 11, 2013 4:03 am ]
Post subject:  Re: hide/show/hide start button by another program at runtim  Topic is solved

Hello and many many thanks to all of you.
No, no, the first solution is exactly that, what I needed and now use with satisfaction.
Works really well now.
Wonderful.

Author:  guenter.pajer [ Mon Jun 29, 2015 9:22 am ]
Post subject:  Re: hide/show/hide start button by another program at runtim

Hello again

The above solution with
"C:\Program Files\Classic Shell\ClassicStartMenu.exe" -exit
Registry manipulation of "EnableStartButton" in the "HKCU\Software\IvoSoft\ClassicStartMenu\Setting"
"C:\Program Files\Classic Shell\ClassicStartMenu.exe"
has wunderfully worked since years.

... until recently !

Well, I do not know, wether it is because of ClassicShell verison 3.6.8 or if it is due to "Windows Server 2012 R2 Standard" - but the above solution DOES NOT WORK ANY MORE.

I also have read other forum articles about "EnableStartButton".
But e.g. the potential solutions using "HKLM\Software\IvoSoft\ClassicStartMenu" or in some other hive other than HKCU does not work for me, because the current environment is a restricted user without admin rights, so he and/or my program is not allowed to write into some other Registry hives ...

Have eventually got another solution ?
Why does "[HKCU\Software\IvoSoft\ClassicStartMenu\Setting] \ EnableStartButton" not work any more ?

Many thanks.

Author:  Ivo [ Mon Jun 29, 2015 9:30 am ]
Post subject:  Re: hide/show/hide start button by another program at runtim

The key is "Settings", not "Setting". Try that instead.

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/