|
轉貼 原文出處....
http://payne.world.edoors.com/CMuhNRMuD8wQ
Autoit腳本控制Skype(1) - 必要條件與起步
必要條件:
要先安裝Skype 3.x版,最好是3.5以上
要去下載Skype4com文件回來閱讀參考
https://developer.skype.com/Down ... pe4COM-1.0.28.2.zip
如何開始:(這一步可是絕招,沒了他就什麽都甭談)
;開啟 Skype4COM 物件
$oSkype = ObjCreate("Skype4COM.Skype")
;設定Skype_開頭的副程式皆為skype event處理程式
$SinkObject=ObjEvent($oSkype,"Skype_")
;設定如果發生錯誤的時候跳到AuoitError()副程式
$oMyError=ObjEvent("AutoIt.Error","AutoitError")
接下來就可以放你的其他skype控制指令了
(記得skype要先啟動,然後執行上頭的指令就會觸動skype跳出是否允許的對話框,選擇永久允許)
如果你說:「看不懂」,嘿嘿,我只能說「你非本道中人」
============================================================================
Autoit腳本控制Skype(2) - 自動偵測啟動Skype
如何讓程式自動偵測Skype尚未啟動時就自動去執行Skype呢?
以下是範例,要結合上次的指令
;開啟 Skype4COM 物件
$oSkype = ObjCreate("Skype4COM.Skype")
;設定Skype_開頭的副程式皆為skype event處理程式
$SinkObject=ObjEvent($oSkype,"Skype_")
;設定如果發生錯誤的時候跳到AuoitError()副程式
$oMyError=ObjEvent("AutoIt.Error","AutoitError")
;如果skype尚未啟動則啟動之
If Not $oSkype.Client.IsRunning Then ;檢測是否有開啟skype
$oSkype.Client.Start() ;把 skype 打開
sleep (7500) ;休息7500毫秒(等待Skype程式劃面出現)
Endif
$oSkype.Attach() ;開始接受skype event傳入
如果還是看不太懂,那就抄下來吧,跑一下就知道效果了
===================================================================
Autoit腳本控制Skype(3) - 發送文字訊息
如果要發一個文字訊息給特定對象該怎麼寫呢? 以下就是一個範例,利用 SendMessage() 指令
;開啟 Skype4COM 物件
$oSkype = ObjCreate("Skype4COM.Skype")
;設定Skype_開頭的副程式皆為skype event處理程式
$SinkObject=ObjEvent($oSkype,"Skype_")
;設定如果發生錯誤的時候跳到AuoitError()副程式
$oMyError=ObjEvent("AutoIt.Error","AutoitError")
;如果skype尚未啟動則啟動之
If Not $oSkype.Client.IsRunning Then ;檢測是否有開啟skype
$oSkype.Client.Start() ;把 skype 打開
sleep (7500) ;休息7500毫秒(等待Skype程式劃面出現)
Endif
$oSkype.Attach() ;開始接受skype event傳入
;發送訊息給某skype 帳號
$account = "echo1230000"
$message="你好啊!"
$oSkype.SendMessage($account,$message)
=========================================================================
Autoit腳本控制Skype(4) - 撥打電話
如果要撥打Skype電話或是Skypeout電話給特定對象該怎麼寫呢? 以下就是一個範例,利用 PlaceCall() 指令
;開啟 Skype4COM 物件
$oSkype = ObjCreate("Skype4COM.Skype")
;設定Skype_開頭的副程式皆為skype event處理程式
$SinkObject=ObjEvent($oSkype,"Skype_")
;設定如果發生錯誤的時候跳到AuoitError()副程式
$oMyError=ObjEvent("AutoIt.Error","AutoitError")
;如果skype尚未啟動則啟動之
If Not $oSkype.Client.IsRunning Then ;檢測是否有開啟skype
$oSkype.Client.Start() ;把 skype 打開
sleep (7500) ;休息7500毫秒(等待Skype程式劃面出現)
Endif
$oSkype.Attach() ;開始接受skype event傳入
;撥電話給某skype 帳號
$account = "echo1230000"
$oSkype.Placecall($account)
;要打skypeout就把帳號換成真實電話號碼就可以
$PhoneNo="+88634567890"
$oSkype.Placecall($PhoneNo) |
|