!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そのものが不要になる
13名無しさん@お腹いっぱい。 (ワッチョイ e5b1-mnXZ)
2020/04/06(月) 04:21:20.13ID:8dTlIF+30 >>11
Includeするahk内で更にInclude出来るはずだぞ(その内容は「#Include 〜.ahk」だけでも良い)
だからメインahk(AutoHotkey.ahk)内でのInclude用ahkの名前は固定しといて
メインahkでそのahkファイルを書き換えすれば手直しは要らなくなると思う
例として、メインahkにIncludeするファイル名を「Include_ahk.ahk」とし
Include_ahk.ahk内は
-----------------------------------
#Include InputA.ahk
#Include InputB.ahk
-----------------------------------
↑の2行はメインahkのautoexecute内で検索→名前取得→書き込み処理を実行して
この処理の後に「#Include Include_ahk.ahk」を記述する
拙い説明 & 出来なかったらスマヌ
もしアレだったらMGLのスクリプトが参考になると思う
Includeするahk内で更にInclude出来るはずだぞ(その内容は「#Include 〜.ahk」だけでも良い)
だからメインahk(AutoHotkey.ahk)内でのInclude用ahkの名前は固定しといて
メインahkでそのahkファイルを書き換えすれば手直しは要らなくなると思う
例として、メインahkにIncludeするファイル名を「Include_ahk.ahk」とし
Include_ahk.ahk内は
-----------------------------------
#Include InputA.ahk
#Include InputB.ahk
-----------------------------------
↑の2行はメインahkのautoexecute内で検索→名前取得→書き込み処理を実行して
この処理の後に「#Include Include_ahk.ahk」を記述する
拙い説明 & 出来なかったらスマヌ
もしアレだったらMGLのスクリプトが参考になると思う
14名無しさん@お腹いっぱい。 (ワッチョイ e5b1-mnXZ)
2020/04/06(月) 04:28:36.79ID:8dTlIF+3015名無しさん@お腹いっぱい。 (ワンミングク MMa3-YctG)
2020/04/06(月) 10:48:05.12ID:Tm/x8Nf+M https://www.autohotkey.com/docs/commands/_Include.htm
マニュアル読み直してたらv1.1.28以降はErrorlevelとコマンドライン文字列以外のすべての組み込み変数が有効とあるね
Loop,Filesのローカル組み込み変数はどうなんだろ
もし使えるなら↓みたいにできるのかも(出先からのなので試してはいない)
#include %A_SprictDir%
Loop, Files, %A_SprictDir%\*.ahk, F
If (A_LoopFileFullPath != A_SprictFullPath)
#include %A_LoopFileName%
マニュアル読み直してたらv1.1.28以降はErrorlevelとコマンドライン文字列以外のすべての組み込み変数が有効とあるね
Loop,Filesのローカル組み込み変数はどうなんだろ
もし使えるなら↓みたいにできるのかも(出先からのなので試してはいない)
#include %A_SprictDir%
Loop, Files, %A_SprictDir%\*.ahk, F
If (A_LoopFileFullPath != A_SprictFullPath)
#include %A_LoopFileName%
16名無しさん@お腹いっぱい。 (ラクッペペ MM4b-j0VC)
2020/04/07(火) 09:25:32.40ID:s8mR46Q4M ↓以下テンプレ(微修正)
----------------------------
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part27
https://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
----------------------------
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part27
https://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【国内スマホ市場】Android端末が54%に伸長 値上げでiPhone離れか ★2 [蚤の市★]
- 「今まで何だったん」堀大輔氏 配信終了後に「ショートスリーパー」表記を削除→「睡眠時間は自由」に変更でネット騒然 [Ailuropoda melanoleuca★]
- 川口バイク男性死亡、トルコ国籍男に異例の実刑判決 1年6月さいたま地裁「危険な運転」 [少考さん★]
- 【野球/広島】菊池涼介が2年ぶりシーズン100安打!通算2000安打まで111本 [このもん★]
- 「お前たちはどうでもいい。ウシを死なせないよう暑さ対策をしろ」仙台市中央卸売市場の食肉卸売会社で社長のパワハラ横行か [えりにゃん★]
- 旭化成の半導体関連技術、中国企業に流出…元開発責任者の男を不正競争防止法違反容疑で逮捕 [蚤の市★]
- 【高市悲報】高市早苗「国連推奨の世界地図で北方領土がロシア領になってる!直せ!」国連「わかりました、日本語版は日本領にします」 [856698234]
- 【高市悲報】「東本願寺」と「西本願寺」ってどっちがツエーの🤨 [616817505]
- 【実況】博衣こよりのえちえちマリリシャホロ甲_2年目夏🧪🏴‍☠
- コロナ渦の日本「ワクチン打たずは非国民なり」→当時のこの空気感同調圧力跳ねのけたノーワクってナニモンだよ・・ [793117252]
- 【悲報】しぐれうい児童服コラボ中止 ロリ神レクイエムを歌ってしまったばかりに永遠とキャンセルカルチャーの標的にされてしまう [579392623]
- 【高市悲報】日本人「今日不細工とかを超えて怪物みたいな黒人家族を見かけた。なんでああいうのが日本に普通にいるようになったのか」 [771977901]