Solved

Show/hide taskbar in XP using VB.NET

Posted on 2011-02-24
12
735 Views
Last Modified: 2012-05-11
I want to create a small system tray icon app that toggle show/hide taskbar in XP. I.e if the taskbar is dispalyed normally clicking the tray will make the taskbare hide automatically (as can be manually selected under properties). If the taskbar is in the hide mode and you click the icon again it will go into always-show mode.
0
Comment
Question by:jes12345
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +2
12 Comments
 
LVL 14

Expert Comment

by:quizwedge
ID: 34968861
0
 
LVL 13

Accepted Solution

by:
agarwalrahul earned 200 total points
ID: 34969236
Use Code:

Private Declare Function FindWindowEx Lib "user32" _
    Alias "FindWindowExA" (ByVal hWnd1 As Long, _
    ByVal hWnd2 As Long, _
    ByVal lpsz1 As String, _
    ByVal lpsz2 As String) As Long

Sub TaskBar(blnValue As Boolean)
    Dim lngHandle As Long
    Dim lngStartButton As Long

    lngHandle = FindWindow("Shell_TrayWnd", "")
   
    If blnValue Then
        ShowWindow lngHandle, 5
    Else
        ShowWindow lngHandle, 0
    End If
End Sub

Private Sub Cmdhide_Click()
Dim A As Boolean
A = False
TaskBar (A)
End Sub

Private Sub Cmdunhide_Click()
Dim A As Boolean
A = True
TaskBar (A)
End Sub
0
 

Author Comment

by:jes12345
ID: 34969361
quizwedge: I did see that solution but I did not get a working code from studying it.

agarwalrahul:The methods FindWindow and ShowWindow is not defined..
0
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

 
LVL 14

Expert Comment

by:quizwedge
ID: 34969436
What error(s) were you getting with the solution in the link? Not sure how long your code is, but perhaps you could post what you have that's applicable.
0
 
LVL 86

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 200 total points
ID: 34971178
For VB.Net you need to change all the "Long" to "Integer" (or IntPtr if applicable).

*Declarations with "Long" are usually for the older VB6...
0
 

Author Comment

by:jes12345
ID: 34977848
I did not get a working example from the suggested url since the posts only had fragments of code. If anyone can please post a working sample they will be given the 500 points. Thanks.
0
 
LVL 14

Assisted Solution

by:quizwedge
quizwedge earned 100 total points
ID: 34978563
First, you need to have the following above your class declaration

Imports System.Runtime.InteropServices

Open in new window


Then, within your class you have to have

<DllImport("User32")> Private Shared Function ShowWindow(ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer
    End Function

Open in new window


You should then be able to hide the current window with the following command
ShowWindow(Me.Handle.ToInt32, 0) '0 = Hide

Open in new window


You should also be able to show the current window with the following command
ShowWindow(Me.Handle.ToInt32, 9) '9 = Restore

Open in new window




0
 
LVL 12

Expert Comment

by:Mohamed Abowarda
ID: 34979142
0
 

Author Comment

by:jes12345
ID: 34998023
I have created the code based on agarwalrahul and quizwedge reply - however FindWindow is still not defined
0
 
LVL 86

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 200 total points
ID: 34998165
Use:

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

Or:

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

Author Closing Comment

by:jes12345
ID: 35001761
Thanks!
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question