IP Messenger 互換のメッセージを送信する ActiveX DLL です


機能
IP Messenger 互換のメッセージを送信できます。

Win32 版の IP Messenger には、コマンドラインモードがありますが、その機能の COM 版(正確には、ActiveX DLL 版)といったところでしょうか。

動作環境
必要なライブラリは、ディストリビューション・ウィザードによると、
VB6JP.DLL
VB6STKIT.DLL
WINSKJP.DLL
MSWINSCK.OCX
VisualBASIC6.0 のランタイム
だそうです。
例えば、VB6ランタイム集【みやシリーズ起動用】をインストールする事で条件を満たす事ができます。
使用方法
  1. まず、VisualBASIC6.0 のランタイムを Vector などからダウンロードしてインストールします。
    (その場合、MsWinSck.ocx,WinSkJp.DLL のあるランタイムにしてください。{例えば、VB6ランタイム集【みやシリーズ起動用】})
  2. ダウンロードしたファイルを解凍しします。
    (LHAは、吉崎栄泰氏が、著作権を所有)
  3. 解凍した出来たディレクトリの、"source\test_exe" 以下のファイルは、DLL をテストするためのツールです。
  4. "IPM_Send.DLL" を任意のディレクトリにコピーしてください。
  5. コマンドプロンプト で、IPM_Send.DLL をコピーしたディレクトリで、"RegSvr32.exe IPM_Send.DLL" を実行し、レジストリに登録します。
    (regSvr32.bat を IPM_Send.dll と同一ディレクトリへコピーして実行しても同様の結果を得られます)
  6. 以上で、COM コンポーネントとしての、IPM_Send.DLL は登録が完了です。
    COM アクセスが可能なものなら、IPM_Send.DLL を介して、IP Messenger 互換のメッセージを送信できるようになります。
  7. 例えば、VisualBasic Script 系の場合、
    Dim obj
    Dim ret
    Set obj = CreateObject("IPM_Send.ComSend") '(オブジェクトを取得)
    ret = obj.Send(コマンド番号、送信先 IP アドレス、送信先(元)ポート、メッセージ)
    1. コマンド番号を指定しない場合、(つまり、"" という事) 80020 を指定したと同等
    2. ポート番号を指定しない場合、(つまり、"" という事) 2425 番を指定したと同等
    3. 返り値は、成功 = 0、
      送信IPアドレスが指定されていない = 1、
      送信時に失敗 = 2、
      WinSock コントロールが、なぜか使用中 = 3。
      その他の失敗 = 4
      パケットを一つ送信するだけで、通信の保証はしていないです。(UDP のため)
      (送信したパケットが届かなかった場合などが有り得るということです)
    Set obj = Nothing

  8. 新しいメソッドを追加しました
    Dim obj
    Dim ret
    Set obj = CreateObject("IPM_Send.ComSend") '(オブジェクトを取得)
    ret = obj.GetUserList(ターゲット,待ち時間(ミリ秒),モード)
    1. ターゲットは、ホスト名とポート番号を、":(コロン)" で区切った文字列
      例えば、192.168.1.1
      192.168.1.1:5555
    2. 待ち時間は、応答を待つ時間
    3. モードは、返り値の種類をセット
      0 の場合、IPアドレス、
      1 の場合、ユーザ名:グループ名
      (ユーザ名とグループ名の区切りも ":(コロン)" です)
    4. 返り値は、成功 = ユーザのリストを ":(コロン)"、で区切られた文字列
      送信IPアドレスが指定されていない = 1、
      送信時に失敗 = 2、
      WinSock コントロールが、なぜか使用中 = 3、
      その他の失敗 = 4、
      パケットを一つ送信するだけで、通信の保証はしていないです。(UDP のため)
      (送信したパケットが届かなかった場合や、届いたけど返事のパケットを取りこぼしてしまった。などが有り得るということです)
    Set obj = Nothing

  9. 新しいメソッドを追加しました 2
    これを利用すると、メッセージの受信確認ができます。
    コマンド番号 120 を指定して、メッセージを送信。
    受信したマシンの IP アドレスは、戻り値の IP アドレスとして取得できる。
    Dim obj
    Dim ret
    Set obj = CreateObject("IPM_Send.ComSend") '(オブジェクトを取得)
    ret = obj.Send2(コマンド番号、送信先 IP アドレス、送信先(元)ポート、メッセージ,待ち時間(ミリ秒))
    1. コマンド番号を指定しない場合、(つまり、"" という事) 80020 を指定したと同等
    2. ポート番号を指定しない場合、(つまり、"" という事) 2425 番を指定したと同等
    3. 待ち時間は、応答を待つ時間
    4. 返り値は、成功 = 取得したリストを、":(コロン)" 区切られた文字列
      リスト化されるデータは、
      IPアドレス:コマンド番号:メッセージ
      (ユーザ名とグループ名の区切りも ":(コロン)" です)
      送信IPアドレスが指定されていない = 1、
      送信時に失敗 = 2、
      WinSock コントロールが、なぜか使用中 = 3、
      その他の失敗 = 4、
      パケットを一つ送信するだけで、通信の保証はしていないです。(UDP のため)
      (送信したパケットが届かなかった場合や、届いたけど返事のパケットを取りこぼしてしまった。などが有り得るということです)
    Set obj = Nothing

免責など
著作権は放棄します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。

DownLoad(IPM_Send.lzh as 35,632byte) (IPM_Send.lzh.base64)
最新バージョンは、IPM_Send.dll is 2.2.0.10


履歴



mail to active@window.goukaku.com