Welcome to SapporoWorks! We create stimulating network programs.
By a demand from user, SapporoWorks evolves.
トップページ| ソフトウエア| シェアウエア登録| セキュリティ情報| 開発情報| ドキュメント|
開発情報 > Messenger サービス


概要

Messenger サービス とは、NTやWindows2000でデフォルトで起動しているメッセージ送信用サービスです。
通常、コマンドラインから、「 net send アドレス メッセージ 」という形式で送信できます。
Windows98では、このサービスは動作していません。(別途対応ソフトなどをインストールする必要があります)

本来は、netapi32.libをスタティックリンクして使用できるのだと思いますが・・・
どうしてもヘッダファイルのインクルードでエラーが出ちゃったので、やっつけで、NETAPI32.DLLをダイナミックリンクしました。

NetMessageBufferSend()だけで、あっさりできてしまいました。

ソース
 
 //ダイナミックリンク用
 typedef BOOLEAN   __stdcall (*ProcNetMessageBufferSend)(LPWSTR,LPWSTR,LPWSTR,LPBYTE,DWORD);
 ProcNetMessageBufferSend    NetMessageBufferSend;
 
 void __fastcall TForm1::Button1Click(TObject *Sender)
 {
     int len;
     HINSTANCE hDll;
     //NETAPI32.DLLのNetMessageBufferSend()をダイナミックリンクする
     if (NULL == (hDll=LoadLibrary("NETAPI32.DLL")))
         return;
     NetMessageBufferSend=(ProcNetMessageBufferSend)GetProcAddress(hDll,"NetMessageBufferSend");
 
     //ワイドに変換
     len = strlen(Edit1->Text.c_str()) + 1;
     WCHAR *address = new WCHAR[len];
     MultiByteToWideChar( GetACP(),MB_PRECOMPOSED,Edit1->Text.c_str(),-1,address,sizeof(WCHAR) * len);
 
     //ワイドに変換
     len = strlen(Edit2->Text.c_str()) + 1;
     WCHAR *msg = new WCHAR[len];
     MultiByteToWideChar(GetACP(),MB_PRECOMPOSED,Edit2->Text.c_str(),-1,msg,sizeof(WCHAR) * len);
 
     //メッセージの送信 これだけ
     NetMessageBufferSend(NULL,address,NULL,(BYTE *)msg,sizeof(WCHAR) * lstrlenW(msg));
 
 
     //開放
     FreeLibrary(hDll);
     delete [] msg;
     delete [] address;
 
 }
 
 
 
 



サンプル

サンプルプログラム実行画面


ソースファイルのダウンロード 008-src.LZH 4Kbyte 実行ファイルのダウンロード 008-bin.LZH 198Kbyte


開発情報 > Messenger サービス

copyright(c) 1995- SapporoWorks
当サイトはリンクフリーです。リンク時に連絡などは必要有りません。また、どのページにリンクして頂いても構いません。