Solved

Show/hide taskbar in XP using VB.NET

Posted on 2011-02-24
12
689 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
  • 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
 
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 85

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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 

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 85

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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

757 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now