看到谷歌桌面搜索可以将自己的窗体放到语言栏相同的位置,以前还看到有将自己程序装入到快速启动栏中的,我自己试了试hWnd = FindWindow("Shell_TrayWnd", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "ReBarWindow32", vbNullString)
hWnd = FindWindowEx(hWnd, 0, "ToolbarWindow32", vbNullString)GetWindowRect hWnd, temprectIf hWnd <> 0 ThenSetParent Me.hWnd, hWnd
GetWndPic hWnd, Picture1
End If
Me.Move -80, 0, Me.Width, 400能够将程序放到快速启动栏中,但是却遮住了原来的快速启动栏图标,怎么才能让其他图标往后移动啊,再有要添加到语言栏相同的位置怎么办?添不上去

解决方案 »

  1.   

    你是说 System Tray 吗?' FormMain.frm - Add an icon to the system tray.
    ' Copyright (c) 2001. All Rights Reserved.
    ' By Paul Kimmel. [email protected]
     
    Option Explicit
     
    ' Type passed to Shell_NotifyIcon
    Private Type NotifyIconData
      Size As Long
      Handle As Long
      ID As Long
      Flags As Long
      CallBackMessage As Long
      Icon As Long
      Tip As String * 64
    End Type
     
    ' Constants for managing System Tray tasks, foudn in shellapi.h
    Private Const AddIcon = &H0
    Private Const ModifyIcon = &H1
    Private Const DeleteIcon = &H2
     
    Private Const WM_MOUSEMOVE = &H200
    Private Const WM_LBUTTONDBLCLK = &H203
    Private Const WM_LBUTTONDOWN = &H201
    Private Const WM_LBUTTONUP = &H202
     
    Private Const WM_RBUTTONDBLCLK = &H206
    Private Const WM_RBUTTONDOWN = &H204
    Private Const WM_RBUTTONUP = &H205
     
    Private Const MessageFlag = &H1
    Private Const IconFlag = &H2
    Private Const TipFlag = &H4
     
    Private Declare Function Shell_NotifyIcon _
      Lib "shell32" Alias "Shell_NotifyIconA" ( _
      ByVal Message As Long, Data As NotifyIconData) As Boolean
     
    Private Data As NotifyIconData
     
     
    Private Sub Form_Load()
      AddIconToTray
      Visible = False
    End Sub
     
    Private Sub Form_Terminate()
      DeleteIconFromTray
    End Sub
     
    Private Sub AddIconToTray()
     
      Data.Size = Len(Data)
      Data.Handle = hWnd
      Data.ID = vbNull
      Data.Flags = IconFlag Or TipFlag Or MessageFlag
      Data.CallBackMessage = WM_MOUSEMOVE
      Data.Icon = Icon
      Data.Tip = "System Tray Demo - codeguru.com" & vbNullChar
      Call Shell_NotifyIcon(AddIcon, Data)
     
    End Sub
     
    Private Sub DeleteIconFromTray()
      Call Shell_NotifyIcon(DeleteIcon, Data)
    End Sub
     
    Private Sub Form_MouseMove(Button As Integer, _
      Shift As Integer, X As Single, Y As Single)
     
      Dim Message As Long
      Message = X / Screen.TwipsPerPixelX
     
      Select Case Message
        Case WM_LBUTTONDBLCLK
          Visible = Not Visible
          WindowState = Abs(Not Visible)
      End Select
    End Sub
      

  2.   

    应该不是system tary那一块,是输入法那一块。
      

  3.   

    是挺麻烦,貌似得通过系统提供的专门接口或者所允许的方式来操作,setparent这样的属于非常规操作。