Why vbhide don't work in Windows Vista?

gerardtroyan's Avatar, Join Date: Dec 2007
Newbie Member
The next code works in XP but not in Windows Vista:

Shell "c:\windows\system32\calc.exe", vbHide

In XP execute the calculator (hide)
but in windows vista show the window's calculator.

The calculator is just a example.

I tried in Windows Vista as administrator, but I get the same result.

I tried with Visual Basic Script, but I get the same result.

set shell = CreateObject("wscript.shell")
shell.run "cmd /c calc.exe", vbhide

I tried the ShellExecute function, but I get the same result.

Please, help me.

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal _
nShowCmd As Long) As Long

Private Sub Form_Load()
ShellExecute hwnd, "open", "C:\windows\system32\calc.exe", vbNullString, vbNullString, vbhide
End Sub
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
"c:\windows\system32\calc.exe", vbHide does not work in WinXP as well for me and the calculator is displayed. Can you please explain what works in XP clearly.