AutoHotkey スレッド part29
■ このスレッドは過去ログ倉庫に格納されています
!extend:vvvvv:1000:512
!extend:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part28
https://egg.5ch.net/test/read.cgi/software/1585906506/
■日本語解説等
AutoHotkey Wiki
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/
■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt
※テンプレここまで
VIPQ2_EXTDAT: default:default:1000:512:: EXT was configured >>609
誰にも伝わらない文章しか書けないコミュ障ならお前が消えろ ↑
結局、わからずに暴言ゴミレスを書き込むバカ
バカに用は無い
バカは消えろ
バカが… >>611
バカはお前だろw
ファイル上書きしといて「反映されたくない」とかやってる事と言ってることが支離滅裂
誰もお前の言ってることなんて理解できないし解決策なんて無いからお前がここにいる意味も無い
だからさっさと消えろアタオカw >>612
お前はもういいから…
プログラミングができないバカシロートに用は無い
バカが… >>613
俺じゃなくても誰ももうお前の望む返事なんて貰えねえよざまぁwwww
キチガイはさっさと消えろ >ファイル上書きしといて「反映されたくない」とかやってる事と言ってることが支離滅裂
ほんこれだな
その癖してこの態度だしまじで頭おかしい >プログラミングができないバカシロートに用は無い
言うほどプログラミングに関係ある質問だったか? だからそいつは荒らしだから構うなって
最初からおかしい奴って分かってるだろ
荒らされるだけなんだから何も教えるな
>>559,563,564
何でそんなおかしなこと考えるんだってこと聞いてくる
教えてやるとまた意味不明なこと言いだして
しまいには逆ギレでふざけた態度
こんな奴他にいない
色んなスレで自演して荒らしてるから追い出せ https://egg.5ch.net/test/read.cgi/software/1524647289/196-221
前からバカでおかしな奴がいることに気づいてる人は多いみたいだけど
そいつけっこう前からここにいて、今はMouseGestureL.ahkスレにもいる荒らしなんだ
追い出されて次は本格的にここを荒らすと思うから気をつけてな こんなに分かりやすい特徴なんだからフォトガイジに釣られるなよ
・信じられないくらいものすごい低能
・理解力が乏しすぎる
・人の発言はおろか自分の発言すら理解していない
・悪い意味で普通の人にはできない奇抜な発想
・MGL以前の問題でつまずいてる
・どうでもいいことをやりたがる
・MGL以外でできることも何でもMGLでやりたがる
・他スレでやる問題やおま環をMGLのせいにしてる低能
・やたら質問が多い
・続けて質問してくる
・クソな内容のくせにしつこすぎる
・めちゃくちゃめんどくさい性格
・異常に神経質
・常識的な良案を教えてもらっても独自のくそな考えに執着
・独自のくそな考えに反する意見が出ると納得したふりをしてすぐに終わらせる
・教えてもらったのに自演をして文句を言う
・感謝するふりをして自演をして文句を言う
・何年も色んなスレを荒らす自演常習犯
・自作自演で質問と回答をして解決したとみせかけ誘導して本命の質問をぶつけてくる
・低能なくせに承認欲求が強くくそな考えを伝えるためだけに自演をしてスレを汚す
・自演がめちゃくちゃ下手くそ
・自演がばれていないと本気で思っている低能
・自演で自滅しまくる
・誰も求めてないのに自己解決したゴミスクリプトで汚してくる
・ろくにヘルプを読まない
・息を吐くように嘘をつく
・すぐ言い訳をする
・左利き そうそう
MouseGestureL.ahkスレにはこんなルールがあるんだ
単純なルールだけど強力だからおすすめだ
https://egg.5ch.net/test/read.cgi/software/1606403442/580 >>619
この程度のキチガイなんて5chにはいくらでもいるから同一かどうかなんて知ったこっちゃない
第三者から見たらsageないだけでもお前もそいつと類似に見えるし >>621
荒らしを何とかしろと言ってるのにageだけで判断するならID:xFQ5Jc+u0も同じってことだなw
ただのキチガイじゃない
>>619
こんなのが何人もいるわけないだろ
前からおかしな奴がいることに気づいてるここの人なら分かるはずなんだけどなw
つまりお前はID:xFQ5Jc+u0=フォトガイジ >>622
はぁ?俺がID:xFQ5Jc+u0に見えるってどんだけ頭イカレてんだマジキチwww な?分かりやすいだろw
>>614-616みたいに思うのが普通だよな
それが>>621はないからw
こうやって自演して自滅してくから
あとはこいつ質問は無視
こいつにとって質問無視が何よりも効果的 >>624
何が分かりやすいんだよボケカスww
MGLすら一切使ってなければスレも見てない俺がどうやったらそのキチガイと同一人物になるんだ妄想ガイジwww
最低限ID:xFQ5Jc+u0と俺のIPくらいすっぱ抜いてから言えよ妄想ガイジ君よぉww
ちなみに俺はID:xFQ5Jc+uではなく ID:XrjJaI750 の方なw
それすら見抜けないようなボケは黙っとけ糖質w 頻繁にReloadしなければならないようなスクリプト書いてる時点でプログラミング出来てもそのセンス皆無じゃないかなー? まあフリーズするバグありスクリプトを強制リセットで回避するようなもんだし
解決方法として正しくはないのは確か
きちんとしたプログラミングしたいなら定石どおりポーリング処理組みなさいとしか
何度も言われてるけどそのためのsettimerですよ 通常WinWaitとかWinWaitActiveなんかは自スクリプトでrunしたウインドウを対象に使うものだと思ってたが
ウインドウの常駐監視に使う人がいるとはちょっと驚き…やっぱこれがプログラミングセンスというものなのかなあ ahkに限らずワーカースレッドはスレッド自身の判断で終了させるのがプログラミングの基本
C言語ならTerminateThread APIなどで外部からスレッドを強制停止させることもできるが、異常処理のような特殊な場合を除いて利用すべきではない
その状況が頻繁に発生するというならそもそもスクリプトの構造、やろうとしていることに問題がある また舞い戻ってきて荒れるだけだから
その話はもうやめてくれ で、>>628の詳細は?
それとも、>>628は、ただの知ったかぶりのバカ? 詳細説明が必要な内容とも思えんけど
煽って答えを得ようとする方法は賢くないですよ >>581
サンプルありがとうございます!
計算した値をIfで繋げていくのを理解するまで時間かかりました。構文的にエラーはないですがまったく動きません。
よかったら答えを教えていただけるとありがたいです。
https://p.ahkscript.org/?p=ef50c1eb で、>>628の理由は?
それとも、>>628は、ただの知ったかぶりのバカ? >>636
あのさ…少しは考えなよ
グローバル変数の存在意義ww 処理の後
増やすときにinc
減らすときにdec
どうしてそうなった… 右クリックしながらホイールupでスクリーンキーボードが立ち上がるようにしたいのですがどうすればいいですか?
色々試したのですが右クリックのメニューが開いたり右クリックができなくなるのでそれを回避しつつやりたいです
スクリーンキーボードはrun,osk.exeで立ち上がります >>640
MouseGestureL.ahk使えば? >>640
右クリック+ホイールで乗っ取った上で右クリック単押しは
RButton::RButton
で再定義しておく
ただしコンビネーションキーで乗っ取ってるから右ボタン長押しや右ドラッグなどは出来なくなる
それが嫌なら右クリック使うべきじゃない #If GetKeyState("RButton", "P")
WheelUp::run,osk.exe
#If
期待に応えられなかったらすまん >>640
好き好きではあるけど、ホイール絡みのは連続動作を想定したスクリプトじゃないと勿体ないと思う
タブ移動とか拡大縮小とか
起動させるだけならダブルクリックとか長押しの方がいいんじゃないか
それこそMGLのジェスチャーならどうとでもなるし >>643
だからそれだと乗っ取ってないから右クリメニュー開いてしまうだろって >>641,642,643,644
みなさんありがとうございます
発想を変えてプリントスクリーン+ホイールupにしました
これなら動作しても邪魔になりません 8.1からwin10に乗り換えたら、キーを奪えないソフトが多発
恐らく安全側なんだろうけど、不便になる >>647
Win10のUACで弾かれてるならAHKスクリプトも管理者権限で実行しな
数年前にもう散々出尽くした話 >>649
じゃあ何の話だよ?
俺は7から10に移行して管理者権限以外でAHK使えなくなったソフトなんてなかったぞ >>647
win8.1とwin10でAHKの挙動が違うソフト教えて
来年辺り8.1から10か11にする予定なので 日本語を含む文字列を選択して^Cでクリップボードにコピーした後、
別の文字列を選択して^Dを押すと、その2つの文字列をCSV形式の
ファイルに追記するスクリプトを作りたいのですが、FileAppendで
環境変数をファイル出力するときれいな文字列が出力されずに、
コントロールコードが埋まったような文字列が出力されてしまい、
うまくいかないのですが、何か決まった記述方法があるのでしょうか? >>653
良く分からんけど、CSV形式のファイルのエンコード形式をUTF-8 DOM有りにするとか? >>654
間違った(´・ω・`)
DOM有り → BOM有り >>654,655
ありがとうございます。
このアドバイスを参考にして、いろいろ試すことができて、やりたかった
ことができました。
まだテスト段階ではありますが、どうもエンコード形式は関係ないよう
です。で、うまくいかなかった一番の原因は、^Cでコピーしたクリップ
ボードを%ClipboardAll%で参照していたことでした。これを、%clipboard%に
替えたら変なコントロールコードが入らずに動作するようになりました。
あと、UTF-8のファイルにするには、あらかじめそのようなファイルを
作っておく必要があるようです。ファイルを削除してFileAppendに作ら
せるとShiftJISになります。 >>656
https://ahkwiki.net/FileAppend
>FileAppend [, Text, Filename[, Encoding]]
UTF-8 BOMにしたいならEncodingをCP65001に指定する FileAppendにエンコード指定の引数あるだろ >>657
すまん、被ってしまった
ついでに今はUTF-8で指定できる >>659
マジだ
公式のFileEncodingのページまで見てなかったわ 空押しの場合はimeoffに、それ以外の場合はctrlとして無変換を扱いたいんですけどどうすればいいですかね? から‐おし【空押し】 の解説
[名](スル)革・厚紙などに、彫刻した金版?(かなばん)?を熱して強く押し付け、文字や模様を浮き出させる方法。本の装丁などに用いる。
https://dictionary.goo.ne.jp/word/%E7%A9%BA%E6%8A%BC%E3%81%97/
このスレでは聞いたことない単語だな alt-ime-ahkのソース当たれば参考になるかも
キーは違うけどやりたいことは似てるから >>661
「空押し」ってのが単独押しって意味ならば、無変換キーでIME OffはIMEのプロパティのキー設定で出来る
ime.ahkを使うやり方もあるけどOSの基本設定で出来ることは設定でやった方が良い
後は単独押しならそのまま無変換、複数同時押しならCtrlとして動くようにすればいい Send, {Mbutton}
と
MouseClick, MIDDLE
は内部的な処理やスピードが違うのでしょうか? 単にスピードを気にしてるなら実際にスクリプト書いて比較すればいいだけかと… 代入は=じゃなくて:=なんだな
=でも何か入るけど、何が入ってるんだ 文字列の時は""を付けるとかではあかんかったのか
既存の言語は大抵そうだったろうに := "string" でもいけるよ
= は変数からの代入ではなく直値が入る仕様 使ってはいけない
なぜならv2で廃止されるし、不注意でバグを生む可能性が高まるから
なぜできるのかというと、今では化石のようなクリプトをかじったような
ユーザーが理解しやすくなるような配慮 もとは=しかなかったんだよ
アップデートで:=がサポートされて旧式の=は非推奨となった じゃあもう、何か作るのはv2が出てからにしよう
いつ出るの? =
これはもう使っちゃいけなんだ?
有益な情報ありがとう
クリップボードを空にするときだけ使ってたけど
Clipboard := ""でいいのかな? = が使用禁止?って初めて聞いた
でも、引数の代入だけは = にしないとハマると思う(:= で出来る方法あったっけ?)
何で引数の時だけ = じゃないとだめなのか理由があったはずだけど忘れたけど、
:= 使うにしても = 使うにしてもどっちかに統一して使えば混乱しないで済むと思うけどなあ 別に使用禁止じゃないよ 非推奨だし今更誰もお薦めはしないと思うけど
引数の代入というのが関数のデフォルト値のことなら
今は:=が使えるしそっちが推奨になってる あ、スマン
コマンドラインの引数ね
hoge.ahk 1 引数2 .... ファイルパス等で変数と文字列いくつも繋ぐの := だと書くのだるいし見難いから = のほうが簡単
「"」絡みでも := が億劫なことは多々ある 引数セットは
arg = %1%
arg := A_Args[1] =を廃止して:=だけにするんじゃなくて、
廃止して:=を=に変更した方がいいのでは
過去のぐちゃぐちゃを無くす為の大幅刷新なら、:=もぐちゃぐちゃの一部 >>682
おお、サンクス
調べたら、引数の総数は A_Args.Length() で分かるね 確かに記述方法が一つになるんならコロン要らんな
あるいは代入の記号と等号の区別のために残すのかもしれないけど あるキーを押すと、フォーカスのあるウィンドウを小さくして左上に移動させる
その状態でもう一度押すと、元の位置と大きさに戻す
というのは既に実現できているけど、これを複数のウィンドウに対応させたい
その為に、ウィンドウ名をキーとした辞書に元の位置を記憶させたいけど、
そんな機能はある? >>686
機能もなにも辞書(連想配列)そのままじゃ?
移動先ではなく元のxywhなら
ウィンドウ名ではなくハンドルとかでやったほうがいいと思う
被るから 最初に全部Object()で初期化してやらないと駄目なのか >>675
もうv2はベータ版であるけど普通に使えるぞ >>689
いつの間にかベータになってたんだな
いくつベータを続けるか知らんが今年中にはRCまで持って行けるかな? 既出かもしれないけど探しても見つからず、教えてください
2ボタンマウスで左ボタン→右ボタンのシーケンスで中ボタンにしたいのですが
以下のように書くと左ボタンも押下されていることになってChromeのタブを閉じることができません
(実際には長押し処理なども書いていますが簡略化してます)
~LButton & RButton::
Send, {MButton}
return
かといって ~無しにすると左ボタンドラッグもできなくなるし…
うまい解決策はないでしょうか?
なお右ボタン→左ボタンに割り当てたら楽なのですがこちらは別機能に使っています AutohotInterceptionてのがあるから
それで泥臭く書くのがいいとおもう #If と GetKeyState関数使う方法じゃダメなのかな? >>693
なかなかハードルが高そう…
特定デバイスのイベントを奪ってオリジナルのイベントは送信しないってものみたいですね
~無しと同じ挙動になりそうな気がしますが書きようはあるってことですかね
>>694
どう書けばいいでしょうか
下記だと>>692と同じ挙動でした
#If GetKeyState("LButton")
RButton::
MButton送信前にLButton送信してup状態にすればタブを閉じることはできるようになりますが
今度はリンクを別タブで開きたいときに現在タブでも開いてしまうという(当たり前ですが) >>695
もうこの手の話は何度も既出なんだが
>>692のスクリプトで ~ を付けずにLButtonを乗っ取って、左クリック単押しは
LButton::LButton
で再定義すれば一応左クリックは使える
ただしドラッグが出来なくなるのでそのジェスチャーはやめた方が良い
ifとかGetKeyState使ってもどうにもならんよ
毎度>>694みたいな奴は試しもせずに適当なこといってるだけだから >>695
マウスポインタが指マーク(リンク上)で適用させなければいいのでは?
MGLにマウスポインタ識別用関数がある MG_GetCursor()
返り値 = 65567 ;リンク:65581 win7 or win8 ?
返り値 = 65541 ;入力モード:65555 win7 or win8 ?
返り値 = 65539 ;矢印:65553 win7 or win8 ?
数値間違ってたらスマン >>696
やはりFAQなんですね
わりと理想に近い挙動をするスクリプトがありました
https://www.autohotkey.com/board/topic/40874-chording-script/
左ボタンからDelay時間内にイベントあれば処理を奪う、タイムアウトしたらドラッグも可能
ただすぐにドラッグできないのはストレスたまるので実用には耐えられなさそう
左ボタンを奪いつつドラッグ含めて完全に再定義することができないなら左ボタントリガは諦めるしかなさそうですね… >>697
ありがとうございます
そういう手段があるんですね!
ブラウザだけそれを使って左ボタン解除してやる運用がベスト解かもしれません >>699
左ボタン始動は基本非推奨だが、↓のように GetKeyState() の押し下げ判定を使うことで代替になる
ttp://blog.livedoor.jp/user5/archives/44742144.html
ただ、自分なら単にタブを閉じるためには使わないかな。こういうロッカージェスチャーは連続で効かせられるのが
特徴だから、ブラウザなら戻る/進むとか、エディタとかエクセルなら元に戻す/やり直しとかに充てるのが定番
というか、MouseGestureLを使った方がいいと思う。それこそ調べたら出てくるしヘルプもしっかりしてる
ついでに、「タブを閉じる」も、タブ上じゃないと効かないホイールクリックではなく、広く使えるCtrl+Wの方がいい
ホイールクリックだと操作ミスしてタブを外したらオールスクロールが発動するんじゃない? >>700
だからさあ
それだと左ボタン押した時点でLButton押し下げも出力されてしまうんじゃねえのって
なんでこの手の質問に対して毎回GetKeyStateを推すバカいるのか不思議 >>701
あえて>>696と同じことを言おう
試した上で言ってるのか?
自分は特に不都合は起きていないが >>702
それはお前がLButton出力されても支障のない使い方してるだけだろ
質問者はそれだと困ると言ってるんだよ
そこんとこ理解してるか? >>703
だ・か・ら、試した上で言ってるのか?
あの程度のスクリプト、自分ですぐに移植できるだろ?
それで何か不都合が起きたのなら書き出してみてくれ >>704
試した
当然LButtonも出力された
満足か? >>705
何か不都合が起きたのなら書き出してみてくれ
と書いたはずだが? それはどうした?
というか、あのスクリプトでどこが困るのか 不都合の内容は質問者が具体的に書いてるだろ
よく読めよ >>707
>不都合の内容は質問者が具体的に書いてるだろ
LButton出力されて困るとどこに書いてるんだ? 具体的にレス番のここでと指摘してくれ
というか、お前試しもせずに書いてるだろ
お前が試してみて何の不都合があったんだ?
質問者の内容に即して書いてみろ まじかよ日本語すらまともに読めないアホだった
>>692
以下のように書くと左ボタンも押下されていることになってChromeのタブを閉じることができません
(実際には長押し処理なども書いていますが簡略化してます)
~LButton & RButton::
Send, {MButton}
return
>>695
下記だと>>692と同じ挙動でした
#If GetKeyState("LButton")
RButton:: >>709
やっぱり基本を分かってないな。そのスクリプトとは別物ということが理解できてない
その程度だから、試した上で書けと言ってるのにバレバレなことをするのさ
そもそも、MGL作者や700のかざぐる代替作者よりお前が詳しいはずがないからな
一連のレス見たらすぐに分かるわ ■ このスレッドは過去ログ倉庫に格納されています