简体   繁体   中英

Hide icon of working process in TaskBar

how to hide icon of working process in Taskbar in vb.net?

Dim startInfo As New ProcessStartInfo("Some Process")
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden 'he hide only window of process
'startInfo.ShowInTaskbar = False 'don't work with System.Diagnostics and ProcessStartInfo
Pr = System.Diagnostics.Process.Start(startInfo)

I need to hide a window and a icon on taskbar. Please help.

I found this post which was trying to solve the same problem:

Imports System.Diagnostics
Imports System.Runtime.InteropServices
Imports System.Windows.Forms

Module Module1

    Public GWL_EXSTYLE As Integer = -20
    Public WS_EX_APPWINDOW As Integer = &H40000

    <DllImport("user32.dll")> _
    Public Function GetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer) As Integer
    End Function

    <DllImport("user32.dll")> _
    Public Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
    End Function

    <DllImport("user32.dll", SetLastError:=True)> _
    Public Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr
    End Function

    Sub Main()

        ' Start your process
        Dim startInfo As New ProcessStartInfo("YourProcessName")
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
        Dim p as Process = System.Diagnostics.Process.Start(startInfo)            

        ' Hide the process from the task bar
        Dim style As Integer = (GetWindowLong(p.MainWindowHandle, GWL_EXSTYLE) And Not WS_EX_APPWINDOW)
        SetWindowLong(p.MainWindowHandle, GWL_EXSTYLE, style)
        SetParent(p.MainWindowHandle, New Form().Handle)

    End Sub

End Module

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM