/* 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