アットウィキロゴ

ActiveXSample.ahk

/* Sample_IE.ahk */
#Persistent

#include %A_ScriptDir%¥ActiveX.ahk

;初期化
ActiveX()

;オブジェクト作成
ie:=CreateObject("InternetExplorer.Application")


;プロパティへの書き込み
pp(ie,"Visible","true")

;メソッド呼び出し
inv(ie,"Navigate","about:blank")

;プロパティオブジェクトの取得
doc:=gp(ie,"Document")
win:=gp(doc,"parentWindow")

inv(doc,"write","Hello!<br><br>")

;イベントの割り当て
ConnectObject(doc,"Document_")
ConnectObject(win,"Window_")

;オブジェクト解放
Release(doc)
Release(win)
Release(ie)
return

;イベントに割り当てられる関数
Document_onfocusin(this,prm,res){
inv(this,"write","focuse in<br>")
}
Document_onfocusout(this,prm,res){
inv(this,"write","focuse out<br>")
}
Window_onbeforeunload(this,prm,res){
MsgBox,閉じます
SetTimer,quit,-100
}
quit:
ExitApp


---------------------------
/* sample_JScript.ahk */

#include %A_ScriptDir%¥ActiveX.ahk
ActiveX()

;JScript のコードを埋め込み
script=
(
for(var i=5;i>0;i--){
sapi.Speak(i+",");
}
sapi.Speak("0!");
)

sc:=CreateObject("MSScriptControl.ScriptControl.1")
pp(sc,"Language","jscript")

sapi:=CreateObject("Sapi.SpVoice")
inv(sc,"AddObject","sapi",vObj(sapi))

inv(sc,"Eval",script)

---------------------------
/* sample_SpeechRecognition.ahk */

#Persistent
#include *i %A_ScriptDir%¥ActiveX.ahk
ActiveX()

sr:=CreateObject("SAPI.SpSharedRecognizer")

context:=inv(sr,"CreateRecoContext")
grammar:=inv(context,"CreateGrammar")
inv(grammar,"DictationSetState",0)
rules:=gp(grammar,"Rules")

rule:=inv(rules,"Add","wordsRule",33,0)
inv(rule,"Clear")

init:=gp(rule,"InitialState")
AddWord(init,"close")
AddWord(init,"yes")
AddWord(init,"no")
AddWord(init,"ok")
AddWord(init,"cancel")

inv(rules,"Commit")
inv(grammar,"CmdSetRuleState","wordsRule",1)
inv(rules,"Commit")

ConnectObject(context,"SR_")
ReleaseL(sr,context,grammar,rule,init)

AddWord(pState,word){
inv(pState,"AddWordTransition",vNull(),word)
}
SR_Recognition(this,prm,r){
result:=evArgv(prm,3)
pi:=gp(result,"PhraseInfo")
txt:=inv(pi,"GetText")
if txt=yes
Send,!y
else if txt=no
Send,!n
else if txt=ok
ControlClick,OK,A
else if txt=cancel
ControlClick,キャンセル,A
else if txt=close
WinClose,A
Release(pi)
}

---------------------------
/* sample_UsingAhkCommandsFromJscript.ahk */

#include *i %A_ScriptDir%¥ActiveX.ahk
ActiveX()

MyClass_WinMaximize(this,prm,res,flags){
WinMaximize,% evArgv(prm,0)
}
MyClass_Send(this,prm,res,flags){
Send,% evArgv(prm,0)
}

;JScript
script=
(
AutoHotkey.WinMaximize("A");
Send("abcd{Shift Down}{Left 4}{Shift Up}");
)


sc:=CreateObject("MSScriptControl.ScriptControl.1")
pp(sc,"Language","jscript")
myobj:=CreateDispatchObject("MyClass_")
inv(sc,"AddObject","AutoHotkey",vObj(myobj),"true")
inv(sc,"Eval",script)

タグ:

+ タグ編集
  • タグ:
最終更新:2010年11月11日 01:14