1:
Public Sub ChangeWindowStyle(ByVal hwnd As Long)
    '
    Dim oldStyle As Long
    
    oldStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
    oldStyle = oldStyle Or WS_EX_WINDOWEDGE
    'oldStyle = oldStyle Or WS_EX_OVERLAPPEDWINDOW
    'oldStyle = oldStyle Or WS_EX_PALETTEWINDOW
    ' ShowInTraybar
    oldStyle = oldStyle Or WS_EX_APPWINDOW
    ' ToolWindow
    'oldStyle = oldStyle Or WS_EX_TOOLWINDOW
    '
    'oldStyle = oldStyle Or WS_EX_CLIENTEDGE
    ' Not ShowInTraybar
    'oldStyle = oldStyle And (Not WS_EX_APPWINDOW)
    ' Not ToolWindow
    'oldStyle = oldStyle And (Not WS_EX_TOOLWINDOW)
    ' Not ClientEdge
    'oldStyle = oldStyle And (Not WS_EX_CLIENTEDGE)
    'oldStyle = oldStyle Or WS_EX_CONTROLPARENT
    '
    SetWindowLong hwnd, GWL_EXSTYLE, oldStyle
    
    oldStyle = GetWindowLong(hwnd, GWL_STYLE)
    ' Caption
    'oldStyle = oldStyle Or WS_CAPTION
    ' Show Border
    'oldStyle = oldStyle Or WS_BORDER
    ' Show Popup
    'oldStyle = oldStyle Or WS_POPUP
    ' Show Sys Menu
    oldStyle = oldStyle Or WS_SYSMENU
    ' Show Mini Box
    oldStyle = oldStyle Or WS_MINIMIZEBOX
    ' Show Maxi Box
    'oldStyle = oldStyle Or WS_MAXIMIZEBOX
    ' Show Sizeble
    'oldStyle = oldStyle Or WS_SIZEBOX
    'oldStyle = oldStyle And (Not WS_CLIPCHILDREN)
    ' IconIC
    oldStyle = oldStyle Or WS_ICONIC
    
    SetWindowLong hwnd, GWL_STYLE, oldStyle
    
End Sub 
2:
找到已经运行的程序的handle,并将你双击的文件加入 

解决方案 »

  1.   

    判断程序是否已经运行利用 app.PrevInstance 语句。
      

  2.   

    '解决只运行一个程序的问题 如果给分请把分给TechnoFantasy
    '请新建模块并添加以下代码
    Function Program_Is_Already_Running()
        Program_Is_Already_Running = False
        If (App.PrevInstance = True) Then
            Program_Is_Already_Running = True
        End If
    End Function
    Sub Main()
        If Program_Is_Already_Running Then
            GoTo Noduplicate
        End If
        Form1.Show
        Exit Sub
    Noduplicate:
        MsgBox "Program is already running"
    End Sub
      

  3.   

    要打开那个新文件,得向原窗口发送WM_COPYDATA。具体做法找msdn研究去。