找回密码
 加入
搜索
查看: 5867|回复: 8

[转贴] 轉貼---Autoit 控制Skype 撥打電話 發送訊息....範例教學

  [复制链接]
发表于 2012-1-31 16:40:18 | 显示全部楼层 |阅读模式
轉貼  原文出處....

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)
发表于 2012-1-31 16:53:13 | 显示全部楼层
挺详细的说明,谢谢了,有空测试一下。。
发表于 2012-1-31 17:30:24 | 显示全部楼层
看这繁体字还真累
发表于 2012-1-31 17:39:59 | 显示全部楼层
没用过Skype,有空玩下
发表于 2012-2-5 23:11:45 | 显示全部楼层
谢谢楼主分享
发表于 2013-9-14 11:26:40 | 显示全部楼层
怎么挂电话呢
发表于 2013-9-14 11:41:03 | 显示全部楼层
怎么挂电话呢?
发表于 2013-9-25 07:42:35 | 显示全部楼层
這樣掛電話
$icall=$oSkype.Placecall($PhoneNo)
$icall.finish
发表于 2013-9-25 07:46:33 | 显示全部楼层
更多的skype控制文章,请看我的博客
http://autoit.sytes.net

这里的转贴文章的作者就是本人,请多来我的新家坐
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 13:49 , Processed in 0.074819 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表