[過去ログ] AutoHotkey スレッド part30 IDのみ (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
603
(1): 2023/09/30(土)23:42 ID:KnLHxxU/0(1/2) AAS
>>597
単独で押されたら って書いているということは別の行に
無変換+何かのキーとかのスクリプトを書いているんじゃないの?
604
(1): 2023/09/30(土)23:47 ID:KnLHxxU/0(2/2) AAS
>602
{Blind}付けるなら +vk1c:: の行は要らないのでは?
605
(1): 2023/10/01(日)00:07 ID:aO5V046V0(1/2) AAS
>>602
無変換だけサンプルで
変換の方はわかると思う

vk1D::BS
+vk1D::Del ;Shift + 無変換でdel
;*^vk1D:: ;Ctrl + 無変換は受け付ける
;他の修飾キーと無変換の組み合わせを無効化
*!vk1D::
*#vk1D::
return
省3
606
(1): 597 2023/10/01(日)00:24 ID:5y0E7yg10(1/2) AAS
>>603
そうです。別の行に↓のようなスクリプトを書いています。

;「無変換+Q」が押されたら、「Alt+←」が押されたことにする(戻る)。
vk1D & q::Send,!{Left}
;「無変換+W」が押されたら、「Alt+→」が押されたことにする(進む)。
vk1D & w::Send,!{Right}

>>604
今、試してみましたが「+vk1c:: の行」を消すと、
「Shift+変換」を押したら、「Shift+Enter」を押したように動作しなくなります。

>>605
省5
607
(1): 2023/10/01(日)00:44 ID:aO5V046V0(2/2) AAS
>>606
無変換の単独押しでリピートしなくなる
他はいける
組み込んで試してみなよ
608
(2): 597 2023/10/01(日)08:03 ID:5y0E7yg10(2/2) AAS
>>607
おっしゃっていることがよく分かりません。

私は「無変換」を「修飾キー」として使った上で、
「無変換」単独押しをした時は(Backspaceキーとして)「キーリピート」をして削除し続けて欲しいのですが、
それはできないということでしょうか?
609
(1): 2023/10/01(日)08:09 ID:vJZ6he//0(1) AAS
>>608
無変換+q をやりたい時にまず無変換キーを押すと思うんだけど、
そこから1秒程度経過してしまったら自動的に削除リピートが始まって欲しいと?
610: 2023/10/01(日)09:14 ID:jCSy+5iI0(1) AAS
キートップの文字を書き換えたかのように、そのキーを完全に置き換える
どんな組み合わせで押しても置き換わって動作する

という挙動をahkで書くのはなかなか大変だけど、
yamyでは1行だったんだよな
611
(1): 2023/10/01(日)09:37 ID:1MOKFxYN0(1) AAS
>>608
修飾キーっていうのは単独押しでは作用しないから修飾キーなわけでしょ
例外はWinキーで、これは単独だと離したときにスタートメニューが発動するから成立している
これを無変換に当てはめるとすると、離したときにBSが発動してたらキーリピートになりようがない
だから前のレスで書いたように、押下時間でリピートになったり、修飾キーになったりみたいな
仕組みにする必要がある
ただBSなんかは瞬時に発動してくれないとイラつくだけだと思うんだよね
修飾キーのつもりで押したのに文字が消えたとか誤爆もあるし
612: 597 2023/10/01(日)10:23 ID:IXVZWApm0(1) AAS
>>609
その通りです。

>>611
分かりやすい例えをありがとうございます。

私の希望は複雑なコードを書けば実現できそうではあるけれども、実現できたところで誤爆の可能性が高くなるのでお勧めしないということですね。
分かりました。実現できたところで不便そうなので、現在のスクリプトのまま使い続けようと思います。
613
(1): 2023/10/01(日)18:48 ID:MIF/cMMY0(1) AAS
クリップボードに画像ファイルがコピーされた時に、それを開いて画像データをクリップボードに持つようにしたいのですが、どう書くのがいいでしょう?
powertoyでもできたりしますか?
614: 2023/10/02(月)07:50 ID:Y0OCwQiz0(1) AAS
>>613
正:それを開いて画像データをメモリに持つ
誤:それを開いて画像データをクリップボードに持つ
ということ?

Win10/11 以降の Snip & Sketch/Snipping Tool なら特に何もせんでも
頭36yte分の Clipborad の header/Signature? を読み飛ばしゃ PNG の
画像データがそのまま入ってる。

それ以前の場合はちょっと面倒で、歴史的経緯?でちょっと古い形式での
Windows BMPデータが入っているっぽいので色々と変換せんと、今どきの
BMPデータにならない。
615
(2): 2023/10/02(月)19:37 ID:tI65VkKa0(1) AAS
AHK v2 の fat arrow function は

() => expr

というフォーマットで、式だから 1行しか書けない

() => 123

{} が来る場合は JavaScript のように複数行書けたらいいのにな
省11
616: 2023/10/02(月)19:38 ID:4IbfaSx20(1/3) AAS
ahk v1.1です。
エクスプローラーで使用しています。
IME.ahk を使用しています。

文字入力中(名前の変更や検索欄入力)だった場合は、 a
そうでない場合は、+^a のスクリプトにしたいのですが
下記の方法だと文字入力中の判定がうまく出来ないので
教えていただきたいです。

a::
If IME_GetConverting() = 0 {
Send, +^a
省4
617: 2023/10/02(月)19:38 ID:4IbfaSx20(2/3) AAS
ahk v1.1です。
エクスプローラーで使用しています。
IME.ahk を使用しています。

文字入力中(名前の変更や検索欄入力)だった場合は、 a
そうでない場合は、+^a のスクリプトにしたいのですが
下記の方法だと文字入力中の判定がうまく出来ないので
教えていただきたいです。

a::
If IME_GetConverting() = 0 {
Send, +^a
省4
618
(1): 2023/10/02(月)19:38 ID:4IbfaSx20(3/3) AAS
ahk v1.1です。
エクスプローラーで使用しています。
IME.ahk を使用しています。

文字入力中(名前の変更や検索欄入力)だった場合は、 a
そうでない場合は、+^a のスクリプトにしたいのですが
下記の方法だと文字入力中の判定がうまく出来ないので
教えていただきたいです。

a::
If IME_GetConverting() = 0 {
Send, +^a
省4
619: 2023/10/02(月)22:31 ID:JWMVaWUA0(1) AAS
>>615
関数の形式で書かせてほしいよね
今でも一応は,で並べて書けるけどループを書こうとすると再帰呼出しになるし
まだ末尾呼び出し最適化がないから、ちょっと気にしながらになるのもなんかな
620: 2023/10/03(火)17:39 ID:2DNPH3ID0(1) AAS
>>618
あなたがやりたいことは>>581の方法で実装できます
ただし、検索欄等のキャレットは取得できないかもしれないので
その場合は ControlGetFocus でコントロール名を照合するなどの別のアプローチが必要になるかもしれません

蛇足ですが IME_GetConverting() は変換候補ウィンドウが表示されているかどうかを判別しているだけなので
直接入力時や変換未確定(文字列に下線が付いてるだけの状態)時は文字入力中と判断されません
また、IMEの仕様上の問題で別のプロセスから入力コンテキスト(変換中の情報)を取得することはできないので
外部アプリの文字入力中かどうかの判定にはそのアプリに適した様々な方法を試す必要があります
621
(1): 2023/10/03(火)19:30 ID:759jFrqH0(1) AAS
IME.ahkを有志が一部v2対応してた
外部リンク[ahk]:github.com

GETとSETのみ
622: 2023/10/04(水)18:56 ID:tIruFCPa0(1) AAS
重い腰を上げてようやくv2に移行したがv2最高だわ
普通の文法のプログラムが書けるというすばらしさ
v1のサポートさっさと打ち切ってネット上の醜いv1のコード駆逐してほしい
623: 2023/10/04(水)22:35 ID:kSzEGkao0(1) AAS
>>621
完全版
外部リンク[ahk]:github.com
624
(1): 2023/10/05(木)06:02 ID:bWuMkV3d0(1/2) AAS
>>615 です
関数本体を宣言できる機能が1ヶ月前に v2.1-alpha で追加されたみたいです

書き方は、
() => {}
ではなく、
() {}
こうするらしい
(たしかにこれだと breaking change にならない)

```
SetTimer(() {
省7
625: 2023/10/05(木)06:18 ID:bWuMkV3d0(2/2) AAS
v2-alpha のドキュメント
外部リンク:www.autohotkey.com

v2-alpha のダウンロード
外部リンク:www.autohotkey.com

v2-alpha のリリースノート
外部リンク[htm]:www.autohotkey.com
626: 2023/10/06(金)01:45 ID:ev1enbnj0(1) AAS
v2.1 の無名関数を試した
AHK の無名関数は、OTB style としての僅かな制約(最初の { で改行しないといけない)があるけど、
それ以外は普通に使える

無名関数がサポートされたことで、言語としての書き心地は JavaScript とかなり近くなった
無名関数が使えると発想も変わるし、多用もする機能なので、
実質的には v2.5 くらいの変化に感じる
627: 2023/10/06(金)05:15 ID:jYxejNZf0(1) AAS
fat arrowで無理やり書いてたのから開放されるのか
三項演算子覚えたてみたいな見た目になるから嫌だったんだよ
628
(1): 2023/10/07(土)19:31 ID:9zvIUWci0(1/2) AAS
v2.1 では、unset というもの(JavaScript の undefined のような)が導入された

これまで、引数のデフォルト値などは 0, -1, '' あたりを代入してごまかすしかなかったけど、unset できれいに(普通に)書けるようになった

```
; これまでの書き方
myFunc(a, b := '') {
if b != ''
do something
}

; v2.1
myFunc(a, b := unset) {
省15
629: 2023/10/07(土)19:32 ID:9zvIUWci0(2/2) AAS
JavaScript のように a === undefined とは書けず、IsSet(a) と明示的にチェックする必要があるという違いがあるけれど、undefined のようなものが使えるようになった、という話

なぜ IsSet() で明示的なチェックが必要なのかというと、JavaScript の(strict mode の)場合は a という変数が存在して(宣言はされていて)その値が undefined だけど、AHK v2.1 の場合は、a := unset とすると、a という変数自体は存在しないまま
IsSet() は、変数の値が unset かどうかをチェックしているのではなく、変数自体が存在するかをチェックしているからだろうと思う

このことと関連して、デフォルト引数で unset を代入したとき、その引数を他の関数に渡したい場合は次のように書く

```
myFunc(a := unset) {
myAnotherFunc(a ?? unset)
; myAnotherFunc(a) だと、a が unset のとき、a という変数自体が存在しないのでエラーになる
}
```
630
(1): 2023/10/07(土)19:53 ID:p00Uoc4y0(1) AAS
めんどくさいだけでメリットを感じない
631
(1): 2023/10/08(日)13:05 ID:SBMAHfMn0(1/2) AAS
>>628
その辺り一部は2.0.10でも使えて便利
それと別の関数に渡すやつはmyAnotherFunc(a?)でいいのでは

>>630
あったらいいなが自分に来るまでなくてもいいやつなんで
メリットを感じないならスルーで問題ないよ
632: 2023/10/08(日)13:53 ID:SBMAHfMn0(2/2) AAS
なんかこれ系使ってるの書いたなと思って探してきた
前にループでRangeを使いたいって話があった後、自分でも範囲指定のが欲しくなったときのやつ

; PythonのRangeみたいなやつ(forで使うことしか考えてない)
Range(start?, stop?, step?) {
s := Integer(step ?? 1)
if !IsSet(start) && !IsSet(stop) && !IsSet(step)
c := 1 - s ; Range()
else if IsSet(start) && !IsSet(stop) && !IsSet(step)
c := 1 - s, m := Integer(start) ; Range(stop)
else if IsSet(start) && IsSet(stop)
省5
633
(1): 2023/10/08(日)23:51 ID:yx819iOD0(1) AAS
>>631
ほんとだ
myAnotherFunc(a?) でよかった
634
(3): 2023/10/13(金)20:31 ID:lUFs50Mf0(1) AAS
v2使ってます
ダブルクオーテーションで囲んだ変数を展開する方法はあるでしょうか?
調べてみたらv1の頃はできたっぽいんですが…

以下は例で、本当にやりたいのはテキストファイルに書いておいた文字列が含む変数を展開することです

v := "「A_AhkVersion」"
MsgBox v ; A_AhkVersionと表示されるのを2.0.10とかにしたい
635
(1): 2023/10/13(金)21:09 ID:kszrn8gL0(1) AAS
無変換(SC07B)+変換(SC079)+o
はどうやって書けばいいでしょうか?

~SC079 & SC07B & o::
は動きませんでした
636
(1): 2023/10/13(金)22:58 ID:1crCpIhe0(1) AAS
>>634
外部リンク[htm]:ahkscript.github.io

>>635
修飾キー(Ctrl、Shift、Alt、Win)以外の3つ以上のコンビネーションキーはサポートされていない
ホットキーを2つまでにして、#IF または ホットキーの処理内で GetKeyState で3つ目以降のキー状態を取得して分岐させることは可能ではあるが
そもそも使用中のキーボードによっては修飾キー以外のキーは3つ以上の同時押しを認識できない場合も多々あるのでそこら辺は環境による
637
(2): 2023/10/13(金)23:04 ID:ERs/JTAS0(1) AAS
>>634
外部リンク[htm]:www.autohotkey.com

これv1の時からTransform廃止するからこんな感じの関数でやってねって言ってたけど
関数内ローカルの展開に使えなくてTransformの代わりにならない
638
(2): 2023/10/14(土)00:58 ID:iMxXiXwK0(1/2) AAS
>>636
ありがとうございます
アドバイス通りにやったらうまくいきました

#If GetKeyState("SC07B", "P") && GetKeyState("SC079", "P")
i::
SendInput, {Up}
return
#if

ところが次の問題が~sc079 & i::を設定していると動かなくなります
同時併用はできないでしょうか?
639
(1): 2023/10/14(土)08:08 ID:DXkbEwUP0(1) AAS
>>638
SC079 & i::
if(GetKeyState("SC07B", "P")){
;処理A
} else {
;処理B
}
return
とかどう?
640
(1): 2023/10/14(土)08:39 ID:281ftA3E0(1/2) AAS
>>638
実際にどういう書き方をしているかはわからんけど、おそらく #If が同条件での発動になってて ~sc079 & i:: の方が優先されているだけだと思う
やり方は色々あるけど一例としてこんな感じでも動く

#If !GetKeyState("SC07B", "P")
~sc079 & i::SendInput, {Down}
#If

#If GetKeyState("SC07B", "P") && GetKeyState("SC079", "P")
i::SendInput, {Up}
#If
641
(1): 2023/10/14(土)09:17 ID:3TcJyM+70(1/2) AAS
>>637
どうにかならないかと思ったけどあんまりどうにもならなかった
ローカル変数を扱いたいときだけ列挙してクロージャにして渡して
MsgBox Deref("%var1%def%var2%", varName => (var1, var2, %varName%))
関数定義のところで受け取って
Deref(Str, derefFunc?)
途中のderef部分を
out .= IsSet(derefFunc) ? derefFunc(m[2]) : %m[2]%
みたいな
642
(1): 2023/10/14(土)13:14 ID:281ftA3E0(2/2) AAS
>>634
636だけどちょっと読み違えてた。そういうことをやりたいならこんな感じで変数にしたい文字列を置き換えるかな…

v := "「A_AhkVersion」「A_YYYY」"
for var in ["A_AhkVersion", "A_YYYY"]
v := RegExReplace(v, var, %var%)
MsgBox v

連想配列を用いる方法もある。一見冗長に見えるがプログラミング的に推奨されるのはこちらの方だと思う
variables := Map("A_AhkVersion", A_AhkVersion, "A_YYYY", A_YYYY)
for key in variables
v := RegExReplace(v, key, variables[key])
省6
643: 2023/10/14(土)17:31 ID:iMxXiXwK0(2/2) AAS
>>639
ありがとうございます それで完璧に動作しました!

>>640
ありがとうございます アドバイス通り競合していたみたいです
644: 2023/10/14(土)21:33 ID:3TcJyM+70(2/2) AAS
>>642
元の質問とは別で>>637の挙げてるドキュメントの話だって説明ないとわかりにくかったね、今度から気をつけるわ
> 手段が目的化 はまさにそれで、パズル感覚でどうにかならないかなと考え始めたんで
Transformについては自分も同意するところ
645: 633 2023/10/15(日)13:03 ID:/B+GGiqI0(1) AAS
お返事をくださった皆さん、ありがとうございました
書き忘れてましたがv1でのやり方はご指摘の通りTransformでした
使う変数は組込変数で、使う場面も限定されるので、連想配列で工夫したいと思います
646: 2023/10/15(日)15:47 ID:TKXXnipr0(1) AAS
外部リンク[htm]:www.autohotkey.com
だいぶ前のレスで上記URLを参考にしたと思われる
v2でのヒアドキュメントが変数を絡めると見にくくなる話が出てたが
継続行開始と終了の()の内側に"入れ改行位置を分けてやればいけることに気がついた

F1:: { ; 公式ドキュメントの例に則った記述
MsgBox("
(Join
現在のバージョンは「
)" A_AhkVersion "
(
省15
647: 2023/10/16(月)06:27 ID:HnFsiC+R0(1) AAS
なんか無理やりヒアドキュメント使いたいってだけで本末転倒なんよ
最初の例だと

F1:: {
MsgBox(
"現在のバージョンは「"
A_AhkVersion
"」です。"
,"テストメッセージ"
)
}
省2
648: 2023/10/16(月)10:20 ID:Bz5r9zRC0(1) AAS
なにがなんでもv2の欠点を欠点と認めない人がずっと頑張ってるけど
その行為なんかメリットある?
649: 2023/10/16(月)11:38 ID:Wb0gkuWM0(1/2) AAS
v3まで待つしか
650: 2023/10/16(月)12:44 ID:JfuEMiXm0(1) AAS
v1のヘンタイコードに対応することは二度とないよ
651: 2023/10/16(月)16:43 ID:eNxVDezc0(1) AAS
過去の資産のあるゴミ言語から
資産のないゴミ言語になった
652: 2023/10/16(月)16:50 ID:Wb0gkuWM0(2/2) AAS
先進性があるならともかく、どっかで見たような言語を再開発する意味とは
653: 2023/10/16(月)18:31 ID:dLR3pMBg0(1) AAS
AA省
654: 2023/10/16(月)19:09 ID:pPRJ1RqD0(1) AAS
この仕様を見ていると変数展開させて使うって人は
ほとんどいないんだろうなと思うわ
PowerShellみたいにした方が良いのに
655: 2023/10/16(月)19:19 ID:YfG7lbKB0(1) AAS
pythonのf文字列も実装遅かったしな
前からあったアイディアなのに採用しなかったということは、意図的に避けたんだろう
656
(2): 2023/10/17(火)19:53 ID:v6kMRlAv0(1) AAS
右クリックだけの時は普通に右クリックして、
右クリック+ホイールの上下でブラウザの拡大縮小をやりたいんですが
下のマクロだとマウスクリック+ホイール上下で拡大縮小と右クリックメニューが同時に出ます
また、ブラウザのマウスジェスチャが効かなくなります。
どうやって修正したらいいですか。

RButton::RButton
return

RButton & WheelUp::
SendInput, {RButton}^{-} ; マウスの右クリック + ホイール上でCtrl+「-」が送信される
return
省3
657: sage 2023/10/17(火)21:25 ID:hsUb4Jn70(1) AAS
右クリックメニューが最後出てもいいなら

WheelUp::
if GetKeyState("RButton")
SendInput {ctrl down}{WheelUp}{ctrl up}
else
SendInput {WheelUp}
return

WheelDown::
if GetKeyState("RButton")
SendInput {ctrl down}{WheelDown}{ctrl up}
省3
658: 2023/10/17(火)22:29 ID:zT0TFsHP0(1) AAS
MouseGestureLならMG_CancelDefBehavior()で右クリックメニューを抑制できるから
AutoHotkeyでも出来るだろうね
659: 2023/10/17(火)22:39 ID:pYkaTV7l0(1) AAS
>>656
個人的な見解で申し訳ないが…

>ブラウザのマウスジェスチャが効かなくなります。
このように不都合なことが起こりかねないから
1)ブラウザ側のマウスジェスチャだけでやる
か、
2)ブラウザの機能を無効にして外部マウスジェスチャツール(例えばMouseGestureL.ahk)だけでやる
かどっちかにした方が良いよ思うよ

2)だとブラウザの操作がショートカットキーで全て実現できるならマウスジェスチャツールでも実現できるし
 そのブラウザだけじゃなく他のアプリでも個別に設定したマウスジェスチャで操作できる利点があるし
660: 2023/10/18(水)00:50 ID:6hRvblQL0(1) AAS
>>656
一行目でメニュー抑止してるのに
再び{RButton}発行したらメニューが出るにきまってるだろ
こうすんだよ
SendInput, ^{-}
661
(2): 2023/10/20(金)17:07 ID:xwrdv7kg0(1) AAS
解決策がさっぱりわからない事でみなさんのご意見伺おうと整理して文章書いてたら解決してしまった…
662: 2023/10/21(土)00:14 ID:QsqkSmLl0(1/2) AAS
>>661
あるある
663: 2023/10/21(土)00:15 ID:QsqkSmLl0(2/2) AAS
>>661
あるある
664: 2023/10/21(土)07:27 ID:uDJeYMX30(1) AAS
書くと考えが整理されるよね
665: 2023/10/21(土)08:58 ID:670MOFi40(1/3) AAS
変な話だけどコーディングは漢字の書き取りみたいに
不細工でもいいから手で繰り返し書くと習得が早まるのはあるな
コピペだけしているようだと全然仕組みを覚えない
666
(1): 2023/10/21(土)10:25 ID:qkI01+t50(1/3) AAS
改行を\nではなく`nにしないといけない理由って何だっけ
667: 2023/10/21(土)10:57 ID:A46hLlw90(1) AAS
>>666
外部リンク[97]:ahkwiki.net
668: 2023/10/21(土)11:12 ID:670MOFi40(2/3) AAS
Windowsのコマンドラインと干渉させないためでしょ
例えば、\note というディレクトリが誤判定される危険性がある
\\でエスケープすればいいじゃんって見解もあるが
Windowsで既に用いられてるからね(例えばレジストリトファイル)
それをエスケープしようとすると\\\\のエスケープ地獄に陥るから
変えるのは妥当
どうしても嫌ならエスケープ文字を変えるオプションもあったはず
全くお勧めしないけど
669: 2023/10/21(土)11:18 ID:670MOFi40(3/3) AAS
レジストリトファイル

レジストリ ファイル
670
(1): 2023/10/21(土)11:46 ID:qkI01+t50(2/3) AAS
他の言語と同じ方法にしとけばいいのに、独自路線を選ぶんだよな
誰も気付かなかったうまいやり方見つけちゃった
ちげーよ、デメリットがでかいから誰もやらないだけだよ
671
(1): 2023/10/21(土)12:02 ID:PFRfZnbl0(1) AAS
「"」はなんで「`"」じゃダメだったんだろう
672
(1): 2023/10/21(土)12:31 ID:Ls2E16c40(1/3) AAS
最近使い始めてどうしても意味がわからない事がありお教えて頂きたいのですが例を見ると二行目とか三行目の最初10個くらいスペース空けています
あれは必ず何個空けないといけないとか空けずに書くと弊害が起きるとか理由や意味があるからなってるんですよね?
空けずに左端から書くのがわかりやすいし書きやすいと思ったのですけどルールがあるならちゃんと知っておきたいと思って質問させて頂きましたサンプルなどを見てやっているのでV1です
よろしくお願いします
673: 2023/10/21(土)12:32 ID:qkI01+t50(3/3) AAS
:= も同様の拘りなんだよな
何故かデファクトスタンダードに逆らってイキりたがる
= は曖昧だから:=と==だけにします、なら判る
= は既によく判らん用途に使ってるからとか基本設計がおかしい
674: 2023/10/21(土)12:39 ID:MgetEplM0(1/2) AAS
>>670
独自つーかPowerShellに合わせただけだろ
ちょっと前に改行位置にいちゃもん付けてた人いたけど同じ人?

>>671
これもPowerShellに合わせた結果っぽいけど
PowerShellもエスケープの仕方色々あってperl式もできるけど正式には「`"」だな
更新の過程でそうなったのかもしれんけどPowerShellの歴史には詳しくないので分からん
AHKv2では「`"」になったな
675: 2023/10/21(土)12:42 ID:uwWEvv0P0(1) AAS
v1の頃に決まった話になると、そんな小さいことに目くじら立てるどころじゃない気が
20年くらい前で他の同系統の言語も同じようなものとはいえツッコミどころが山盛りでは
676
(1): 2023/10/21(土)12:47 ID:MgetEplM0(2/2) AAS
>>672
基礎すぎてほぼスレ違いなんで「コーディング インデント」とかで検索して
ちなみにAHKはインデント必須な言語ではない
677: 2023/10/21(土)15:26 ID:Ls2E16c40(2/3) AAS
>>676
レスありがとうございます
見やすくする為でAHKは必須では無い
じゃあ1個くらいで良いかな
どうもありがとうございました
678
(1): 2023/10/21(土)21:30 ID:9BoGHaTl0(1) AAS
見やすくというか
読みやすくというか
理解しやすくというか
679: 2023/10/21(土)23:29 ID:Ls2E16c40(3/3) AAS
>>678
レスありがとうございます
どこからどこまでがどれか、みたいな事を見やすくして理解しやすくするって事ですよね
680: 2023/10/23(月)03:03 ID:WlJrDHiJ0(1) AAS
\\\\のエスケープ地獄は、たしかにちょっとつらい
なので ` でエスケープする妥当性はわかる
けど、JavaScript のように `` を文字列のリテラルとして使えるともっと嬉しかった
変数置換ができるなら更に嬉しい
(変数置換ができないとしても、' も " もエスケープなしで記述できるだけでも嬉しい)

AHK の無名関数は、JavaScript のように () => {} こうは書けず、() {} こう書く必要がある >>624
AHK は JavaScript を参考にしつつも、微妙に追随できていなくて、独自路線(しかもちょっと残念な)があるのが、たしかにちょっと残念に思う
個人的には、ここまで JavaScript を参考にしているなら、基本的に JavaScript と同じにして、
JavaScript + AHK 用の関数群という形にしてほしいと思う
v3 ではそうなるといいなと思う
681: 2023/10/23(月)08:16 ID:YDc6e+fm0(1) AAS
> JavaScript + AHK 用の関数群
これってたしか日本の人がそういうの大分前に作ってたよね
ちょっと検索しても出なかったけどやめちゃったのか
682
(1): 2023/10/23(月)21:54 ID:9tna838Y0(1) AAS
v2公式でGUIにHTML/CSS/JSサポートしてくれたらいいのになぁ
683
(1): 2023/10/24(火)02:00 ID:LXOelMg+0(1/2) AAS
ahkにキーボードマクロ機能ってあったりするのでしょうか?
具体的には、レノボ トラックポイントキーボードIIで、
起動時にFn+Escを自動で押したいのです
このキーボードでファンクションキーはデフォルトで機能キーが割り当てられていて、
ファンクションキーとして使うためには起動毎にファンクションロックしてやらないとダメなのを自動化したいのです
ベクターのキーボードマクロをいくつか試したのですが、
Fnキーみたいなキーボード個別の特殊キーに対応したのが見つけられません
ahkならキーコード拾えそうなので質問してみました
よろしくお願いいたします
684: 2023/10/24(火)02:56 ID:LXOelMg+0(2/2) AAS
>>683自己レス
どうやらこのFnキーはPCにはキーコードを発出しておらず、キーボード内で完結しているみたい
こりゃPC側で何やっても無理ですね
レノボに要望出すくらいかできることはなさそうです
お騒がせしました
685
(1): 2023/10/24(火)03:07 ID:XK3z8D+O0(1) AAS
>>682
HTML を表示できるコンポーネントが使えたら便利そうだね
686: 2023/10/24(火)07:13 ID:35rovyz10(1) AAS
Fnキーはどこもステルスだが
つーか使いにくいからFnキーとして置かなくても別キーとかでも良いのに、手前に陣取って邪魔なんだよな
687: 2023/10/24(火)08:38 ID:Peo0Ada/0(1) AAS
Ctrlとかと誤爆しやすい位置にリマップ不可なFnなんて、悪意しか感じん
688: 2023/10/24(火)10:26 ID:Hn9xTC4v0(1/2) AAS
ノートPCはディスプレイとキーボードを外付けして使うのが正解
689: 2023/10/24(火)10:43 ID:hLY2TQAp0(1/2) AAS
ノートって今は中途半端すぎて売り上げ落ちているらしいな
スマホとかUSBメモリとかクラウドとか理由はいろいろあるんだろうけど
690
(1): 2023/10/24(火)11:02 ID:Hn9xTC4v0(2/2) AAS
うちの会社はフリーアドレス化したのでノートじゃないと無理だな
キーボード繋がせて欲しい
アプリケーションキーが存在しないとか意味判らん
691: 2023/10/24(火)11:42 ID:hLY2TQAp0(2/2) AAS
AppsKeyは右クリが壊れた時に使ってたわ
あの時はアプリによっては右クリでしか呼び出せないメニューがあることに気づいいて
UI設計の大切さを学んだわ
692: 2023/10/24(火)12:35 ID:utY4MNcR0(1) AAS
ThinkPadキーボード、Fnキー、Appsキーの話になってるので質問させて下さい
キーボードをThinkPadキーボードに変えたらやらないといけない事が出来たので何かアドバイスお願いします

ThinkPadキーボードは旧型のUSB接続
今まではAppsキーに二回押したらEscを割り当てていました(サンプルコード集参照)
ThinkPadキーボードに右クリボタンがありAppsキーは無いので記述をRbuttonに書き換え
これで以前と同じ使い心地になる…と思ったらそうではありませんでした
例えばファイルやメールにフォーカスがある時、Appsキーならカーソルがどこにあってもそフォーカスの物に右クリメニューが出ますが右ボタンだとカーソルのある場所の右クリメニューが出る
それは当たり前ですが、その使い方を望んではおらず
じゃあRbuttonをAppsキーにすればとも思いましたが、それだとマウス自体の右ボタンの挙動も変わってしまう
それも望んでいない
省5
693: 2023/10/24(火)12:41 ID:acf7AARQ0(1) AAS
>>690
BTキーボードくらい繋がるでしょ
694
(1): 2023/10/24(火)14:02 ID:7EB3AWV+0(1) AAS
キーAを押しながら、キーBを押すって動作をスクリプトに書いた場合、
Aを押した状態でB以外の入力を受け付けなくなるのって回避方法ある?
695
(1): 2023/10/25(水)00:46 ID:xHwpED+J0(1) AAS
>>685
あった
けどtridentつかってるw
外部リンク[ahk]:github.com
696: 2023/10/25(水)07:18 ID:0tfdF69F0(1) AAS
>>694
キーAとキーBは何キーですか?
697
(3): 2023/10/25(水)20:18 ID:BMAQsHQh0(1) AAS
質問です。Potplayerをバックグラウンドで操作したいのですが以下のスクリプトでは動作しません。アドバイスお願いします。 v1.11.11

!enter::
DetectHiddenWindows, On
ControlSend, ahk_class, {space}, ahk_class PotPlayer
return
698
(1): 2023/10/26(木)20:39 ID:stdJKV+p0(1) AAS
その第一引数はなんなの
699
(1): 2023/10/27(金)17:11 ID:W6kx2B0a0(1) AAS
cmdでif必要なときはbatかahkで書いてたけど、|使って論理演算子作れるの発見して驚愕してる
wikiのRunに書いてほしかった…
700: 2023/10/27(金)18:13 ID:Gr5vROVq0(1) AAS
これと、
Run / RunWait - Syntax & Usage | AutoHotkey v2
外部リンク[htm]:www.autohotkey.com
これの組み合わせってこと?
Variables and Expressions - Definition & Usage | AutoHotkey v2
外部リンク[htm]:www.autohotkey.com
701
(1): 2023/10/28(土)04:22 ID:MaaLhlYz0(1) AAS
|単体のパイプだとわからないけど、&や&&や||でコマンドライン1行に複数コマンドを書く話?
それならAutoHotKeyじゃなくてWindowsのcmdの解説だからwikiに書いてないのでは
702: 2023/10/28(土)05:36 ID:JXkBTMwt0(1) AAS
>>699
もう少しわかりやすく書いてほしい
1-
あと 300 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.527s*