当前位置:编程学习 > C#/ASP.NET >>

大侠过来看看sendmessage在VB2010上怎么用的

Public Class Form1
   Private Declare Auto Function FindWindow Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Int32, ByVal hWnd2 As Int32, ByVal lpsz1 As String, ByVal lpsz2 As String) As Int32
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As String, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
    Const WM_CLOSE = &H10


Private Sub Form1_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LocationChanged

        Call GetWindowTitle()
    End Sub
    Private Sub GetWindowTitle()
        Dim hWnd As Integer
        hWnd = FindWindow("Notepad", "新建文本文档.txt - 记事本")
        MsgBox(hWnd)
        SendMessage(hWnd, WM_CLOSE, 0, "0")
    End Sub
End Class
大侠帮忙看看,我想通过这段代码用sendmessage关闭打开的文本文档,可是怎么都关不掉啊,谁能帮忙看看问题出在哪儿……
win7系统 VS2010 --------------------编程问答-------------------- 新建 文本文档.txt - 记事本
窗口标题找错了

--------------------编程问答-------------------- SendMessage改成PostMessage --------------------编程问答--------------------
引用 1 楼  的回复:
新建 文本文档.txt - 记事本
窗口标题找错了
窗口标题找错,win7的新建文本的标题就是这个,查出来的句柄和标题与Spy++查的结果一样 --------------------编程问答--------------------
引用 2 楼  的回复:
SendMessage改成PostMessage
postmessage也用过不行 --------------------编程问答--------------------  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
SendMessage(hWnd, WM_CLOSE, 0, 0)

注意第一个参数和最后一个参数,类型错了
再不行
就不知道哪出问题了


--------------------编程问答-------------------- 句柄能正确获取吧。应该是可以的,以前用过。
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,