SendMessage和Findwindow用法

原创 2006年06月03日 11:48:00

1。SendMessage和Findwindow用法:发送方 以下是VB代码:

Imports System.Runtime.InteropServices
Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        '在 InitializeComponent() 调用之后添加任何初始化

    End Sub

    '窗体重写 dispose 以清理组件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意: 以下过程是 Windows 窗体设计器所必需的
    '可以使用 Windows 窗体设计器修改此过程。
    '不要使用代码编辑器修改它。
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(435, 349)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(85, 24)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "Button1"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(549, 388)
        Me.Controls.Add(Me.Button1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region
    '以下是C#中声明方法:
    '   [DllImport("user32.dll")]
    'public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    '[DllImport("user32.dll")]
    'public static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter,string lpszClass,string lpszWindow);

    '[DllImport("user32.dll",CharSet=CharSet.Unicode)] 
    'public static extern IntPtr PostMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);


    <DllImport("user32.dll", CharSet:=CharSet.Unicode, entrypoint:="FindWindow")> _
    Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a As Integer = FindWindow(Nothing, "SendMessage2")
        Dim ptr As IntPtr = Marshal.StringToHGlobalUni("Are you ok?")
        SendMessage(a, &H400, ptr, 0)
        Marshal.FreeHGlobal(ptr)

    End Sub
    <DllImport("user32.dll", CharSet:=CharSet.Unicode, entrypoint:="SendMessageW")> _
   Public Shared Function SendMessage(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As Integer) As Integer

    End Function

End Class

2。SendMessage和Findwindow用法:接收方

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        '在 InitializeComponent() 调用之后添加任何初始化

    End Sub

    '窗体重写 dispose 以清理组件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意: 以下过程是 Windows 窗体设计器所必需的
    '可以使用 Windows 窗体设计器修改此过程。
    '不要使用代码编辑器修改它。
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button
        Me.SuspendLayout()
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(194, 201)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(72, 23)
        Me.Button1.TabIndex = 0
        Me.Button1.Text = "Button1"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Controls.Add(Me.Button1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    End Sub
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        If m.Msg = &H400 Then
            MessageBox.Show(System.Runtime.InteropServices.Marshal.PtrToStringUni(m.WParam))
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C# findwindow及sendmessage外挂

  • 2016-03-15 15:12
  • 128KB
  • 下载

C#封装User32类 findwindow sendmessage等等

因为经常会用到这些东西 每次都重新写太过麻烦 所以打算卸载一起 方便 以后调用就好 封装一些常用的 win32 的API  刚是试了下新的类 发下不行  现在只好折叠到一起了 using Syst...

C#用 SendKyes 结合 Process 或 API FindWindow、SendMessage(PostMessage) 等控制外部程序[转]

首页,要说明几个概念: Win32 平台是 消息驱动模式 .Net 框架是 事件驱动模式 标题所指的 “控制外部程序”,外部程序是指与本程序无内在相关性的另外一个程序  基于上面提到的,对...

SendMessage 的用法!

SendMessage的基本结构如下: SendMessage(     HWND hWnd,  //消息传递的目标窗口或线程的句柄。     UINT Msg, //消息类别(这里可以是一些系...

MFC中SendMessage的用法与相应函数的添加

1. 先来个基本知识介绍 [cpp] view plain copy print? SendMessage的基本结构如下:    SendMessage(  ...
  • Qsir
  • Qsir
  • 2017-07-24 14:49
  • 80

MFC中SendMessage的用法与相应函数的添加

1. 先来个基本知识介绍 SendMessage的基本结构如下: SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, /...

SendMessage 和 PostMessage的用法!

Win32 API消息函数:SendMessage 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage不同...

PostThreadMessage和SendMessage用法+结合CreateThread多线程讲解

PostThreadMessage和SendMessage用法+结合CreateThread多线程讲解

SendMessage 和 PostMessage的用法!

Win32 API消息函数:SendMessage 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage...

FindWindow和FindWindowEx

函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName); IpClassName :指向一个指定了类名的空结束字符串或一个标识类名...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)