请问关闭一个指定的窗口有几种方法??
我用GetClassName函数返回一个afx:1780000:0这是什么东西??为什么这种窗口在使用
WM_Close关闭时会出错??
盼望答复~~~

解决方案 »

  1.   

    WM_CLOSE可以通过SendMessage来进行关闭窗体!
      

  2.   

    如果你在线的话,请msn来找我,[email protected],或者QQ 123478388
      

  3.   

    不知道你是想要VB的,还是VC的,告诉你可以先找到窗口的句柄,然后,SendMessage(hWnd,WM_CLOSE,NULL,NULL)可以关闭窗口。hWnd为窗口句柄。窗口句柄可以用FindWindow()找到。有什么问题请说明白,我有一点不明白。
      

  4.   

    FLAsh广告怎么杀? 
    句柄有什么用每次又不一样??
      

  5.   

    没有说错呢,我是学VC的,但也算懂VB,我真的希望楼主问清楚一点,什么要关窗口,但又出来了一个什么 GetClassName(),所以有点糊呢,当然 FindWindow()要用到ClassName .
      

  6.   

    Option Explicit
     Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
      Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
      Private Declare Function SendMessageBynum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
      Private Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String)
    Const WM_CLOSE = &H10Private Sub Command1_Click()
    Dim myHandle As Long
    Dim myMsg As Long
    Dim myParam As Long
    'dim myParam
    'myHandle=
    'Dim rttitle As String * 256
    myHandle = FindWindow("Form2", vbNullString) 
    SendMessage myHandle, WM_CLOSE, 1, 1
    End SubPrivate Sub Command2_Click()
    Form2.Show
    End Sub
    你先看看,具体明天给你答复!
      

  7.   

    同志,好像这样不行吧,虽然我在网吧。但FindWindow()这样可以找到吗?我有点不相信,真的。
      

  8.   

    Jackile(东方朔) 你写的也太简单了吧??  
    试了一下,Form1杀不掉Form2~~  luolovegui(东方不败) ,我给你发了段消息,你看了没有??
    网吧你还有心思看这个?? 
    佩服啊~
      

  9.   

    暂时想到的:DestroyWindow( hWnd )
    PostMessage( hWnd, WM_CLOSE, ByVal 0&, ByVal 0& )
    PostMessage( hWnd, WM_SYSCOMMAND, ByVal SC_CLOSE, ByVal 0& )
      

  10.   

    我看了你的问题呀,告诉你一个好办法哦,不要谢我了,分你随便给呢,没有很大的关系,
    你说窗口是从上面下来的,你可以先来一个虚拟按了一下右键,然后发一个WM_CLOSE消息就可以了。
    鼠标虚拟用mouse_event()函数,然后马上用鼠标位置得到句柄。然后再来一个SendMessage()发一个WM_CLOSE。就可以了。
    我相信这样是一定可以的。还有问题的话我可以给你代码。不过这两天可能不行,我要回家玩玩。不要说我了,我在网吧也是打发时间,为了等女朋友呢。网吧没事就想想呀
      

  11.   

    谢谢luolovegui(东方不败) ,我的问题已经解决了,我原来的思路正确的。不过效果不是非常非常之好(已经很不错了但我是个苛刻的人),不过依然谢谢各位。分数散给大家,每人都有一点,敬请笑纳~~~~