亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

在Visual FoxPro中操作MSN

系統(tǒng) 2008 0
在Visual FoxPro中操作MSN
作者:張洪舉 Microsoft Visual FoxPro MVP
注:此文章摘自作者的 〈Visual FoxPro 6.0-9.0解決方案與范例大全〉 圖書
目錄
概述
Messenger注冊(cè)
Messenger注銷
獲取Messenger中的聯(lián)系人信息
打開(kāi)與指定聯(lián)系人的對(duì)話窗口
打開(kāi)MSN Messenger窗口
打開(kāi)郵件窗口
發(fā)送文件
獲得當(dāng)前MSN Messenger設(shè)置
使用Windows Scripting Host向活動(dòng)窗口發(fā)送指令
概述
該示例演示了使用Messenger API和Windows Scripting Host對(duì)MSNMessenger進(jìn)行操作的方法。
Messenger注冊(cè)
可以使用“Messenger.UIAutomation.1”字符串建立對(duì)Messenger的對(duì)象引用。進(jìn)行Messenger注冊(cè)分為自動(dòng)注冊(cè)和按指定用戶注冊(cè)兩種形式,參考下列代碼:
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oMSN.AutoSignin() &&自動(dòng)注冊(cè)
oMSN.Signin(0,"tom@hotmail.com","mypassword") &&按指定用戶tom@hotmail.com進(jìn)行注冊(cè),密碼為“mypassword”

      
Messenger注銷
可以使用Signout方法注銷當(dāng)前用戶,參考下列代碼:
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oMSN.Signout() &&注銷當(dāng)前用戶

      
獲取Messenger中的聯(lián)系人信息
在Messenger的MyContacts.Count中保存著當(dāng)前用戶的聯(lián)系人數(shù)目,可以通過(guò)Item屬性來(lái)檢索每個(gè)聯(lián)系人的信息,參考下列代碼:
        ACTIVATE SCREEN
CLEAR
?"顯示名稱 注冊(cè)名稱 當(dāng)前狀態(tài) 家庭電話 工作電話 移動(dòng)的話"
oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
nCount = oMSN.MyContacts.Count
FOR i = 0 TO nCount -1 &&查找所有聯(lián)系人的信息 lcUserName = 
MSN.MyContacts.Item(i).FriendlyName &&在MSN中的顯示名稱
lcEmailName = oMSN.MyContacts.Item(i).SignInName &&進(jìn)行MSN注冊(cè)時(shí)的用戶名稱,應(yīng)當(dāng)是一個(gè)郵箱地址
lnStatus = oMSN.MyContacts.Item(i).Status &&用戶狀態(tài):1-脫機(jī)、2-正常連機(jī)、10-忙碌、18-離開(kāi)
lcHomePh = oMSN.MyContacts.Item(i).PhoneNumber(0) &&家庭電話
lcWorkPh = oMSN.MyContacts.Item(i).PhoneNumber(1) &&工作電話
lcMobilePh = oMSN.MyContacts.Item(i).PhoneNumber(2) &&移動(dòng)電話
?lcUserName+" | "+lcEmailName+" | "+STR(lnStatus)+" | "+lcHomePh+" | "+lcWorkPh+" 
| "+lcMobilePh 
ENDFOR

      
打開(kāi)與指定聯(lián)系人的對(duì)話窗口
可以使用InstantMessage( )方法打開(kāi)與指定聯(lián)系人的對(duì)話窗口,打開(kāi)對(duì)話窗口后,還可以使用AddContact()邀請(qǐng)其他聯(lián)系人加入對(duì)話,參考下列代碼:
        oWindow = oMSN.InstantMessage("tom@hotmail.com") &&打開(kāi)與tom@hotmail.com的對(duì)話窗口 
oWindow.AddContact("ken@msn.com") &&邀請(qǐng)其他聯(lián)系人加入對(duì)話
?oWindow. Contacts.Count &&返回對(duì)話聯(lián)系人的數(shù)目
oWindow.Close() &&關(guān)閉對(duì)話窗口

      
打開(kāi)MSN Messenger窗口
可以通過(guò)Messenger的Window屬性來(lái)獲得對(duì)MSN Messenger窗口的引用,并通過(guò)Show( )方法來(lái)顯示窗口,參考下列代碼:
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oWindow = oMSN.Window
oWindow.Show() &&顯示MSN Messenger窗口
?oWindow.Height &&返回窗口的高度 oWindow.Close() &&關(guān)閉窗口

      
打開(kāi)郵件窗口
可以使用Messenger的SendMail( )和OpenInbox( )方法在瀏覽器中分別打開(kāi)發(fā)送郵件和收件箱窗口,參考下列代碼:
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oMSN.SendMail("tom@hotmail.com") &&指定向tom@hotmail.com發(fā)送郵件 oMSN.OpenInbox() 
&&打開(kāi)收件箱

      
發(fā)送文件
可以使用Messenger的SendFile( )方法向指定聯(lián)系人發(fā)送一個(gè)文件,參考下列代碼:
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oWindow = oMSN.SendFile('tgrong@hotmail.com','c:\1.txt')
oWindow.Close()

      
獲得當(dāng)前MSN Messenger設(shè)置
下面的代碼可以獲得當(dāng)前用戶在MSN Messenger中的服務(wù)名稱、注冊(cè)用戶名稱和顯示名稱信息。
        oMSN = CREATEOBJECT("Messenger.UIAutomation.1")
oService = oMSN.Services
oPrimserv = oService.PrimaryService
?oPrimserv.ServiceName &&獲得服務(wù)名稱
?oPrimserv.MySigninName &&當(dāng)前注冊(cè)用戶名稱,應(yīng)當(dāng)是一個(gè)郵箱地址
?oPrimserv.MyFriendlyName &&當(dāng)前在MSN中顯示的名稱

      
使用Windows Scripting Host向活動(dòng)窗口發(fā)送指令
Windows Scripting Host(WSH)是一個(gè)用于Windows平臺(tái)的腳本語(yǔ)言工具,使用該工具可以進(jìn)行諸如建立快捷方式、打開(kāi)或重命名文件夾等操作。 使用WSH的SendKeys(String)方法可以將一個(gè)或多個(gè)鍵擊指令發(fā)送到活動(dòng)窗口中,就像在鍵盤上擊鍵一樣。其中的String參數(shù)是一個(gè)代表按鍵的字符串。 要發(fā)送單個(gè)鍵盤字符,可以直接把字符本身作為String參數(shù)發(fā)送(要發(fā)送空格,字符為" ")。要同時(shí)發(fā)送多個(gè)鍵擊,可以按鍵擊順序把字符排列在一起。例如,要發(fā)送鍵擊a、b和c,則需要發(fā)送字符串“abc”。 SendKeys方法將某些字符用作字符的修飾符,包括圓括號(hào)、中括號(hào)、大括號(hào),以及加號(hào)、插入記號(hào)(^)、百分號(hào)和“非”符號(hào)(~)。這些字符需要使用大括號(hào)“{}”括起才可以發(fā)送,例如,要發(fā)送加號(hào),需要發(fā)送字符串“{+}”。 此外,要發(fā)送左中括號(hào)字符,需要發(fā)送字符串“{[]”;要發(fā)送右中括號(hào)字符,需要發(fā)送字符串“{]}”;要發(fā)送左大括號(hào)字符,需要發(fā)送字符串“{{}”;要發(fā)送右大括號(hào)字符,需要發(fā)送字符串“{}}”。 對(duì)于某些僅是執(zhí)行一個(gè)操作而不產(chǎn)生字符的鍵擊(如ENTER和TAB),需要使下表中列出的參數(shù)進(jìn)行發(fā)送。
要發(fā)送由常規(guī)鍵擊和SHIFT、CTRL或ALT組合而成的鍵盤字符,則需要在常規(guī)鍵擊之前添加一個(gè)或多個(gè)特殊字符來(lái)建立組合鍵。其中SHIFT使用“+”表示,CTRL使用“^”表示,ALT使用“%”表示。如果在按住e和c的同時(shí)按下SHIFT鍵,則發(fā)送的字符串應(yīng)當(dāng)為“+(ec)”。如果在按住e時(shí)只按下c(而不按下SHIFT),則發(fā)送的字符串應(yīng)當(dāng)為“+ec”。 例如,圖1是一個(gè)發(fā)送郵件的表單。

圖1
下面是圖1所示表單的自定義方法SendMail的代碼,通過(guò)“發(fā)送”按鈕調(diào)用。用于打開(kāi)MSN的新郵件窗口,并通過(guò)WSH向窗口中的“抄送”、“密件抄送”等文本框發(fā)送所需要的信息。
        LPARAMETERS cContact, cCCAddress, cBCCAddress, cSubject, cMessage
*!* cContact-收件人
*!* cCCAddress-抄送
*!* cBCCAddress-密件抄送
*!* cSubject-郵件主題
*!* cMessage-郵件正文

LOCAL loExc as Exception
LOCAL llRetVal as Boolean 
llRetVal = .F.
TRY
Thisform.oMessenger.SendMail(cContact) &&使用MSN Messenger發(fā)送郵件,將在瀏覽器中打開(kāi)新郵件窗口
*-- 進(jìn)行時(shí)間延遲,等待瀏覽器窗口出現(xiàn) 
FOR i = 1 TO 20
Sleep (1000) &&Sleep是一個(gè)API函數(shù),用于進(jìn)行時(shí)間延遲,請(qǐng)參考MSDN
*--查找標(biāo)題為“MSN Hotmail - 新郵件 - Microsoft Internet Explorer”的窗口
wHandle = FindWindow(0, thisform.cComposeEmailWindowTitle)
IF wHandle > 0
EXIT
ENDIF
ENDFOR

IF wHandle > 0 &&找到了窗口 *-- 將瀏覽器窗口放置在前面 SetForegroundWindow(whandle) 
&&這是一個(gè)API函數(shù),請(qǐng)參考MSDN
Sleep (1000) &&延遲1s

Thisform.SendKeys("{tab}") &&第一次發(fā)送TAB鍵,將焦點(diǎn)移動(dòng)到“抄送”文本框
IF NOT EMPTY(cCCAddress) THEN
Sleep (1000)
Thisform.SendKeys(cCCAddress, .T.) &&向“抄送”文本框中發(fā)送信息 ENDIF

Thisform.SendKeys("{tab}") &&第二次發(fā)送TAB,將焦點(diǎn)移動(dòng)到“密件抄送”文本框
IF NOT EMPTY(cBCCAddress) THEN
Thisform.SendKeys(cBCCAddress, .T.)
ENDIF
Thisform.SendKeys("{tab}") &&第三次發(fā)送TAB,將焦點(diǎn)移動(dòng)到“主題”文本框
IF NOT EMPTY(cSubject) THEN
Thisform.SendKeys(cSubject, .T.)
ENDIF
Thisform.SendKeys("{tab}") &&第四次發(fā)送TAB,將焦點(diǎn)移動(dòng)到正文編輯框
sleep (1000)
Thisform.SendKeys("^{home}")
Thisform.SendKeys(cMessage, .T.)
Thisform.SendKeys("{tab}")
sleep (1000)
Thisform.SendKeys("{enter}")
sleep (1000)
*-- 最小化窗口
CloseWindow(whandle)

llRetVal = .T.

ENDIF

CATCH TO loExc
Thisform.GetOleError(loExc) 
ENDTRY 
RETURN llRetVal
      

在Visual FoxPro中操作MSN


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 影音先锋久草 | 成人午夜视频在线 | 亚洲日本视频在线 | 中文字幕中韩乱码亚洲大片 | 香蕉成人啪国产精品视频综合网 | 女性特黄一级毛片 | 久草在线观看首页 | 欧美777精品久久久久网 | 国产成人精品久久一区二区三区 | 爱爱视频在线免费观看 | 97国产在线公开免费观看 | 亚洲乱码一区二区三区在线观看 | 午夜久久久久久网站 | 国产一区二区免费 | 国产精品一级片 | 婷综合| 成人午夜影视全部免费看 | hdxxx色视频| 免费aⅴ视频 | 天天爱天天爽 | 午夜时刻免费实验区观看 | 色综合成人 | 国产性大片黄在线观看在线放 | 欧美精品亚洲一区二区在线播放 | 手机精品在线 | 2019年国产高清情侣视频 | 一本久道综合久久精品 | 日本永久视频 | 久久精品二区 | 免费国产阿v视频在线观看 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 免费看真人a一级毛片 | 一级作爱视频免费观看 | 成人日韩视频 | 国产精品九九久久一区hh | 色婷婷久久综合中文久久一本` | 草逼com | 成人欧美视频在线看免费 | 亚洲高清免费在线观看 | 国产精品国产高清国产专区 | 日韩不卡免费视频 | 亚洲国产成人资源在线桃色 |