'=====去掉任务栏函数申明===
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" _
  (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOW = 5
Const SW_HIDE = 0
'=========================================
Private hwnd5 As Long '去掉任务栏变量申明
你需将窗体最大化。
form1.windowstate =2=====去掉任务栏======
hwnd5 = FindWindow("Shell_traywnd", "")
Call ShowWindow(hwnd5, SW_HIDE) '隐藏任务栏程序最后退出时,一定要用这个语句将任务栏显示出来。
Call ShowWindow(hwnd5, SW_SHOW) '显示任务栏

解决方案 »

  1.   

    采用的方法同你的一样,而且窗体是最大化的,WHY?
      

  2.   


    造假 用一个form 把 任务栏 盖盖住
      

  3.   

    要不用这个函数:
    Public Sub maxfrm(frm As Form)
    frm.Height = Screen.Height
    frm.Width = Screen.Width
    frm.Move 0, 0
    End Sub
     
    maxfrm form1
      

  4.   

    终于完成,其中应注意的是:
    无论系统是否已经设置为自动隐藏,MDIFORM不能设置为最大化(WINDOWSSTATE=2),而只能采用DTWUJP(建平) 的方法将窗体放大,否则在窗口最大化时,下面仍会“露马脚”。
      

  5.   

    此外,在FORM的RESIZE中我还加入了下面的语句:
    Private Sub MDIForm_Resize()
    If Me.WindowState = 1 Then
    Call ShowWindow(hwnd5, SW_SHOW)
    Else
    '你需将窗体最大化。
    Me.Height = Screen.Height
    Me.Width = Screen.Width
    Me.Move 0, 0'=====去掉任务栏======
    hwnd5 = FindWindow("Shell_traywnd", "")
    Call ShowWindow(hwnd5, SW_HIDE) '隐藏任务栏
    End If
    End Sub这样是不是更好一些?
      

  6.   

    还有一些小BUGS,最好再完善一下