| 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
当サイトはリンクフリーです。リンク時に連絡などは必要有りません。また、どのページにリンクして頂いても構いません。 | |