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

在Visual FoxPro中操作MSN

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

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

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

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

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

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

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

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

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

圖1
下面是圖1所示表單的自定義方法SendMail的代碼,通過“發送”按鈕調用。用于打開MSN的新郵件窗口,并通過WSH向窗口中的“抄送”、“密件抄送”等文本框發送所需要的信息。
        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發送郵件,將在瀏覽器中打開新郵件窗口
*-- 進行時間延遲,等待瀏覽器窗口出現 
FOR i = 1 TO 20
Sleep (1000) &&Sleep是一個API函數,用于進行時間延遲,請參考MSDN
*--查找標題為“MSN Hotmail - 新郵件 - Microsoft Internet Explorer”的窗口
wHandle = FindWindow(0, thisform.cComposeEmailWindowTitle)
IF wHandle > 0
EXIT
ENDIF
ENDFOR

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

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

Thisform.SendKeys("{tab}") &&第二次發送TAB,將焦點移動到“密件抄送”文本框
IF NOT EMPTY(cBCCAddress) THEN
Thisform.SendKeys(cBCCAddress, .T.)
ENDIF
Thisform.SendKeys("{tab}") &&第三次發送TAB,將焦點移動到“主題”文本框
IF NOT EMPTY(cSubject) THEN
Thisform.SendKeys(cSubject, .T.)
ENDIF
Thisform.SendKeys("{tab}") &&第四次發送TAB,將焦點移動到正文編輯框
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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五月天丁香婷婷综合久久 | 欧美毛片日韩一级在线 | 久久久久久久久久免免费精品 | 国产精品伦理久久久久久 | 九九久久久久午夜精选 | 国产深夜福利视频观看 | 欧美成人免费网在线观看 | 亚洲欧美日韩国产精品 | 日韩在线观看网站 | 鲁丝丝国产一区二区 | 亚洲高清成人欧美动作片 | 国产成人乱码一区二区三区在线 | 日韩区欧美区 | 国产在线拍国产拍拍偷 | 素人巨乳被调教 | 亚洲欧美一区二区久久香蕉 | 久久久这里只有精品加勒比 | 美女女女女女女bbbbbb毛片 | 5x性区m免费毛片视频看看 | 黄色毛片视频免费 | 色狠狠色综合久久8狠狠色 色狠狠婷婷97 | 午夜美女久久久久爽久久 | 色久激情 | 亚洲一区在线日韩在线深爱 | 亚洲精品9999久久久久 | 夜夜操天天射 | 欧美一区二区三 | 欧美大片天天免费看视频 | 日韩另类视频 | 国产情侣偷国语对白 | 国产伊人网 | 久久久香蕉视频 | 99热热久久这里只有精品166 | 日本高清一级片 | 毛片一区 | 亚洲精品国产v片在线观看 亚洲精品国产啊女成拍色拍 | 亚洲h在线观看 | 毛片在线观看网站 | 全免费a级毛片免费看视频免 | 4399一级成人毛片 | 天天干天天插 |