NonSoft ...

Windowsメッセージを送信/受信するサンプル(VB6)
1764653

...
 サイト内リンク
フォルダ監視人はファイル更新時にメール等で通知(本文/差分/添付)、プログラム実行(新/旧/差分指定)、フォルダ同期するFTP対応のツール。
TCP/IP-RS232C中継機はTCP/IPとRS232Cのプロトコルを変換して電文を中継するツール。送受信電文のログ表示/保存も行ないます。RS232C共有。
IEF5更新通知ツール(CarWebCheck)はIEのF5キーを自動的(定期的)に押してWEBページの更新をチェックするツール。ログインが必要なサイトで使用可。
WEB自動入力ツール(WebFormInput)はWEBフォームに入力したデータを保存し次回以降は自動入力するツール。毎日のWEBログインが簡単になります。
  トップページ   ツール/DLL   サンプルソース   ち~な~み~に~   おすすめソフト     
  ファイル監視関係   ファイル比較関係   文字コード変換関係   通信(RS232C等)関係   ブラウザ操作関係   WEB/SEO関係   お問い合わせ  
 サンプル(ソース/コード)
<このサンプルの概要>
外部アプリケーションから送信されたWindowsメッセージをVB6のウィンドウで受信するサンプルです。

外部アプリケーション(他EXE)に指令を送信する手段としてWindowsメッセージがあります。
WindowsメッセージとはWM_XXXX(例:WM_GETTEXTやWM_SETTEXT)で表現されているメッセージです。
Windowsメッセージは通常、OSとAPの間で送受信されますが、AP間でも送受信が可能です。

WindowsメッセージはSendMessageやPostMessageで送信出来ます。

そのWindowsメッセージをVB6のウィンドウ(フォームやコントロール)で受信するには、
サブクラス化という処理が必要です。

このサンプルでは、VB6のサブクラス化の処理をシンプルにまとめました。
サンプルを簡単にするためWindowsメッセージ送信側と受信側を同じフォームに記述しています。

VB.NETやC#.NETのサンプルはこちらです。
Windowsメッセージを送信/受信するサンプル(VB.NET)
Windowsメッセージを送信/受信するサンプル(C#.NET)

★フォームモジュール(Form1.frm)
Option Explicit

' 独自(カスタム)メッセージ送信側の処理========================================================
' ウィンドウにメッセージを送信するAPI
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Command1_Click()
    ' 独自メッセージ送信
    Call SendMessage(Me.hwnd, 9999, 0, 0)
End Sub
' ============================================================================================


' 独自(カスタム)メッセージ受信側の処理========================================================
Private Sub Form_Load()
    ' 独自メッセージの処理を開始
    Call Start_MyWndProc(Me.hwnd)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    ' 独自メッセージの処理を終了
    Call End_MyWndProc(Me.hwnd)
End Sub
' ============================================================================================

★標準モジュール(Module1.bas)
Option Explicit

' 独自(カスタム)メッセージ処理モジュール======================================================
' ウィンドウをサブクラス化するAPI
Private Const GWL_WNDPROC = -4
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" _
    (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, _
     ByVal wParam As Long, ByVal lParam As Long) As Long

' デフォルトのメッセージ処理関数
Private lngWnP As Long

' 独自メッセージの処理を開始
Public Sub Start_MyWndProc(hwnd As Long)
    lngWnP = GetWindowLong(hwnd, GWL_WNDPROC)
    Call SetWindowLong(hwnd, GWL_WNDPROC, AddressOf MyWndProc)
End Sub

' 独自メッセージの処理を終了
Public Sub End_MyWndProc(hwnd As Long)
    Call SetWindowLong(hwnd, GWL_WNDPROC, lngWnP)
End Sub

' ウィンドウに来たメッセージを振り分ける関数
Private Function MyWndProc( _
    ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    MyWndProc = 0
    Select Case msg
    Case 9999
        ' 独自メッセージ(9999)の処理
        MsgBox "メッセージを受信しました"
    Case Else
        ' デフォルトのメッセージ処理
        MyWndProc = CallWindowProc(lngWnP, hwnd, msg, wParam, lParam)
    End Select
End Function
' ============================================================================================
 オリジナル便利ツール
WEB自動入力ツール
WEBフォームに入力したデータを保存し次回以降は自動入力。WEBページのログイン入力に。

WEB操作再生ツール
WEBページの入力操作やクリック操作を記録/再生、コマ送り再生、ショートカットからの再生

WEB更新通知ツール
WEBページの更新をチェックし通知(ブザー/アイコン点滅/バルーン表示)、変更内容の差分表示

指令メール実行
メールで遠隔操作(受信メールを監視しメールタイトルのキーワードに対応したファイルを実行)

フォルダ監視人
ファイル更新監視:メール等通知(本文/差分/添付) プログラム実行(新/旧/差分指定) 同期 FTP対応

PC状況メール通知
PC使用状況通知(PC起動/PC終了/ログイン/ログアウト/指定ファイル更新時にログ出力/メール送信)

フォルダ内のファイル比較ツール
サブフォルダを含む全ファイル比較 文字コード判定比較 フォルダ同期 FTP対応 バッチ対応

テキスト差分解析DLL
テキスト差分を解析するライブラリ、差分解析するテキストの文字コード判定

文字コード判定/変換DLL
文字コード変換、文字コード判定(SJIS/JIS/EUC/UNICODE/UTF7/UTF8/バイナリ)ライブラリ

TCP/IP-RS232C中継機
TCP/IPとRS232Cのプロトコル変換、送受信電文のログ表示/保存、タスクトレイ動作可 RS232C共有

まだまだ沢山あります

...
...