C++編寫計(jì)算機(jī)短信發(fā)送程序
手機(jī)短信已經(jīng)成為當(dāng)今的流行時(shí)尚,但怎樣在計(jì)算機(jī)之間體驗(yàn)短信的方便與快捷呢?其實(shí)我們利用Windows 2000提供的信使服務(wù)就可以自制一個(gè)短信發(fā)送程序,令筆者最為得意的是它幾乎可以穿越各種網(wǎng)絡(luò)防火墻,不受限制。
信使服務(wù)是指“計(jì)算機(jī)管理”中的“發(fā)送控制臺(tái)消息”。“計(jì)算機(jī)管理”將多個(gè)Windows 2000管理工具合并到了一個(gè)控制臺(tái)樹中,使用戶可以輕松地訪問(wèn)特定計(jì)算機(jī)的管理屬性和工具,實(shí)現(xiàn)了用一個(gè)統(tǒng)一的桌面工具來(lái)管理本地或遠(yuǎn)程計(jì)算機(jī)。
在“我的電腦”上單擊右鍵,選擇“管理”,即顯示“計(jì)算機(jī)管理”主界面。依次選擇“操作”、“所有任務(wù)”、“發(fā)送控制臺(tái)消息…”,就可打開“發(fā)送控制臺(tái)消息”窗口。
你看到的界面很簡(jiǎn)潔,操作也很簡(jiǎn)單。在上面的編輯框中輸入要發(fā)送的信息,在下面的編輯框中添加/刪除收件人(初始狀態(tài)顯示本機(jī)的計(jì)算機(jī)名),然后點(diǎn)擊發(fā)送即可。但在實(shí)際使用中,我感覺(jué)操作步驟實(shí)在有些煩瑣,于是,略加改造了一下。具體實(shí)現(xiàn)過(guò)程如下:
1.運(yùn)行 C++ Builder 5.0,然后通過(guò)菜單File|New Application創(chuàng)建一個(gè)新的工程。
2.再在窗體中添加一個(gè)Edit組件、一個(gè)Memo組件、多個(gè)Label和Button組件。編輯框用于輸入收件人的計(jì)算機(jī)名或IP 地址;Memo用于輸入要發(fā)送的信息,消息可以是多行文本;多個(gè)按鈕用于觸發(fā)不同的操作。
3.核心程序是“發(fā)送”按鈕的OnClick事件的處理過(guò)程:
void __fastcall TForm1??BtnSendClick?TObject ?Sender
AnsiString str
str=″NET SEND″
str=str+″ ″
str=str+Edit->Text? ?第6行
str=str+″ ″
str=str+Memo->Text
WinExec?str.c_str? ?SW_HIDE
以上只是完成了發(fā)送短信的基本功能,還可以進(jìn)行功能擴(kuò)展。比如說(shuō)將程序的第6行改為“str=str+″?″”或是“str=str+″/domain??domainname?″”,就可以對(duì)工作組或域內(nèi)的所有計(jì)算機(jī)以廣播的方式發(fā)送消息;如果想要向所有參與服務(wù)器會(huì)話的用戶發(fā)送消息,則語(yǔ)句為“str=str+″/users″”。
說(shuō)明:首先,要想接收消息必須運(yùn)行信使服務(wù)。換句話說(shuō),就是要在Windows 2000上運(yùn)行,Windows 98是不支持信使服務(wù)的。其次,本程序沒(méi)有接收消息的功能。因?yàn)?,Windows 2000會(huì)自動(dòng)啟動(dòng)信使服務(wù),接收消息,彈出對(duì)話框顯示信息。
注:本程序在Windows 2000 & C++ Builder 5.0環(huán)境下調(diào)試通過(guò)