!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
AutoHotkey スレッド part28
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
2020/04/03(金) 18:35:06.00ID:/YRSlUCD02名無しさん@お腹いっぱい。 (アンパンW 2b7e-zxou)
2020/04/04(土) 14:55:58.71ID:oDQUgnR500404 いちもつ
3名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 12:03:16.10ID:GWmWDwN30 Include先も含め、AutoHotkey.ahkに関係するホットキー全体で
変数を共有するためには、その都度IniReadするしかないですか?
グローバル変数的な何かはないのかなと。
可能なら、AutoHotkey.ahkからのInclude先AHKファイルで定義した変数を共有したいのですが。
下のような構成で、bを押したときにaaAAaaと表示させたい
[AutoHotkey.ahk]
#Include a.ahk
#Include b.ahk
Return
[a.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
[b.ahk]
b::MsgBox, % AAA
変数を共有するためには、その都度IniReadするしかないですか?
グローバル変数的な何かはないのかなと。
可能なら、AutoHotkey.ahkからのInclude先AHKファイルで定義した変数を共有したいのですが。
下のような構成で、bを押したときにaaAAaaと表示させたい
[AutoHotkey.ahk]
#Include a.ahk
#Include b.ahk
Return
[a.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
[b.ahk]
b::MsgBox, % AAA
4名無しさん@お腹いっぱい。 (ワッチョイ 6511-eEke)
2020/04/05(日) 12:48:56.56ID:KUQx6rxd0 脳内で書いてないで実際に動かしてみなよ
5名無しさん@お腹いっぱい。 (ワッチョイW 25e5-HXgt)
2020/04/05(日) 15:14:23.10ID:fo7yX2Dr0 その状態でAutoHotkey.ahkを動かす分にはいける
[AutoHotkey.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
b::MsgBox, % AAA
Return
includeは全てAutoHotkey.ahkとして展開されるので↑と同義になるから
ただしaとbのincludeを逆にしたらautoexrcuteが働かない
includeの位置は要注意
[AutoHotkey.ahk]
b::MsgBox, % AAA
AAA := "aaAAaa"
a1::Return
a2::Return
Return
あと当然だが a.ahk / b.ahk を単体起動した時はAutoHotkey.ahkから起動した時のようには動作しない
[AutoHotkey.ahk]
AAA := "aaAAaa"
a1::Return
a2::Return
b::MsgBox, % AAA
Return
includeは全てAutoHotkey.ahkとして展開されるので↑と同義になるから
ただしaとbのincludeを逆にしたらautoexrcuteが働かない
includeの位置は要注意
[AutoHotkey.ahk]
b::MsgBox, % AAA
AAA := "aaAAaa"
a1::Return
a2::Return
Return
あと当然だが a.ahk / b.ahk を単体起動した時はAutoHotkey.ahkから起動した時のようには動作しない
6名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:49:19.64ID:GWmWDwN30 >>5
わかりました、ありがとうございます。
Includeは内容を展開しているだけだったのですね。
まずInclude元でAutoexecuteが開始し、Includeがあればその先のReturnまでAutoexecuteされ、
またInclude元に戻って、そのInclude元のReturnまではAutoexecuteされるものだと思っておりました。
自分のスクリプト郡は、Include先でReturnがあったためにそこでAutoexecuteが終わってしまっていた訳ですね。
わかりました、ありがとうございます。
Includeは内容を展開しているだけだったのですね。
まずInclude元でAutoexecuteが開始し、Includeがあればその先のReturnまでAutoexecuteされ、
またInclude元に戻って、そのInclude元のReturnまではAutoexecuteされるものだと思っておりました。
自分のスクリプト郡は、Include先でReturnがあったためにそこでAutoexecuteが終わってしまっていた訳ですね。
7名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:49:56.54ID:GWmWDwN30 ところで以下ような感じに、ファイルごとに役割を分け、
またそれぞれのファイル内でしか使わない変数はそのファイル内に収めておきたいのですが、
その方法はありますでしょうか?(下の構成ではInputA.ahkの2行目でAutoexecuteが終わってしまいますよね。)
あまり美しくないですが、AutoHotkey.ahkの先頭にVariables.ahkのようなものをIncludeして、そこで変数リストを作るとかしかないですかね?
[AutoHotkey.ahk]
#Include InputA.ahk
#Include InputB.ahk
またそれぞれのファイル内でしか使わない変数はそのファイル内に収めておきたいのですが、
その方法はありますでしょうか?(下の構成ではInputA.ahkの2行目でAutoexecuteが終わってしまいますよね。)
あまり美しくないですが、AutoHotkey.ahkの先頭にVariables.ahkのようなものをIncludeして、そこで変数リストを作るとかしかないですかね?
[AutoHotkey.ahk]
#Include InputA.ahk
#Include InputB.ahk
8名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/05(日) 16:50:06.91ID:GWmWDwN30 [InputA.ahk]
textA := "A"
a::MsgBox, % textA
d::MsgBox, % (textA . "D")
[InputB.ahk]
textB := "B"
b::MsgBox, % textB
c::MsgBox, % (textB . "C")
textA := "A"
a::MsgBox, % textA
d::MsgBox, % (textA . "D")
[InputB.ahk]
textB := "B"
b::MsgBox, % textB
c::MsgBox, % (textB . "C")
9名無しさん@お腹いっぱい。 (ワッチョイ 25e5-4JbH)
2020/04/05(日) 17:54:59.11ID:fo7yX2Dr0 test
10名無しさん@お腹いっぱい。 (ワッチョイ 25e5-4JbH)
2020/04/05(日) 18:08:01.88ID:fo7yX2Dr0 イニシャライズを各AHK内で完結させたいならsubかfunctionにしてcall
ただし全体のグローバル変数であるという事実は変わらんが
エラった時のpastbin AHKのハイライトもあるのね
https://pastebin.com/dkUfkDTj
ただこれだと一時的に#includeをコメントアウトで外したいときにautoexecuteの
手直しも必要になるので islabel() isfunc() を入れたほうがいいかも
ただし全体のグローバル変数であるという事実は変わらんが
エラった時のpastbin AHKのハイライトもあるのね
https://pastebin.com/dkUfkDTj
ただこれだと一時的に#includeをコメントアウトで外したいときにautoexecuteの
手直しも必要になるので islabel() isfunc() を入れたほうがいいかも
11名無しさん@お腹いっぱい。 (ワッチョイ cb76-8H9x)
2020/04/06(月) 01:59:36.99ID:QgAFECbT0 >>10
なるほど確かにこれなら実現できますね!
ありがとうございました、とても勉強になりました
ところで下のようにしてみたのですが、#Include では変数が使えないみたいですね。
何かいい案はないでしょうか?
というのも、実際は10以上のファイルがあるので、ダラダラ書くよりLoopで回したいものでして・・・
https://pastebin.com/g2Gc1cDU
なるほど確かにこれなら実現できますね!
ありがとうございました、とても勉強になりました
ところで下のようにしてみたのですが、#Include では変数が使えないみたいですね。
何かいい案はないでしょうか?
というのも、実際は10以上のファイルがあるので、ダラダラ書くよりLoopで回したいものでして・・・
https://pastebin.com/g2Gc1cDU
12名無しさん@お腹いっぱい。 (ワッチョイW 25e5-HXgt)
2020/04/06(月) 03:45:46.30ID:pNj6d1Pb0 無理だが
いっそ関数ライブラリ化して全部 %A_ScriptDir%/Lib に押し込むという手もある
したらincludeそのものが不要になる
いっそ関数ライブラリ化して全部 %A_ScriptDir%/Lib に押し込むという手もある
したらincludeそのものが不要になる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市政権、米国産ジャガイモ輸入解禁協議、最終工程へ [バイト歴50年★]
- 「民主改革の会」支持率0%、中道改革連合が政党交付金の未交付分11億円受領「納得できない」80%…読売世論調査 [煮卵★]
- 米の中距離弾撤去、日本に要求 ロシア [首都圏の虎★]
- 【速報】農水省によると、コメ5キロの平均店頭価格が2年ぶりに2000円台となった [蚤の市★]
- 副大臣に今井絵理子氏ら 政務官に生稲晃子氏、森下千里氏ら 第3次高市改造内閣 官房長官が名簿を発表【全員掲載】★3 [煮卵★]
- 【おしり】駅のエスカレーターで女性の尻触る 男「これで勘弁して」2千円差し出し立ち去る 尼崎 [nita★]
- 患者・医師団体、ロキソニン等を保険適用外にした高市早苗にブチギレ「患者の99%が38円で貰えた薬が1800円に」「無いと仕事にならない」 [856698234]
- 【速報】『みいちゃんと山田さん』アニメ製作委員会、声明を発表「差別する意図はない」 うおおおおおおお!!!! [746833765]
- バス運転手「日本人はクレーム・カスハラばかりの糞客だから辞めます😪。日本人は性格悪いゴミ民族😠」 [441660812]
- X女性「女の子に言いたい。40代以上で独身の男、危険だから絶対に関わっちゃダメ。最悪殺される」10万いいね、賛同の嵐 [343591364]
- 【高市ホクホク速報】米エコノミスト「過去の傾向からFRBはおそらくもう一回利上げする。0.25%だと効果がないから」このままだと160円か [996534393]
- 【高市悲報】名古屋のアジア大会、もうめちゃくちゃ [834922174]