|
9月に入り、ID-91をSkypeからコントロールする構想ができたので、一時WiRES-Ⅱを停止させて、PCと常駐ソフトも以下のとおり変更した。
- VAIO(英語版)
Echolink+mmdtmf.vbs、DVAR HotSpot*1
→ DVAR HotSpot、Skype1
- Acer(日本語版)
WiRES-Ⅱ、WiRES-Chat、Skype2、Echolink-Proxy、LcwMessenger*2
→ Echolink+mmdtmf.vbs、RS-91*3、Skype2+dst_change.js*4
- mmdtmf.vbs*5
EcholinkAPIを利用し、DTMFデータ → RFのON/OFF、時報など。また今回は同じPC上にRS-91が起動しているので、あまり効果は無いが、dst_change.jsと同じ操作ができるようにした。
'Instantiate EchoLink's Session component, and set up an event connection
Set oEchoLink = WScript.CreateObject("EchoLink.EchoLinkSession", "EchoLink_")
Set SysEchoLink = oEchoLink.SysopConfig
Set ConfEchoLink = oEchoLink.SystemConfig
中略
case "xx"
CreateObject("Wscript.Shell").Run "C:\archive\emirate\uwsc\txon.uws"
Wscript.Sleep 1000
oEchoLink.SayPhrase 4 'Online
case "xx"
oEchoLink.PTTActivation 1
oEchoLink.SayString "OK OFF"
Wscript.Sleep 1000
CreateObject("Wscript.Shell").Run "C:\archive\emirate\uwsc\txoff.uws"
以下省略
- dst_change.js
遠方よりSkypeChatでコマンドを送り、ID-91のメモリー操作を行う。
これを起動する前に、Skype4COMを組み込む参照→ *6
var skype = new ActiveXObject('Skype4COM.Skype');
WScript.ConnectObject(skype, 'Skype_');
skype.Attach();
while(true){
WScript.Sleep(1000);
}
function Skype_MessageStatus(msg, status){
if(status == skype.Convert.TextToChatMessageStatus('RECEIVED')){
var sh = new ActiveXObject( "WScript.Shell" );
var user = msg.FromDisplayName;
var body = msg.Body;
var chat = msg.Chat;
switch (body){
case "#cq":
sh.Run( "C:/archive/emirate/uwsc/p20.uws");
chat.SendMessage(user + '\n' + 'Your:CQCQCQ');
beak;
case "#u":
sh.Run( "C:/archive/emirate/uwsc/p21.uws");
chat.SendMessage(user + '\n' + 'Your: ______U');
beak;
以下省略
- p20.uws
UWSCにより画面操作を記録したもの*7
ACW(GETID("RS-91","TForm"),987,542,283,382,0)
BTN(LEFT,CLICK,1103,555,300)
BTN(LEFT,CLICK,1096,660,300)
KBD(VK_CTRL,DOWN,50)
KBD(VK_CTRL,DOWN,50)
KBD(VK_RETURN,DOWN,50)
KBD(VK_CTRL,UP,50)
- デスクトップ画面
UWSCを利用しているため、RS-91ダイヤログボップクの位置、大きさは固定しておかなくてはならない。((相対位置で指定するのであれば、不要と思う)
|