17/12/08 11:13:40.82 NsN4xeHW0.net
そもそも、Photoshopのオプションに「ホイールスクロールでズーム」という項目があるんだけどな。
572:名無しさん@お腹いっぱい。
17/12/08 11:28:24.09 TIXIlEDB0.net
ワロタ
573:名無しさん@お腹いっぱい。
17/12/08 11:47:56.54 3CDYarjh0.net
AHKのすり抜け問題とは関係ないが
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
574:名無しさん@お腹いっぱい。
17/12/08 12:04:33.70 iQK6bfpR0.net
釣りだったりして。
興味があったんで、541は見たいです。
575:名無しさん@お腹いっぱい。
17/12/08 12:06:49.15 zf1T1yH1M.net
すみません、538です。
出先なので、コードはうろ覚えなのですが、
実際はシフトとアルトを押しながらホイールを回す動作をしたいです。
Shift Down
Alt Down
Wheel Up(Down)
Shift Up
Alt Up
で書いています。ゆっくり回す分には動作しますが、早く回すと抜けが発生すします。
>>539が言うのはホイールを離すじゃなくてホイールを回すの間違いでは?
ホイール操作を待つってスクリプトがよくわからないので、サンプルコード待ってます。
>>549
ありがとうございます。
バージョンが違うのでできるかはわかりませんが、それはそれで参考にさせて頂きます。
576:名無しさん@お腹いっぱい。
17/12/08 12:41:25.62 lDhAMoXF0.net
>>551
だからさ、それはahkのコードじゃないから質問する際にそういう中途半端な書き方は良くないぞって意味な
で、本題だけど>>547のオプション設定で済む話ならそれが一番いいだろうけど
余談になるがShiftやAltなど修飾キーならいちいちDownとかUpとか書かずとも
WheelUp::Send, +!{WheelUp}
だけでいいんじゃね?
それでもすり抜けるならしょうがないね
>>539が言ってた「ホイール離す」は所詮そのレベルの勘違いだろうな
何を待つのかは未だによく分からんけど
577:名無しさん@お腹いっぱい。
17/12/08 12:43:13.79 NsN4xeHW0.net
>>551
Wheel Up(Down) の前後に
Sleep,50
を入れたらどうなる?
578:名無しさん@お腹いっぱい。
17/12/08 13:08:08.94 2S31fZSzM.net
>>552-553
失礼しました。
修飾キーでの記述では、そもそも全く動作しなかった記憶があります。
すり抜けも変な感じで、Shiftだけ押されてAltが押されないままホイールが回る動作をしたりします。
Sleepを入れて色々時間を調整すると、入れない時よりも失敗の頻度は改善されました。が、完全には対策できていません。
579:名無しさん@お腹いっぱい。
17/12/08 13:14:27.13 lDhAMoXF0.net
>>554
#Usehook は使ってる?
580:名無しさん@お腹いっぱい。
17/12/08 13:16:54.42 D3cQmZala.net
いやまぁ、使おうが使わまいが構わないけど、帰ったらサンプル書くよ
言いたいことが伝わってないのは気持ち悪い
581:名無しさん@お腹いっぱい。
17/12/08 13:23:15.80 2S31fZSzM.net
>>555
使い方がいまいちわからず、使ってませんでした…
>>556
>>よろしくお願いしますm(_ _)m
582:名無しさん@お腹いっぱい。
17/12/08 20:23:38.48 RT6XFZXq0.net
#NoEnv
#InstallMouseHook
~*WheelDown::
~*WheelUp::
wheel := A_ThisHotkey
loop
{
If wheel contains ^,+,!,*,~,#,<,>,$
StringTrimLeft, wheel, wheel, 1
else
BREAK
}
GetKeyState, state, LAlt
If state = U
send,{blind}{LAlt Down}
sleep,30
send,{Blind}{{%wheel%}
settimer,AltRelease,-200
Return
AltRelease:
send,{Blind}{LAlt up}
Return
すまんloop監視使うよりタイマー使ったほうが簡単だった
最初はloopで全体を監視してWheelを監視して回した分だけ変数にためて
sendの回数部分に渡す予定だったけどややこしくなりそうだ
言いたかったのはこんな感じで、まずキーボード操作ならAltを押しっぱなしにしたままwheel操作をするはず
その間Altは離さないはずなんだ
これを簡単に書こうとして
send,{LAlt Down}{Wheel up}{LAlt up}
なんて書こうもんならログではホイール回すたびにAltキーが連打されることになる
583:名無しさん@お腹いっぱい。
17/12/08 20:26:39.02 RT6XFZXq0.net
あ、ホットキーラベルの~は要らないわ。クセで書いちゃったけど
584:名無しさん@お腹いっぱい。
17/12/08 20:38:48.94 WwZSRzo/0.net
で、「ホイール離す」って何のこと?
585:名無しさん@お腹いっぱい。
17/12/08 20:46:42.00 Vl1WWwQG0.net
>>560
しつけーんだよ
586:名無しさん@お腹いっぱい。
17/12/08 20:53:54.83 WwZSRzo/0.net
何をキレてんだよ
少し頭冷やせ
587:名無しさん@お腹いっぱい。
17/12/08 21:04:03.00 HqbBgtaD0.net
冷やし中華はじめました
588:名無しさん@お腹いっぱい。
17/12/08 21:22:38.10 VSEzKsSRM.net
>>562
質問者はサンプル待つつもりで「よろしく」って言ってるのに、横からしつこく揚げ足とりしてるあなたの方が頭冷やすべきでしょ
589:名無しさん@お腹いっぱい。
17/12/08 21:25:44.43 WwZSRzo/0.net
>>564
横からしつこくもなにも俺は最初からその一点についてしか話してない
それなのに一人で勝手に興奮してるだけ
間違い�
590:ネら最初から間違い認めりゃいいだけなのにな
591:名無しさん@お腹いっぱい。
17/12/08 21:33:28.45 3e+Ho6oe0.net
それがしつこいって言われてるんじゃないか?
592:名無しさん@お腹いっぱい。
17/12/08 21:35:16.88 WwZSRzo/0.net
だから昼の時点でさっさと答えてりゃいいだけだろ
593:名無しさん@お腹いっぱい。
17/12/08 21:36:17.80 3e+Ho6oe0.net
お前がしつこく絡んでるようにしか見えないw
594:名無しさん@お腹いっぱい。
17/12/08 21:37:00.69 WwZSRzo/0.net
じゃあお前はなんでそんな必死に絡んでくるんだ?
595:名無しさん@お腹いっぱい。
17/12/08 21:38:55.52 HqbBgtaD0.net
冷やし中華はじめましたので...
596:名無しさん@お腹いっぱい。
17/12/08 21:40:10.88 AjW1HkCjM.net
キチガイなんだから
無視しとけよw
なんでみんなからしつこいって
言われるかわからないんだから
597:名無しさん@お腹いっぱい。
17/12/08 21:42:13.77 WwZSRzo/0.net
>>571
お前もそんな顔真っ赤にしてんなよ
598:名無しさん@お腹いっぱい。
17/12/08 21:44:12.58 HqbBgtaD0.net
冷やし中華はじめましたから!...冷やし中華はじめましたから!!!
599:名無しさん@お腹いっぱい。
17/12/08 22:32:51.68 fgs+Qvb60.net
amemiyaうっせ
600:名無しさん@お腹いっぱい。
17/12/08 23:16:41.31 3CDYarjh0.net
ワッチョイもIDも違う複数書き込みを
>一人で
>顔真っ赤
とか言い出したら要注意な
601:名無しさん@お腹いっぱい。
17/12/08 23:30:52.99 3vQpN7Oh0.net
いつまでやってんだよ
602:名無しさん@お腹いっぱい。
17/12/09 07:28:21.89 CYxvg1W8M.net
>>558
ありがとうございます。
今外出中で試せないのですが、今夜やってみます。
603:名無しさん@お腹いっぱい。
17/12/09 15:59:53.03 0ga8E3eN0.net
#NoEnv
#InstallMouseHook
; variable
EtatWheelDown = 1
EtatWheelUp = 1
Check_EtatWheelDown = 1
Check_EtatWheelUp = 1
Loop, ; ( or SetTimer )
{
if EtatWheelDown <> %Check_EtatWheelDown% ; Wheel Down is turn
{
Tooltip, Wheel Down is turn.
Break
}
if EtatWheelUp <> %Check_EtatWheelUp% ; Wheel Up is turn
{
Tooltip, Wheel Up is turn.
Break
}
Check_EtatWheelDown = %EtatWheelDown%
Check_EtatWheelUp = %EtatWheelUp%
}
~*WheelDown::
EtatWheelDown += 1
return
~*WheelUp::
EtatWheelUp += 1
return
ちょっと探したらgetkeystateじゃないにしてもホイール回してるか回してないかの取得スクリプトならあった
これでホイール離してる状態も取得できるな
604:名無しさん@お腹いっぱい。
17/12/09 23:24:41.40 8nqZo3FbM.net
>>558
質問者です。
わざわざコードを書いて下さりありがとうございます。
今試してみたら動きました!
なるほど、ホイール回す度にalt連打されると処理がおかしくなるのですね。(処理が完了する前に次の入力が来る?)
ホイール回す間はalt押しっぱなしにするという方法は目から鱗でした。
アルゴリズムやコマンドの勉強にもなりました。これで長くAutohotkeyを愛用していけそうです。
重ねてお礼申し上げます。
605:名無しさん@お腹いっぱい。
17/12/10 15:50:48.28 Pqr6ID550.net
あるファイルがあったとして、そのファイルが書き換えられたとき、それをトリガーにある処理をしたいのです
どうしたらいいでしょうか
タイマーで1秒おきとかにファイルのプロパティーを見ながら日付の変更確認とか、そんなことをしないと
いけないのですか?
606:名無しさん@お腹いっぱい。
17/12/10 16:32:00.90 APrQc+rqM.net
ReadDirectoryChangesWとか使えばイベントドリブンにできるかもしれんけど
多分settimerでFileGetTimeし続けるほうが楽だと思う
607:名無しさん@お腹いっぱい。
17/12/11 00:43:34.72 R4P+4TIr0.net
Windows10のデスクトップはahk_class Progmanですが、一度でもWin+Tabを押すとahk_class WorkerWになります。
これを強制的にahk_class Progmanに戻す事って出来ますか?。
608:名無しさん@お腹いっぱい。
17/12/11 00:57:30.17 Wcw0iGf+a.net
できない
何故戻したいのかはわからないけど、同時に適用したいならClass判定のところをorでいいんじゃないの?
609:名無しさん@お腹いっぱい。
17/12/11 01:30:33.02 R4P+4TIr0.net
分かりました、有難うございますた。
610:名無しさん@お腹いっぱい。
17/12/11 21:58:26.99 jRSbSjCy0.net
v = aaatttaaa aは文字、tは数字
となっているとします。文字の長さ、数字の桁数は別に3ということではなく任意です
この変数vから�
611:A数字のtttだけをとってくるにはどうしたらいいでしょうか RegExMatch()とかを使うのですか。 かなりややこしくなりそうですが
612:名無しさん@お腹いっぱい。
17/12/11 22:15:06.32 jRSbSjCy0.net
文字には漢字やひらがなもあります
613:名無しさん@お腹いっぱい。
17/12/11 22:23:28.76 jRSbSjCy0.net
すいません。これで出来ました
NewStr := RegExReplace( ttl, "[^0-9]+", "")
これでいいのかな。 一応、確認したところ出来ていそうです
数字の0-9ってなにか\を使った記法ってあったような
614:名無しさん@お腹いっぱい。
17/12/11 23:12:38.47 n7RiSe0za.net
正規表現を調べるのを勧める
loopでぶん回して取得する無理矢理な方法もなくはないけど
615:名無しさん@お腹いっぱい。
17/12/14 16:25:41.48 6GnanOnj0.net
ブラウザ(IE)上で、webに設定されたドロップダウンリストに
規定値(一番上)に選択→隣接リストで同じ処理……
を5回位繰り返させようとしています。
【処理】
start地点のコントロールを選択してからHotKeyを押して処理開始。
1.ControlGetFocus
→どのコントロールでも、どのwebページでも
「Ineternet Explorer_server1」しか返ってこない。
2.Key(↑)を送ってリストを遡らせる
→TABで次のコントロールに移るを繰り返す
→Javascriptで監視されているようで、コントロールの
value変更後の処理でFocusが外れてしまい、処理が継続できなくなる。
AutoHotKey無印を使っています。
AutoHotKeyでは、そもそもブラウザ上に展開したコントロールを
直接操作することはできないのでしょうか?
616:名無しさん@お腹いっぱい。
17/12/14 17:05:48.16 e4aJwnFFa.net
javaでやりな
617:名無しさん@お腹いっぱい。
17/12/14 17:34:29.24 /wRQoE030.net
なぜAHKで無理やりやろうとするのかが謎
618:名無しさん@お腹いっぱい。
17/12/14 21:57:18.36 GqJFhkoy0.net
>>590 >>591
ショートカットキーを使って、既存のブラウザのコントロールにアクセスしたいというのが
もともとの願望でした。
(会社の基幹システムの提携作業をマクロ化したいという動機)
検索すると、HotKey制御ならAutoHotKeyらしいということがわかって、
いろいろ試行錯誤してみた次第です。
ずっとVBAで業務支援ソフトなんかを同僚のために作ってきたのですが、
HotKeyの制御はC#やVBなんかでもできるのでしょうか?
初心者ですが、VisualAtudioは最近ちょろっと触ってるので、
HotKeyを使ったブラウザ制御なんかを学べる環境を教えていただけると幸いです。
619:名無しさん@お腹いっぱい。
17/12/15 07:32:08.50 lV80xGQe0.net
>>589
| IEウインドウを最大化
| IEを最前面表示固定
| 座標100,200 を左クリック
| 1秒待つ
| 座標100,220 を左クリック
| 0.5秒待つ
| 座標300,200 を左クリック
| 1秒待つ
| 座標300,220 を左クリック
| ・・・
| IEを最前面表示固定解除
みたいなのにすればいいだろ
#スクリプト動作中はマウス、キーボードを触らない
AHKじゃなくても、マウスユーティリティー系で可能
openmausujiならソースが公開されているから、業務で使用も可能だろ
620:名無しさん@お腹いっぱい。
17/12/15 20:50:32.58 OrMVJhUA0.net
>>589
テンプレにあるACC.ahkでDoDefaultActionでいいんじゃないかな
それでできないならUI AutomationのSetFocus()でフォーカス合わせるぐらいしか思いつかないけど
UI AutomationのほうもAutoHotKeyである程度使いやすいようにされたものがどっかにあったはず
621:名無しさん@お腹いっぱい。
17/12/16 16:06:02.33 AUvdSLPQ0.net
>>593 >>594
ありがとうございます。
レスが遅くなって申し訳ありません。
上記
622:を参考に一度トライしてみます。
623:名無しさん@お腹いっぱい。
17/12/17 02:32:30.21 MdcvIGaz0.net
マウスのホイール操作全般(WheelUp WheelDown WheelLeft WheelRight)にキーを割り当てると、単純な a とか一文字でも
不定期に反応しなくなります
すり抜けとかではなく全く反応しなくなるのですが、リロードすれば直ります
右クリック、左クリック、サイドボタンでは全く問題ないです
定期的にリロードするよう書き込んだ方が良いのか、それとも
他に何か原因があるのでしょうか?
624:名無しさん@お腹いっぱい。
17/12/17 07:31:34.32 DTDP6E0d0.net
>>596
まず、余分なものをどんどん省いていって、それが再現する必要最低限のスクリプトにしてみましょう。
その結果、原因が分かって自分で解決できる場合もあるし、その最低限のスクリプトをここに書き込めば
誰かにヒントをもらえる確率が上がると思います。
625:名無しさん@お腹いっぱい。
17/12/17 08:29:26.24 MdcvIGaz0.net
>>597
WheelRight::send,a
return
これだけしか書いてないスクリプトでも急に受け付けなくなるのですが・・
626:名無しさん@お腹いっぱい。
17/12/17 09:58:02.93 ZbWlvwyg0.net
再インストールしてみるとか?
627:名無しさん@お腹いっぱい。
17/12/17 10:15:31.95 ZbWlvwyg0.net
うちの環境だと問題なく動いてるけどなぁ
628:名無しさん@お腹いっぱい。
17/12/17 11:06:05.21 pdjYZcFx0.net
一体どういう状況でソレが使いたいのかが分かれば精査しようもある
ただ言えるのは、短く書こうとして誤動作おきてるなんてことはよくある
WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return
くらいは書かないとダメかも
629:名無しさん@お腹いっぱい。
17/12/17 11:12:23.44 pdjYZcFx0.net
もうちょっというなら、キーヒストリーはちゃんと確認しよう
早すぎて抜けてるとかなら調節しないといけないわけだし、そもそもキーが送られてないとかになると、マウスとの相性まで疑ったほうが良い。
WheelLeft、Rightはうちも反応して無くて、しょうがないからF13,F14をレジストリレベルで割り当ててF13に設定してたりする
630:名無しさん@お腹いっぱい。
17/12/17 11:22:47.97 4YmA5vyY0.net
それロジマウス使ってるだけじゃねえの
631:名無しさん@お腹いっぱい。
17/12/17 11:34:53.14 fzbLbuEn0.net
LogicoolのSetpointのような他のカスタマイズ系ツールが入ってて競合していたり
仮想PC上で動かしていたりするんじゃない?
もしそうなら思考錯誤すればなんとかなったりするけど
Autohotkeyとの併用だと根本的解決は厳しいのでどこかで妥協が必要
632:名無しさん@お腹いっぱい。
17/12/17 11:39:13.82 4YmA5vyY0.net
ロジの左右スクロールはWindows標準APIじゃないから反応しないだけ
質問者の様に途中から反応しなくなると言った症状とは全く別問題
633:名無しさん@お腹いっぱい。
17/12/17 12:12:17.21 eySZ52HR0.net
その手の質問するときはちゃんと環境書いたほうがいいよ
反応しなくなるのは件のホットキーだけ?
それとも他のホットキーも全滅になるん?
リダイレクトホイール系のスクリプト入れてるけど
ブラウザとかでページの読み込みが重いとスクロール処理に遅延が生じてしまって
それ以降他のアプリ上でホイール回しても一切スクロールしなくなることはあった
ただ処理はロストしてるわけじゃなく溜まっててるだけで
数分~10分後に え今更?ってタイミングでスクロールされるけど
(win8 x64 & ahkL U64 v1.1.24 & m570)
634:名無しさん@お腹いっぱい。
17/12/17 16:53:37.57 MdcvIGaz0.net
>>601
ありがとうございます
そのスクリプトでやってみると初めの一文字だけしか出てきません
キーヒストリーを見ると
002: Send,{a down} (0.09)
003: KeyWait,WheelRight (2.81)
で止まって Send,{a up} が送られていないようでそれ以降反応しません
WheelLeft、,WheelUp とかでも同じ挙動です
WheelRight::send,a
return
で反応しなくなるときはキーヒストリーにも何も記述されなくなってます
環境は win8 x64 & ahk v1.1.26.01(Unicode 32-bit) マウスはエレコム です
635:名無しさん@お腹いっぱい。
17/12/17 17:20:03.67 DTDP6E0d0.net
>>607
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
WheelRight::send,a
このスクリプトのみを書いたAHKを実行させてみたけど、問題なく動いてるよ。
何回目のホイール右倒しで無反応になるの?
636:名無しさん@お腹いっぱい。
17/12/17 17:31:48.08 3XY+E35O0.net
>>607
とりあえず>>601は無視した方が良いぞ
ろくに確認もしてないやつだから
637:名無しさん@お腹いっぱい。
17/12/17 20:17:29.22 MdcvIGaz0.net
>>608
ありがとうございます
WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return
で反応しなくなるのは2回目からです
とりあえずスクリプトの頭に
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
を付けてうまくいくのか様子を見てみます
638:名無しさん@お腹いっぱい。
17/12/17 20:23:31.32 DTDP6E0d0.net
俺のロジクールマウスの場合、ホイールに関しては d のみで u の発行は無い。
ボタンのアップ待ちは無駄かもよ。
639:名無しさん@お腹いっぱい。
17/12/17 20:56:02.37 7BTXFvHJ0.net
だからホイールには「離す」なんて概念は無いって
keywait,WheelRight とか言ってるやつがアホなだけ
640:名無しさん@お腹いっぱい。
17/12/18 00:49:44.45 fHENqFFZ0.net
そもそもお前らにとってマウスは仇なの?
そこまでキーボードでやりだい心境ってどうなの?
641:名無しさん@お腹いっぱい。
17/12/18 00:56:22.46 L9Sezhe2a.net
keywaitがだめと言うならSleepでもいいぞ。とにかく押し下げて離すをエミュレートさせたほうが確実って話だから
642:名無しさん@お腹いっぱい。
17/12/18 01:09:51.37 D6Zzwcuh0.net
脳波でカーソルうごかせたら万事解決するのに
643:名無しさん@お腹いっぱい。
17/12/18 01:55:14.23 82QJfRCd0.net
>>613
お前何と戦ってんの?
全く真逆のこと言ってんだがw
644:名無しさん@お腹いっぱい。
17/12/18 11:07:38.53 dHJj4PmW0.net
>>614
>551の時は代替キーがモデファイヤ含んでたからそういう処理が必要だったけどそうでないなら助長じゃね
WheelLeft/Rightは倒してる間中リピート発生するみたいだし本来なら
WheelRight::a
だけでいいはず
書き方じゃなく環境的な問題な予感
645:名無しさん@お腹いっぱい。
17/12/18 19:44:47.33 8SoFyHAV0.net
>>610です
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
スクリプトの頭に上のを付けてもやっぱり不定期にホイールは反応しなくなるので
諦めます
646:名無しさん@お腹いっぱい。
17/12/19 11:49:43.42 Van3T9iO0.net
WheelScroll.ahkとかWheelaccel.ahkだと、WINDOWS10の modern UI でスクロールできないです。
MGLを使った回避はあったのですが、単体利用での回避方法を誘導していただけないでしょうか。
よろしくお願いいたします。
647:名無しさん@お腹いっぱい。
17/12/19 12:15:03.89 ZXNMo4hja.net
あれってスクロールメッセージ送ってるはずだからそれがないなら反応しないとかだったような
648:名無しさん@お腹いっぱい。
17/12/19 17:14:58.39 knaBMDJJ0.net
>>619
WheelScroll.ahk modernUI対策版を上げました
ただwin10の場合は標準でリダイレクトホイール可能ですのでもうこのスクリプトは要らないかも
URLリンク(www6.atwiki.jp)
649:名無しさん@お腹いっぱい。
17/12/19 22:34:23.63 TaxqTr0o0.net
FileGetShortcutを使って指定したショートカットファイルのアイコンをGUIに表示させたいのですが、FileGetShortcutで取得したアイコンのフルパスは「C:\Users\ユーザー名」の部分が%USERPROFILE%となっているようで、GUIに表示できません。
%USERPROFILE%を展開する方法などはないでしょうか。
Path := "C:\Users\ユーザー名\Desktop\Google Keep - メモとリスト.lnk"
FileGetShortcut,% Path,,,,, OutIcon
Gui, Add, Picture ,w32 h32 ,%OutIcon%
Gui, Show, AutoSize
650: x60y60
651:名無しさん@お腹いっぱい。
17/12/19 22:50:38.94 spQDjKkw0.net
>>622
%USERPROFILE%を直接展開する方法は分からないが、
A_UserNameでログインしているユーザー名を
または、A_Desktopでデスクトップフォルダのフルパスを
取得することは出来るから置換すればいいような…
652:名無しさん@お腹いっぱい。
17/12/19 23:25:51.46 TaxqTr0o0.net
>>623
ありがとうございます。
StringReplace, OutIcon, OutIcon,% "%USERPROFILE%" , %USERPROFILE%, All
この一行で解決しました。
653:名無しさん@お腹いっぱい。
17/12/20 08:57:02.76 CxHWmxkW0.net
>>621
お世話になってます。
WheelScroll.ahkの作者さんがいらっしゃったのですね。
スクリプトの修正ありがとうございました。
業務用ソフトだからでしょうか。
特殊なコントロールが多いせいか、必須スクリプトです!
加速以外は全部の機能を使ってると思います。
横スクロールのコメントがございました。
Shiftホイールで横スクロール部分を有効にしました。
654:名無しさん@お腹いっぱい。
17/12/20 17:56:12.25 CxHWmxkW0.net
もしお時間をいただけるならば、ご確認、ご対応いただければ幸いです。。
20150711バージョンにて、excelのシート切り替えのため、下記を追加しておりましたが
20171219バージョンで機能しなくなりました。
スクリプトを比較してみて、競合しそうな追加部分は無いように見えるのですが、いかがでしょうか。
WheelScroll.ahkの最終行に追加
#IfWinActive ahk_exe EXCEL.EXE
XButton1::Send ^{PgUp}
XButton2::Send ^{PgDn}
Return
あと、諦めていたことなのですが、excelにて、列の固定(ウインドウ枠の固定)をしていると横スクロールできません。
環境依存などあれば書き込みます。
よろしくお願いいたします。
655:名無しさん@お腹いっぱい。
17/12/21 00:44:34.93 tyYKgEs60.net
>>625-626
ご使用&報告ありがとうございます
当方先月やっとwin10に移行したばかりであまり動作確認が取れておりませんでご不便をおかけします
色々酷いので手直ししたいんですがWheelaccelやMGLのほうがいい感じに改良されてるようですし
こっちはもう自分用で汚くてもいいかな~みたいな感じで放置してました
こんなでも使ってくださってる方がいるのは嬉しいです、ありがとうございます
>WheelScroll.ahkの最終行に追加
こちらでも20171219に同条件で追加し、Excel2007、2016の2種で試しましたがどちらも問題なくシート切替できました
もしやShiftホイール部のコメントを外されたときに */での閉じに失敗してたりしないでしょうか
; /***** チルトが無いマウス用
:
; */
↑行頭にセミコロンでコメントのコメント化してみてください
(shift横スクロールはチルトのないm570使い続けてる自分のために入れたままにしてたんですが
今更チルトマウス使ってない人のほうが少なかろうということで今回コメントにしてしまいました
ややこしいことしてすみません)
excelの固定時横スクロールについては原因判明しましたので次回更新時に修正いたします
他にも手直ししたい箇所があるため少しお時間下さい
656:名無しさん@お腹いっぱい。
17/12/21 01:20:20.36 SquZXOD10.net
send {5 down}
の5を変数でできないです?
657:名無しさん@お腹いっぱい。
17/12/21 01:33:36.72 SquZXOD10.net
evalがあったのか~
658:名無しさん@お腹いっぱい。
17/12/21 01:44:00.48 PxmCSxyY0.net
a:=5
send {down %a%}
659:名無しさん@お腹いっぱい。
17/12/21 02:05:04.78 SquZXOD10.net
>>630
%か~さんんきゅ~
660:名無しさん@お腹いっぱい。
17/12/21 09:26:50.18 Iywphmus0.net
>>627
ご説明賜り感謝致します。
コメントアウトの方法は理解しており間違っていませんでした。。
これから出張なので、来週改めて確認していきたいと思います。
その他含め、ありがとうございました!
私はm510でチルト出来るのですが、shift横スクロール�
661:フ方がスクロール量をコントロールできるので便利です。
662:名無しさん@お腹いっぱい。
17/12/21 17:04:35.86 6WwU69go0.net
>>627
663:名無しさん@お腹いっぱい。
17/12/21 17:38:42.68 WwMk0bk3p.net
>>627
632です。
ahk_classで指定したらシートの切り替えができました。
あとコメントにありました互換固定のテストは、| modeの方でないと動かないソフトがありました。
ありがとうございました。
664:名無しさん@お腹いっぱい。
17/12/21 20:40:35.45 WrHlVdtR0.net
最近 本体アップデートされないですね
665:名無しさん@お腹いっぱい。
17/12/21 21:04:01.05 coGv5Pxe0.net
github見ると前回の更新からFixedが大分溜まってきてるし落ち着いたら更新するんでない
666:名無しさん@お腹いっぱい。
17/12/22 10:01:04.41 vcVm8yL20.net
ソートはせずに、前に出てきたものを同じ行を省く操作ってありますか
たとえば、
aaa
bbb
ccc
aaa
ddd
bbb
を
aaa
bbb
ccc
ddd
としてほしいのです。ソートはしません
667:名無しさん@お腹いっぱい。
17/12/22 12:31:37.29 DzJ++uf1r.net
>637
var =
(
aaa
bbb
ccc
bbb
aaa
)
Loop, Parse, var, `n
{
If(!InStr(newvar, a_loopfield "`n"))
newvar .= a_loopfield "`n"
}
Msgbox, %newvar%
668:名無しさん@お腹いっぱい。
17/12/22 12:35:31.15 CpHj++au0.net
すべての変数を一個ずつIfで比較して、一致しなければ出力してけばいいんじゃね
669:名無しさん@お腹いっぱい。
17/12/22 15:39:38.72 O+PHC10P0.net
ポインタの使い方がよく分かりません
i := 4
p := &i
MsgBox, % *p
MsgBox, % NumGet(p + 0, "int")
のように書いても両方共iとは関係のない値が出てしまいます
どうすればpからiの中身にアクセスできるのでしょうか?
670:名無しさん@お腹いっぱい。
17/12/22 15:49:45.03 O+PHC10P0.net
すいません、自己解決しました
VarSetCapacityとNumPutを使えば良かったのですね
671:名無しさん@お腹いっぱい。
17/12/23 08:30:47.00 jbJlOP0C0.net
あるアプリでツリービューをクリックするとサーバーと通信してその結果を
隣のリストボックスに表示する、というのがあります
今はAHKでmousemoveでカーソル移動してツリービュー上でクリックして
隣のリストボックスの情報をControlGet等でとっています
これをもっとスマートにしたいのですが、
ツリービューをクリックしてネットに情報を送るところを直接httpで送ることは
できませんか。具体的にどういうメッセージを送ってるのかを知ることは出来ないのでしょうか
URLDownloadToFileというのは見つけたのですがここまでのことはAHKでは出来ませんか
672:名無しさん@お腹いっぱい。
17/12/23 12:21:47.75 2pB5qSyN0.net
アプリの名前伏せられても通信プロトコルすら分からないわけだが
質問内容から想像つく範囲で答えるならdllcallからwinsockAPI叩けばおそらく可能ではある
ただSendMessageみたいに1発投げればいいってもんじゃないし
相手サーバーとのネゴシエート必要だし通信プログラムの知識は必要になると思うが
673:名無しさん@お腹いっぱい。
17/12/25 10:30:36.34 LC3msSEB0XMAS.net
v.1.1.27.00にアップデートした
●AutoHotkey Downloads
URLリンク(autohotkey.com)
674:名無しさん@お腹いっぱい。
17/12/25 15:17:48.28 4tI3Wjp7aXMAS.net
エディタであるように二打鍵からなるホットキーを設定したいのですが
どうやればいいのでしょうか?
たとえば
Ctrl+K→Ctrl+T
など
675:名無しさん@お腹いっぱい。
17/12/25 16:05:01.58 dcbUg3oN0XMAS.net
>>644
v.1.1.27.00にしたらremap用スクリプトがエラーで起動しなくなった
sc073::+vkE2sc073という記述が一箇所あってそこでエラー発生したてので、
sc073::+sc073としたらスクリプトが正常に動いた
今バージョンからvk**付けるとエラーになってしまうのか?
676:名無しさん@お腹いっぱい。
17/12/25 16:10:40.46 mWbboXyW0XMAS.net
>>645
wiki読め
677:名無しさん@お腹いっぱい。
17/12/25 16:31:55.71 LC3msSEB0XMAS.net
>>646
変更履歴によるとこれまでの「vk**sc***」という記述は廃棄されてsc***を削除した「vk**」でOK
●Changes & New Features
URLリンク(autohotkey.com)
678:名無しさん@お腹いっぱい。
17/12/25 18:24:54.21 mj5Z4sTu0XMAS.net
ahk2なんて作ってるのか
期待はしたいが現状のコード1万行を移植しないといけないと思うとめっちゃだるいな
679:名無しさん@お腹いっぱい。
17/12/25 21:26:06.64 Hj7/q9TgaXMAS.net
ソースコードはテキストだ
つまり文章をコンバートするスクリプトさえ作ればなんとかなんじゃね?
680:名無しさん@お腹いっぱい。
17/12/26 04:54:57.32 uLjqpZSC0.net
A_Argsは嬉しい
681:名無しさん@お腹いっぱい。
17/12/27 16:25:05.40 Aacf2UtF0.net
#IfWinActive,無題 ahk_exe notepad.exe
としてもメモ帳を認識しない。
無題をやめて - にすると大丈夫。
何か問題ある?
スクリプトはUTF-8。
環境は、Windows10で、v.1.1.27.00です。
682:名無しさん@お腹いっぱい。
17/12/27 16:27:33.29 Aacf2UtF0.net
>>652
UTF-8のBOM付きやSJISしたら動作した。
ウィンドウタイトルの日本語を探すのは初めてだから、ごめんちょ。
683:名無しさん@お腹いっぱい。
17/12/30 03:58:59.09 gls+cAd20.net
マウスの中ボタン+右クリックにホットキーを当てると
中ボタン単体では動作しなくなってしまうので
Mbutton::send,{Mbutton}
return
としていたのですが、これだと中ボタンでドラッグアンドドロップできなくなることに気付いて
Mbutton::MouseClick,middle,,,,,d
return
Mbutton up::send,{Mbutton Up}
return
と書いてみたのですがうまくドラッグアンドドロップ出来ません
どのように書けば良いのでしょうか?
684:名無しさん@お腹いっぱい。
17/12/30 04:20:23.50 b6YqK2p70.net
>>654
中ボタン+右クリックにホットキーを当てた時点で
中ボタン単体の判定は中ボタンを離した時に行われる様になるので
通常の方法ではドラッグは出来なくなる
別の対処策としては2度押しでドラッグにするとか、別のボタンにドラッグ割り当てるとか幾つかやりようはあるけど
どうしても普通にドラッグしたいなら中ボタン+右クリックを諦めた方が良い
685:名無しさん@お腹いっぱい。
17/12/30 05:26:41.98 xIT/wV5A0.net
Hotkeyコマンドでホットキーをトグルさせるのは?
特定のウィンドウがアクティブ時、または中クリック長押しで切り替えとか
686:名無しさん@お腹いっぱい。
17/12/30 09:28:37.04 mI1ieLxE0.net
>>654
中ボタンでドラッグアンドドロップ出来るアプリを持っていないので確認できないけど、
オートスクロールのキャンセルはCtrlで出来るから、
#if GetKeyState("MButton","P")
RButton::
Send,{Ctrl}
ToolTip,M+R
Sleep,1000
ToolTip
return
#if
こんな感じでどうだろ
687:名無しさん@お腹いっぱい。
17/12/30 10:20:44.83 gls+cAd20.net
>>657
出来ました!ありがとうございます
GetKeyStateを使えばホットキーとして割り当てなくて済むのですね!
688:名無しさん@お腹いっぱい。
17/12/30 13:31:53.23 fvgI/zHL0.net
>>658
それだと中+右ボタンを押す時にも中ボタン単体押しが送信されるのでは?
それで構わないならば
~MButton & RButton::
にすればいいだけだな
689:名無しさん@お腹いっぱい。
17/12/30 21:59:48.99 gls+cAd20.net
>>659
>>657でも出来るのですが ~MButton & RButton:: でも出来ますね
~ の意味を調べたら イベントを乗っ取らず、そのままシステムに通す って書いてあったのですが
元のキーの機能を殺さず�
690:ノ的なことなんでしょうか?
691:名無しさん@お腹いっぱい。
17/12/31 12:27:31.81 cHZnLDz90.net
v1.1.27.01が公開されたよ
●Changes & New Features
URLリンク(www.autohotkey.com)
692:名無しさん@お腹いっぱい。
17/12/31 15:22:16.33 VvllMHuur.net
>>661
vkF3SC029::rerurn ;全半角
vkF4SC029::rerurn ;全半角up
でエラー出る
俺環かな
スキャンコードなし指定ならokだた
693:名無しさん@お腹いっぱい。
17/12/31 17:48:52.87 iRBxU1N10.net
>>662
久しぶりにアップデートしたら自分もInvalid hotkeyってエラー出たわ
とりあえず1.1.26に戻した
694:名無しさん@お腹いっぱい。
17/12/31 17:56:20.08 iRBxU1N10.net
仕様変更あったのね
チェンジログ読んだらちゃんと書いてあったや
Scripts containing hotkeys of the form VKnnSCnnn:: will need to be corrected by removing SCnnn, which was previously ignored.
しかし互換性持たせてくれればいいのになぁ
695:名無しさん@お腹いっぱい。
18/01/01 22:19:27.79 Yv5Bp8s50.net
エラーが出るかと何かと思った
スキャンコード全部削除したけど動作がおかしくならないか不安
696:名無しさん@お腹いっぱい。
18/01/02 00:23:22.16 cBxV7kcZ0.net
え?scxxxのみで何も問題ないけど…
697:名無しさん@お腹いっぱい。
18/01/05 23:03:42.41 l4zNz2Hg0.net
あー、先にここ見とくべきだった。更新したら動かなくて何だろうかと
せっかくなので、これからverup予定の方に、自分が修正したキー一覧を以下に
変換…vk1Csc079
無変換…vk1Dsc07B
:(コロン)…vkBAsc028
:(コロン)…vkBAsc03A
;(セミコロン)…vkBBsc027
;(セミコロン)…vkBBsc03B
,(コンマ)…vkBCsc033
\(バックスラッシュ)…vkE2sc073
CapsLock…vkF0sc03A
ひらがな/カタカナ…vkF2sc070
全角/半角…vkF3sc029
全角/半角…vkF4sc029
grepツールで済ませてそんなに時間はかからなかったけど、久しぶりに面倒な更新作業だった
698:sage
18/01/06 01:51:53.58 gHX87yO10.net
vkxxscxxxが使えなくなって
vkxxまたはscxxxのどちらかで指定と理解してるんだけどいいんかな?
使ってる人いるかわからないけど・・・
vkff系のscはkeywaitでエラー出たので
sc056::
keywait,vkff
return
としたらエラー無しで動いた。
sc05eは使えなくなったが、こいつだけvkff::をアテた。
とりあえず他とバッティングしてない。
699:名無しさん@お腹いっぱい。
18/01/06 22:19:48.65 L9VE7V/R0.net
こんばんはー、ホットストリングって機能に初めて手を出してみたんですけど、
ちょっと???な部分があるのでお伺いしたいです。
「[[」って打ったら「『」、「[[[」って打ったら「【」になるようにするにはどう書けばいいんでしょう?
Z0オプションでバッファが残るっていうならそれ指定するだけでいいのかなーと思ったら思うように動かず。
フラグを変数に格納するなり、複数行書かないとダメでしょうか?
700:名無しさん@お腹いっぱい。
18/01/06 23:15:38.82 G7wFYGrJ0.net
ここ↓見るとか具体的にスクリプト晒すとかしないとレス付かないぞ
ホットストリング - AutoHotkey Wiki
URLリンク(ahkwiki.net)
701:名無しさん@お腹いっぱい。
18/01/07 00:56:44.38 JkICX0vw0.net
ああいえ、読んだんですがイマイチ仕様を把握できず、
シンプルな構文で書けるのか書けないのか書けないのか、単にそれだけを慣れている人に聞きたかったんです。
必要ないでしょうけど一応晒すと、
:*Z0:[[::『
:*:[[[::【
で[を3回押したら【になりそうだなーと思ったのですがならないなーってことでして。
702:名無しさん@お腹いっぱい。
18/01/07 01:23:31.75 rPkux
703:GOZ0.net
704:名無しさん@お腹いっぱい。
18/01/07 01:54:30.71 JkICX0vw0.net
>>672
……? *で不要化してますよね?
705:名無しさん@お腹いっぱい。
18/01/07 12:54:08.50 vRDST1RB0.net
本当にちゃんと読んだか?
「置換後のテキストに2バイト文字を使うことはできないので、スクリプト実行型でクリップボードを経由して貼り付けるなどの方法を取る必要がある」
706:名無しさん@お腹いっぱい。
18/01/07 16:17:48.05 JkICX0vw0.net
>>674
ご自分で試されましたか?
大分前から2バイト文字送信も実装されているようですが
そもそも質問の方向性が全く違います
707:名無しさん@お腹いっぱい。
18/01/07 16:59:29.06 TEnpSFgY0.net
>>671
『が入力される時に[[がBSで消されたことになるので、続けて[を打っても:*:[[[::が実行されない。
708:名無しさん@お腹いっぱい。
18/01/07 17:03:26.18 TEnpSFgY0.net
ホットストリングでやっても出来なくはないけど、ややこしいし色々問題あるからおすすめしない
709:名無しさん@お腹いっぱい。
18/01/07 17:41:28.22 JkICX0vw0.net
>>677
あー、簡単に上手いことはいかないんですね。
B0にして、かつスクリプト実行型に変えたらようやく入力バッファ残りました。
しかもバグなのか、必要とされるBackspaceの量(置換後に本来消す文字数)まで引き継がれてしまい、
後続もB0で手動でBackspaceの数を調整しないといけないハメに。
さらに言うと、「:B0 O*:abc::」のあとは「:B0 O*:bcd::」では反応せず、「:B0 O*:abcd::」のみ受け付けると仕様がよーわからん…。
とりあえず↓のように出来ましたけど、もっとスマートな書きかたあります?
:B0 O*:[[[::{Backspace}【
:B0 O*:[[::
Send, {Backspace}『
Return
710:名無しさん@お腹いっぱい。
18/01/07 18:35:00.89 TEnpSFgY0.net
>>678
?オプション付けないとa~z打った直後に動いてくれないから付けた方が良い
ちなみに、他にキー入力をいじるソフト(やまぶきRとか)使ってるとちゃんと動かない事がある
711:名無しさん@お腹いっぱい。
18/01/10 01:51:34.06 BCaOYMAn0.net
ゲームにAHKを利用しているのですが以下はQキーを押したとき
①Iキーを送る
②指定座標上で右クリ
③再びIキーを送る
という単純なものです
Q::example() ;
examplel(){
BlockInput On
Send {i}
Click right 1305,829
Send {i}
BlockInput Off
return
}
ここで質問なのですが、このマクロによる操作(①~③ですね)が一通り終わった後、マウスポインタをもとの位置に戻ってこさせるということは可能でしょうか?
712:名無しさん@お腹いっぱい。
18/01/10 02:51:37.30 4l+dsFFh0.net
>>680
移動する前に座標取得
MouseGetPos
713:名無しさん@お腹いっぱい。
18/01/10 10:42:20.97 JKf1Cq3D0.net
>>681
ありがとうございます
714:名無しさん@お腹いっぱい。
18/01/11 22:19:09.67 HG8U+U2Z0.net
RegExReplaceでファイルパスのファイル名だけを置き換えようとしたんですけどこう書いてしまうと
NewStr := RegExReplace("C:\a\b", "([^\\]+?)?$", "c")
tooltip,%NewStr%
結果が「C:\a\cc」となってしまいます。なぜか置き換え文字に指定した文字が二重で入力されます
以下のように置き換え回数を1に制限すると「C:\a\c」となってくれます
NewStr := RegExReplace("C:\a\b", "([^\\]+?)?$", "c",,1)
tooltip,%NewStr%
使っている正規表現がまずいのかRegExReplaceの記述の仕方がまずいのかわかりませんが置き換え文字が二重に入力されないようにするにはどうしたらいいんでしょうか?
715:名無しさん@お腹いっぱい。
18/01/11 22:55:45.09 8RyCoUmG0.net
>>683
RegExReplace("C:\a\b", "(.*\\).*", "$1c")
716:名無しさん@お腹いっぱい。
18/01/12 02:04:04.29 +j8QRcK60.net
>>683
拡張子、ファイルかフォルダの考慮も忘れず
717:に
718:名無しさん@お腹いっぱい。
18/01/13 13:16:34.08 aFWvyjXJ0.net
>>683
正規表現がまずくて、量指定子"?"とグループ化"()"の使い方が迷走してるんだと思う
個人的にはこう
RegExReplace("C:\a\b", "[^\\]+$", "c")
719:名無しさん@お腹いっぱい。
18/01/13 13:50:09.04 NZPiUPRF0.net
いつの間にかバグフィックスが進んで
1.1.27.04になっとるやないかい
720:名無しさん@お腹いっぱい。
18/01/13 23:00:31.98 u3DR4K2j0.net
>>684
>>685
>>686
ありがとうございます
参考になりました
721:名無しさん@お腹いっぱい。
18/01/14 11:50:07.84 M43+YLx+0.net
以下のスクリプトを「常時」「全てのウィンドウに」適用する(キャプションバーを隠す)にはどうすれば良いでしょうか
;キャプションバーをなくす
LWIN & LButton::
WinSet, Style, -0xC00000, A
return
「bug.n」の以下のスクリプトでも同様のことができているようなのでこの方法でもかまいません
(キャプションバーの非表示という部分の抽出の方法)
URLリンク(github.com)
実はこれで1年以上悩んでおります。
どうかよろしくお願いします。
722:名無しさん@お腹いっぱい。
18/01/14 13:28:36.81 SeWYloWZ0.net
>>689
URLリンク(arak.jp)
723:名無しさん@お腹いっぱい。
18/01/14 13:50:26.25 M43+YLx+0.net
>>690
できました!
本当に助かりました
ありがとうございました
724:名無しさん@お腹いっぱい。
18/01/15 11:47:41.46 r2mlDsgK0.net
sc と vk だが,フォーラム読む限りはvkのほうがいいみたいだぞ.scは”still supported”とか書いてあるが,いつ消されるかわからんしな.
725:名無しさん@お腹いっぱい。
18/01/15 23:34:41.39 6cx89JeH0.net
>>692
scのみで今まで問題無く行けてたがvkのみにしたら
一部でsc***→vk**変換以外で手直しやら動かなくなるやら困った事になった(ので途中で元に戻した)
例えば
sc029::send, {BS} ←[全角/半角]押下で{BS}
↓
vkF3::
vkF4::
send, {BS}
return
とする必要があったり
+sc03a::関数("引数") ←[shift]+[CapsLock]で関数実行
↓
普通にCapsLockのON/OFF切り替えになってしまう
([CapsLock]キーを[F**]に割り当てて、+F**::~ とすれば行けるのかな?…面倒なので確認していない)
とりあえず未だsc***のみでも問題無く動いてるので行けるとこまでこのままいくわ(´・ω・`)
726:名無しさん@お腹いっぱい。
18/01/16 00:08:51.64 NLQSNNGB0.net
うちも試しに更新したらUSキーボドのCapsLock系が動作しなくなった
更新内容がいまいちわからん
これがエラーで動かなくなった
;CapsLock ON/OFF
~Shift & vkF0sc03A::Send, {CapsLock}
こっちは動く
;------CapsLock Auto OFF ------
CapsLock::
GetKeyState, state, CapsLock, T
If state = U ;OFF
SetCapsLockState, ON
else
{
SetCapsLockState, OFF
}
Timer03:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
でもこっちでCapsLockの状態取得しようとすると動かない
~Shift & vkF0sc03A::
バージョン戻したけど時間がある時にもう一度書き直してみようと思う
何か分かる人いたらヒントください。
727:名無しさん@お腹いっぱい。
18/01/16 07:21:01.72 NWgRaCQP0.net
>>694
vkF0sc03A
↓
sc03A
でいけると思う。
728:名無しさん@お腹いっぱい。
18/01/16 14:37:48.49 NLQSNNGB0.net
>>695
vkF0sc03A が sc03a に置き換わっただけで状況は同じでした
どちらも動かない
+sc03a
~Shift & sc03a
動作する
sc03A
やりたいこと
違うソフトでCapsLockのオンオフの操作を変えていたので
Shift + CapsLock で統一したい
その際に自動オフのコードを...
CapsLock:: ;Shift + CapsLockにしたい
GetKeyState, state, CapsLock, T
If state = U ;OFF
SetCapsLockState, ON
else
{
SetCapsLockState, OFF
}
Timer03:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
729:名無しさん@お腹いっぱい。
18/01/16 14:45:00.33 NLQSNNGB0.net
あっ これも駄目ですね
~Shift & sc03A::Send, {CapsLock}
CapsLockのみでも反応してしまう
問題無し
~Shift & vkF0sc03A::Send, {CapsLock}
でも、~Shift & vkF0sc03Aはオートオフのコードが反応しない
730:名無しさん@お腹いっぱい。
18/01/16 16:07:31.09 NLQSNNGB0.net
連投すまん
>>697は
CapsLock::returnしております
731:名無しさん@お腹いっぱい。
18/01/16 18:51:12.72 IxAc+IU+0.net
バグフィックスの動きが激しいし
しばらくは1.1.26.01で止めておいたほうがよさそうだな
732:名無しさん@お腹いっぱい。
18/01/17 03:45:15.83 5KJf9t9O0.net
1.1.27.06でdefenderがウィルス判定出しやがる
まあアプリの性質的に誤検出しやすいのはしょうがないけど
733:名無しさん@お腹いっぱい。
18/01/17 03:52:01.97 5KJf9t9O0.net
zip版なら平気だった
734:名無しさん@お腹いっぱい。
18/01/17 14:23:18.25 Pgssw/8N0.net
ControlSendですが、これで入力しようとすると、ターゲットのウィンドウがアクティブになって表に出てきてしまいます
裏で入力させることって出来ませんか
最前面では別のウインドウで作業していて、その間に、他の隠れているウインドウにControlSendで値を入れたい
のですが
735:名無しさん@お腹いっぱい。
18/01/17 18:15:41.52 RG3q26nn0.net
ソフトにもよるとしか言いようが無いけど
DetectHiddenWindowsを試してみたら
736:名無しさん@お腹いっぱい。
18/01/18 07:34:28.16 E6v3BPu00.net
DetectHiddenWindowsは関係ないんじゃね?
裏に隠れているだけだから
737:名無しさん@お腹いっぱい。
18/01/19 09:27:55.09 3Oem/ury0.net
10キー付きキーボードの10キー部分と、と10キーパッドで、それぞれ別の割当をすることって出来るのでしょうか? ハードウェア別の設定が出来れば10キーパッドを有効活用できるかなと思ったのですが…。
738:名無しさん@お腹いっぱい。
18/01/19 09:36:14.73 ds+5Qw5m0.net
出来ません
素直にプログラマブルキーパッドを使いましょう
739:名無しさん@お腹いっぱい。
18/01/19 10:11:56.19 3Oem/ury0.net
ありがとうございます。
740:名無しさん@お腹いっぱい。
18/01/19 10:40:55.87 m9/Neybx0.net
まさにそういうソフトは存在するよな
一時使ってた
741:名無しさん@お腹いっぱい。
18/01/19 16:07:46.92 AVpnJ5wF0.net
HID Macrosだっけっか
その辺は CG用補助入力総合スレ あたりが詳しかったと思う
スレリンク(cg板)
742:名無しさん@お腹いっぱい。
18/01/22 02:02:18.12 TAC5etfN0.net
main.ahkと更新.ahkで2つ起動したいと思うのですが
長時間起動してるといつの間にかフリーズしているので
更新.ahkで両方のahkをリロードしたいのですが
どのようなスクリプトを書けば良いのですか
よろしくお願いします
743:名無しさん@お腹いっぱい。
18/01/22 02:14:51.75 D9rOGpYI0.net
更新.ahk自身はReloadコマンドでリロード出来る
main.ahkは冒頭に
#SingleInstance force
を書いておけば更新.ahkでRunするだけでリロードされる
744:名無しさん@お腹いっぱい。
18/01/22 04:04:19.09 OoTUIsqF0.net
>>711
何とか出来ました!
reload
run , c:~main.ahk
上記のアホなことやっていて更新できないなぁと悩んでいましたw
教えて頂きありがとうございました
745:名無しさん@お腹いっぱい。
18/01/23 12:24:46.18 0+zHhbeo0.net
Autohotkeyで即時関数みたいなことできます?
MouseGestureLでジェスチャ毎に再利用しない変数を保持しっぱなしなのもなんだし
最後に一々解放するのもスマートでないというかめんどいというか
代替案でもいいのでお願いします
746:名無しさん@お腹いっぱい。
18/01/23 14:55:23.06 9c2K3oq50.net
>>713
どこでもいいから関数書いて呼び出すだけ
747:名無しさん@お腹いっぱい。
18/01/23 15:01:59.35 9c2K3oq50.net
hoge()
return
hoge() {
MsgBox
}
; --------
hoge2()
hoge2() {
MsgBox
}
return
; --------
hoge3() {
MsgBox
}
hoge3()
return
748:名無しさん@お腹いっぱい。
18/01/23 21:28:28.51 0+zHhbeo0.net
いや、都度関数を作ると関数名
749:がどんどん消費されちゃうってことで即時関数のやり方を聞いた次第です っていうか即時関数というより無名関数でしたね
750:名無しさん@お腹いっぱい。
18/01/24 02:41:30.95 YYzix6Ix0.net
MouseGestureL使ってないんでわかんないけどObjectじゃだめなん?
751:名無しさん@お腹いっぱい。
18/01/26 11:51:05.61 A8q+WlDN0.net
LWin::[
ってやってるだけなんだけど
いつのバージョンからかキーボードの他のキーやマウスのサイドボタンまでおかしな挙動をするようになった
割り当て自体は成功してるんだけど副作用がすごい
仕様変更ですかそれともおま環ですか?
752:名無しさん@お腹いっぱい。
18/01/26 14:32:12.71 lXZy4ZkG0.net
>>718
そういうのはレジストリ変更タイプのキーチェンジャーをおすすめする
753:名無しさん@お腹いっぱい。
18/01/26 16:08:35.67 A8q+WlDN0.net
>>718
すまん…おま環だったわ
マウス変えた時に入れたLogicool Optionsと競合してるだけだった
まぁ解決は出来なかったんだけどね
754:名無しさん@お腹いっぱい。
18/01/26 19:32:30.01 tlFNmfdt0.net
>>716
できない
v2でも実装する予定なし(去年の時点で)
URLリンク(autohotkey.com)
関数名やラベル名を消費しないでサブルーチン作る方法は今のところないんじゃないかな
変数の一斉解放だけなら、変数をオブジェクトにまとめておいて最後に空にするとかあるけど
代案とするには弱すぎる
755:名無しさん@お腹いっぱい。
18/01/27 12:35:13.87 CxWu/J0c0.net
>>717
>>721
実装予定もなしかー
プラグインレベルの大掛かりなのだとobjectもありかもですね
ありがとうございました
756:名無しさん@お腹いっぱい。
18/01/29 13:14:45.61 cdR4sGD2CNIKU.net
Ctrl+CでPageDown、Ctrl+Q Ctrl+CでCtrl+PageDownに
したくて以下のようにしたのですが、^q後の^cがPageDown
に置き換えられてしまっているのかInputで拾えません。
何か方法はありませんでしょうか?
^c::send, {PgDn}
^q::
Transform, CtrlC, Chr, 3
Input,InputChar,I M L1 T2
if (InputChar = "c" or InputChar = CtrlC)
Send,^{END}
757:名無しさん@お腹いっぱい。
18/02/01 01:50:51.47 IVRJohHu0.net
gpd pocket を axキーボード設定で使っているのですが ?? のキーにFnを入れることはできますか?もしできるようなら教えてください。
758:名無しさん@お腹いっぱい。
18/02/01 01:52:25.90 IVRJohHu0.net
724です。
??は 三と書いてあるキーです
759:名無しさん@お腹いっぱい。
18/02/01 02:21:21.73 pVoUMo//0.net
>>725
FnキーはOSやソフトウェアを介さないハードウェアキーなので無理
「三と書いてあるキー」と言うのは恐らくAppsKeyのことなんだろうけど、それなら
AppsKey & ○:: でそれぞれの機能を割り当てれば疑似的にFnキーの様に使うことは可能
一つずつ割り当て行う必要あるから少し面倒だけどね
例)
AppsKey & Left:: Send, {Home}
AppsKeyのことじゃなかったら知らん
760:名無しさん@お腹いっぱい。
18/02/01 06:26:10.42 IVRJohHu0.net
>>726
ありがとうございます。
三はAppsKeyというのですね。
何もしらなくてすいません。
Fnキー無理なのですね、ファンクションキーがFn+数字キーなので片手で押せないので指の届く近くのキーに割り当てようと思いました。
でも全然わからなかったので質問してみました。
親切にありがとうございます。
761:名無しさん@お腹いっぱい。
18/02/01 07:26:34.43 urvW4tJz0.net
>>727
だからFnキー自体は割り当てられないけどAppsKeyをFnキーの様に使うことはできるっつーの
AppsKeyと数字の1キーを押したらF1を出力
AppsKeyと数字の2キーを押したらF2を出力
AppsKeyと数字の3キーを押したらF3を出力
以下略
これらを一通り割り当てればAppsKeyをFnの替
762:わりに使える 例まで出してやってんだしこれで分からないなら質問する以前に基礎知識不足 wikiをよく読んでから出直して
763:名無しさん@お腹いっぱい。
18/02/01 07:37:13.87 Y39MZt1z0.net
AHKアップデートかけたら
vk1Dsc07B & MButton:: foo()
みたいのが片っ端から動かなくなって焦った
結局元に戻したぜ
余計なことすんな
764:名無しさん@お腹いっぱい。
18/02/01 08:10:11.62 IVRJohHu0.net
>>728
AppsKey & 6:: Send, {F6}
AppsKey & 7:: Send, {F7}
AppsKey & 8:: Send, {F8}
AppsKey & 9:: Send, {F9}
できました。
これで日本語入力楽になります。
本当にありがとうございました。
助かったです。
765:名無しさん@お腹いっぱい。
18/02/01 08:45:01.74 9rNYl+bm0.net
>>729
>>648
766:名無しさん@お腹いっぱい。
18/02/02 02:59:10.15 wY+RdUVV00202.net
v1.1.27.07にアップしたら、
もともとWinデフォのホットキーがあるキーに、
下のようなKeyWaitを使った複数タップ系のスクリプトが動かなくなった。
とりあえず「#2 Up::return」を上に置けば動いたけど何だろな?
#2::
Key := "2"
Timeout := 0.5
KeyWait,%Key%
KeyWait,%Key%,D T%Timeout%
if ErrorLevel = 1
{
スレタイ検索
return
}
;2タップ時
Googleで全文検索
return
767:名無しさん@お腹いっぱい。
18/02/02 05:38:52.02 EGJ8lL3F00202.net
なんだろうな動いたけど
GetKeyState, state, CapsLock, T で状態取得してelseで分岐させると動かない
でもトリガーがCapsLockキー単体なら問題無く動くんだよなぁ
同じコードなのにキーが違うと動かない理由ってなんだろう
;Shift+CapsLockに変えると動かない
;------CapsLock Auto OFF ------
vkF0sc03A::
GetKeyState, state, CapsLock, T
If state = U ;OFF
SetCapsLockState, ON
else
{
SetCapsLockState, OFF
}
Timer03:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
;Shift+CapsLockはこれじゃないと動かない
;------CapsLock Auto OFF ------
CapsLock::return
~Shift & vkF0sc03A::
Send, {CapsLock}
Timer03:
If(A_TimeIdlePhysical>5000)
SetCapsLockState, OFF
Return
768:名無しさん@お腹いっぱい。
18/02/02 05:43:35.42 EGJ8lL3F00202.net
そもそも状態を取得する必要性が何でだったかを忘れてるが...
下のコードだと何か気持ち悪い
769:名無しさん@お腹いっぱい。
18/02/02 11:23:50.20 UlhnALdl00202.net
vk**sc***は>648
それはそれとしてもLock系キーの動作は日本語OSではもともと不定でBIOS(UEFI)によって挙動バラバラだったし
たまたま動いてたのがバージョン変わったことで動かなくなったとしても別に不思議じゃないと思うが
770:名無しさん@お腹いっぱい。
18/02/11 15:54:02.28 wLAjQo6+0.net
識者の知恵をお借りしたい
ほとほと困ってます…
環境:windows7 32bit + Autohotkey 1.1.27.07
上記はvmware上で動作しています
この環境に,ipad + bluetooth keyboard + vmware horizone clientで,リモート接続しています
(つまり,クライアント側(ipad)の環境には,手が出せないということです)
で,windows7側で,キー入力をフックしたいのだが,Autohotkeyのkey historyで探ると,例えば…
VK=E7,SC=003D Type=U → 実際のキー入力は ”=”
VK=E7,SC=005B Type=U → 同 ”[”
VK=E7,SC=0040 Type=U → 同 ”@"
と表示されます
この情報から例えば,
sc003D::a
sc005B::b
sc0040::c
と,キーのリマップを定義しても,思い通りの動作にはなりません(scの後を3桁にしてもダメ)
また,
=::a
[::b
@::c
とやっても,思い通りの動作となりません
どうやら,autohotkey側で,VK=E7のキー入力をフック出来ていないような感じがします
このような(妙なキー入力)をフックする方法をご教授頂きたいのです
良い知恵や,サンプルコードなど,ありませんでしょうか?
771:名無しさん@お腹いっぱい。
18/02/11 16:54:31.12 3ZvNHM330.net
普通に
=::a
[::b
@::c
で機能してるけど
単に権限で弾かれてるだけじゃね?
772:名無しさん@お腹いっぱい。
18/02/11 17:35:40.80 DQMytbvG0.net
>>737
試してもらった環境で、autohotkeyのkey historyを確認してほ
773:しい。 該当する箇所のVK、SC、Typeの欄、>>736 と違うのではないかと…。
774:名無しさん@お腹いっぱい。
18/02/11 17:47:15.75 j35DJg2F0.net
[ → vkDB sc01B
@ → vkC0 sc01A
=なんてキーはないから知らん
775:名無しさん@お腹いっぱい。
18/02/11 17:52:01.25 3ZvNHM330.net
@ は C0 01A
[ は DB 01B
= はshift-なので、- は BD 00C
776:名無しさん@お腹いっぱい。
18/02/11 18:32:04.46 DQMytbvG0.net
>>739-740
本来は、それが正しいんだと思う。
>>736 のキー入力は、特殊な環境で発生するみたいで…。
何とかフックして、正しい状態に変換したいというのが、やりたいことなんです。
autohotkeyの他、keymillを使っても確認したが、やはり、仮想キーコードとスキャンコードは、>>736 と同じでした。
手詰まりなのかなぁ。
777:名無しさん@お腹いっぱい。
18/02/11 19:10:35.03 tFbq6f170.net
$ や #UseHook はどうなってんの?
778:名無しさん@お腹いっぱい。
18/02/11 20:36:51.05 wLAjQo6+0.net
>>742
現時点ではサンプルコードで動作確認している程度なので,必要かどうかは疑問
----- -----
#InstallKeybdHook
sc003D::a ; sc03Dも試した
sc005B::b ; sc05Bも試した
sc0040::c ; sc040も試した
----- -----
scriptとしては,上記しか記載していないです
#UseHookの記載があったとしても,効果ないですよね?
$は関係なさそうだし…
779:名無しさん@お腹いっぱい。
18/02/11 21:23:43.50 tFbq6f170.net
>>743
$ や #UseHookは
実際にキーが押された信号を拾う(ドライバレベルのキー変更は変更後を拾う)
ないときはソフトで発行されたキーも拾う
780:名無しさん@お腹いっぱい。
18/02/11 21:25:35.35 tFbq6f170.net
#InstallKeybdHookもおなじね
781:名無しさん@お腹いっぱい。
18/02/11 21:34:15.09 tFbq6f170.net
#InstallKeybdHookは関係ないわ忘れてくれw
782:名無しさん@お腹いっぱい。
18/02/11 21:49:22.37 wLAjQo6+0.net
>>744
----- -----
#InstallKeybdHook
#UseHook On
sc003D::a ; sc03Dも試した
sc005B::b ; sc05Bも試した
sc0040::c ; sc040も試した
----- -----
とやっても,ダメポ
思った通りの動きをしてくれない
----- -----
#InstallKeybdHook
#UseHook On
=::a ; sc03Dも試した
[::b ; sc05Bも試した
@::c ; sc040も試した
----- -----
もダメ
ヤレヤレ…
783:名無しさん@お腹いっぱい。
18/02/11 22:08:12.57 wLAjQo6+0.net
>>747
今判ったのだが,SCの4桁って,Unicodeだわ
U+003Dは"=",U+005Bは"[",U+0040は"@"
autohotkeyでUnicodeの入力をフックすることは,さすがに出来ないんだろうな
悩ましい…
784:名無しさん@お腹いっぱい。
18/02/13 06:44:07.16 sFxCGnec0.net
1.1.28.00
変更点多数
785:名無しさん@お腹いっぱい。
18/02/14 04:54:09.67 IcKhWWhH0.net
オブジェクトのクリーンアップ中に呼び出されたときに例外をキャッチして報告するように__Deleteを変更しました。
以前は、次の関数呼び出しまたはtry-block / threadの終わりまで例外を延期する(誤った)影響がありました。
アクティブなウィンドウが変化するのではなく、フォーカスが変化したときにホットストリング認識機能をリセットしました。
メニュー0&をウィンドウのシステムメニューとして扱うようにWinMenuSelectItemを変更しました。
#Includeに渡されたパス内のすべてのビルトイン変数のサポートが追加されました。
A_TimeIdleKeyboardとA_TimeIdleMouseを追加しました。
A_ListLinesを追加しました。
A_ComSpec(ComSpecのエイリアス)を追加しました。
A_LoopFilePath(別名A_LoopFileFullPathのエイリアス)を追加しました。
自動置換の代わりに同じ行のアクションを実行するhotstring Xオプションを追加しました。
Hotstring()を追加しました。
機能ホットストリングを追加。
StrSplitにMaxPartsパラメータを追加しました。
#MenuMaskKeyを改善して、VKとSC、またはvk00sc000を指定できるようにしました。
786:名無しさん@お腹いっぱい。
18/02/14 05:01:13.25 Rm7A3QSM0.net
A_LoopFilePathはほぼLongのほうしか使わないからそっちのエイリアスにしてくれればよかったのに
787:名無しさん@お腹いっぱい。
18/02/14 07:56:06.39 IcKhWWhH0St.V.net
vkxxscxxx修正疲れた
788:~ vkxxは動くとこと動かないとこがある scxxxは安定ぽい
789:名無しさん@お腹いっぱい。
18/02/14 12:30:38.02 eq9KUA5f0St.V.net
アプデしたいけどあらゆる作業に影響ありまくるから踏ん切りつかぬ
790:名無しさん@お腹いっぱい。
18/02/14 16:26:24.52 eOeOVFcL0St.V.net
うちなんかv1.1.24.00でずっと止めてるわ
v1.1.24.01のHotkeyコマンド関連の仕様変更にいまだに修正対応できずに足踏みしてる
791:名無しさん@お腹いっぱい。
18/02/14 21:21:16.70 AOagrs8+MSt.V.net
>>754
同じく
修正マンドクセ
792:名無しさん@お腹いっぱい。
18/02/14 23:58:57.92 yRogQsfK0.net
>>750
結局、vk**sc***表記を復活させたということかな
その方がいいんだけど、1.1.27~の時の苦労は何だったのかw
週末にでも更新しようかね
793:名無しさん@お腹いっぱい。
18/02/15 00:40:13.12 02BDAqxY0.net
なに迷走してんだか…
794:名無しさん@お腹いっぱい。
18/02/15 00:52:21.11 MGxE8Lu40.net
v1.1.24.01 → 1.1.28.00
レスポンスが悪くなった?
ALTキーの空押しでIMEの制御してたけど
ALT upがワンテンポ遅くなった
IME自体の表示は即オンオフの反映されるんだけど
文字を打ち込もうとするとALTが押された状態みたいでエラー音がティンティン鳴る
2秒位待たないと文字が打てなくなってしまった
何故かエディタのみで起こってブラウザでは問題無い
後、トグル系が急に効かなくなったり効いたり
トライアンドエラーで対策できず、結局バージョン戻したわ
795:名無しさん@お腹いっぱい。
18/02/15 02:01:48.57 MGxE8Lu40.net
原因はアクセラレーターキーだった
何故か反応するようになってしまってる
ブラウザの方はアクセラレーター切ってってて
使ってるエディタにメニューバーが無いので気づかなかったわ
空押しでアクセラレーターキーが効かないのを効くように修正したってことかな
もう一度バージョン上げてみたみたはいいけど、やっぱ駄目かも
796:昨日の成果物
18/02/15 06:21:05.12 A4rUj4nf0.net
/*
┌──┐
│存在判定│
└──┘
WinExist→WinActive…アクティブ判定
■関数
WinExist_1("WinTitle") ;前方一致検索
WinExist_2("WinTitle") ;部分一致検索
WinExist_3("WinTitle") ;完全一致検索
WinExist_R("WinTitle") ;正規表現検索
■使用例
if WinExist_n("WinTitle") ;ウィンドウがあれば
if !WinExist_n("WinTitle") ;ウィンドウがなければ
*/
WinExist_1(WinTitle) {
SavedTitleMatchMode := A_TitleMatchMode
SetTitleMatchMode,1
ErrorLevel := WinExist(WinTitle)
SetTitleMatchMode,%SavedTitleMatchMode%
return ErrorLevel
}
WinExist_2(WinTitle) {
SavedTitleMatchMode := A_TitleMatchMode
SetTitleMatchMode,2
ErrorLevel := WinExist(WinTitle)
SetTitleMatchMode,%SavedTitleMatchMode%
return ErrorLevel
}
797:つづき
18/02/15 06:21:20.14 A4rUj4nf0.net
WinExist_3(WinTitle) {
SavedTitleMatchMode := A_TitleMatchMode
SetTitleMatchMode,3
ErrorLevel := WinExist(WinTitle)
SetTitleMatchMode,%SavedTitleMatchMode%
return ErrorLevel
}
WinExist_R(WinTitle) {
SavedTitleMatchMode := A_TitleMatchMode
SetTitleMatchMode,RegEx
ErrorLevel := WinExist(WinTitle)
SetTitleMatchMode,%SavedTitleMatchMode%
return ErrorLevel
}
798:名無しさん@お腹いっぱい。
18/02/15 07:44:58.37 DStDVLAI0.net
_1 _2 _3 _R も引数にしたくなる人が多そう
799:名無しさん@お腹いっぱい。
18/02/15 19:03:18.66 XW96eMY10.net
>>760
関数などの別スレッドの各種設定は終了すると
規定値(AutoExecuteセクションの設定)に戻るので戻す必要はないよ
> SavedTitleMatchMode := A_TitleMatchMode
> SetTitleMatchMode,%SavedTitleMatchMode%
大量の関数ではなく引数を使おう
MsgBox % isWindow(, 2, "電卓")
return
isWindow(Active=0, MatchMode=1, WinTitle="A", WinText="", ExcludeTitle="", ExcludeText="") {
SetTitleMatchMode %MatchMode%
return (Active ? WinActive(WinTitle, WinText, ExcludeTitle, ExcludeText)
: WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
}
800:名無しさん@お腹いっぱい。
18/02/15 20:12:31.47 6ml6AmJ20.net
関数は別スレッドではありません
801:名無しさん@お腹いっぱい。
18/02/15 20:27:59.62 XW96eMY10.net
>>764
え?まじだ
すいません間違えました
802:名無しさん@お腹いっぱい。
18/02/15 20:50:07.36 XW96eMY10.net
>>763
すいません訂正します
同じスレッドでした
> 関数などの別スレッドの各種設定は終了すると
> 規定値(AutoExecuteセクションの設定)に戻るので戻す必要はないよ
MsgBox % isWindow(, 2, "電卓") "`nA_TitleMatchMode: " A_TitleMatchMode
return
isWindow(Active=0, MatchMode=1, WinTitle="A", WinText="", ExcludeTitle="", ExcludeText="") {
Save := A_TitleMatchMode
SetTitleMatchMode %MatchMode%
e := (Active ? WinActive(WinTitle, WinText, ExcludeTitle, ExcludeText)
: WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
SetTitleMatchMode %Save%
return e
}
803:名無しさん@お腹いっぱい。
18/02/15 23:28:05.40 A4rUj4nf0.net
>>766さん
別解ありがとうございます。知識になります。
804:名無しさん@お腹いっぱい。
18/02/16 11:24:34.32 U6oi7OTq0.net
ゲームに使おうとしています。
URLリンク(i.imgur.com)
上の画像のように、ゲーム内で検索した装備品で、
検索にヒットし黄色の枠でハイライトされているものを鞄にCtrl+LClickで移動させるマクロを作りたいと思っていまして
黄色の枠のみをペイントで抽出し、bmpで保存(下のコードのtest.bmpです)し
ahkのImageserchに使えばいけるのでは?と考えたわけですが
error level1が返ってきます。
同じように加工したjpg、枠以外を透過させたpngでも試しましたが同じくerorrlevel1でした
なにがまずいのでしょうか。。。
URLリンク(i.imgur.com)(抽出画像)
F8::some()
some(){
BlockInput On
ImageSearch, foundX, foundY, 0, 0, 1920, 1080, *TransFFFFFF C:\Users\User01\Desktop\test.bmp
If ErrorLevel = 2
MsgBox Could not conduct the search.
Else If ErrorLevel = 1
MsgBox Icon could not be found on the screen.
if ErrorLevel = 0
{
SendInput, {
MouseMove, %foundX%, %foundY%
Send {Ctrl down}
Click, %foundX%, %foundY%, Left, 1
Send {Ctrl up}}
BlockInput Off
}
}
805:名無しさん@お腹いっぱい。
18/02/16 12:00:10.03 SvcDK4bi0.net
ImageSearchを完全一致やめて誤差の余裕持たせてみ
806:名無しさん@お腹いっぱい。
18/02/16 12:01:54.87 kFXWbhgF0.net
>>768
画像を見た感じ、境界の部分が明示的透過というより背景と混ざっているように見える
多分アンチエリアスとかのせい
よって、*Nオプションである程度認識する色に幅を持たせるか
抽出画像の方を明確に色の濃い部分だけを残して真っ白にして透過指定する
とかを試してみてはどうだろう?
807:名無しさん@お腹いっぱい。
18/02/16 16:13:41.17 m7uJKjCZa.net
>>769 >>770
ありがとうございます
誤差検索*90をオプションに追記しましたところ、
ハイライトされたもののうち2つには反応しましたが
その二つを取り除いてみるとerror2でした
>>770
たしかにwindowsプリセットの画像ビューワで見たとき滲んだように見えますね
しかしペイントで抽出した際は滲んでいるようには見えず、この枠の太さ(ほかに表現方法がわかりません笑)が1ドットになるようにしたのですがこれが限界ではないということでしょうか(;´Д`)
808:名無しさん@お腹いっぱい。
18/02/16 18:22:57.21 ajEghuwq0.net
>>768
枠の形変わりそうだし画像で探すなら
最小限の3ドット以上の角(┏)でいいのでは?
PixelSearch*3回でもおk
809:名無しさん@お腹いっぱい。
18/02/16 20:23:31.67 uKa9qGpV0.net
所詮おまけ機能なんだから複雑な事しようとするとすぐ手詰まりになるよ
そういうのは何か他のツールに処理投げた方がマシ
810:名無しさん@お腹いっぱい。
18/02/16 20:59:29.19 ifkLCsJ10.net
俺はむしろ、こういう変態的な使い方を考えるのは凄いと思うよw
日本人っぽいニッチな工夫というか何というか
811:名無しさん@お腹いっぱい。
18/02/16 21:16:18.23 j4lSZ2IT0.net
>>768
これ対象画像側の枠サイズ一定じゃないね
812:名無しさん@お腹いっぱい。
18/02/16 23:56:5
813:5.26 ID:U6oi7OTq0.net
814:名無しさん@お腹いっぱい。
18/02/17 00:32:17.20 a1W66dge0.net
流れ読まずに質問スマソ
管理者権限のアプリも操作するためにAHK自身を管理者で実行すると、
今度はRUNで何か走らせる際にそれらも全部管理者権限になってしまう。
対策としては、
・タスクスケジューラを噛ませる
・Win+R 窓を開いてそこでコマンドを実行する
ほかにもっと簡単な方法はないでしょうか?
815:名無しさん@お腹いっぱい。
18/02/17 00:38:19.47 xrBc6gW30.net
ほんとだ
画像編集ソフトで半透明レイヤー重ね合わせてみたら縦横ズレることろあるね
URLリンク(i.imgur.com)
775良く気付いたなw
816:名無しさん@お腹いっぱい。
18/02/17 00:45:15.12 xrBc6gW30.net
>>777
俺はこうやってる
Run, Explorer "標準権限で起動したいアプリ.exe"
817:名無しさん@お腹いっぱい。
18/02/17 01:00:18.16 ykUscsnm0.net
タスクバーをアクティブにしてMbuttonを押すと何かする
のをやろうとしたんですがMbuttonが効かないんです
スクロールは割り当てできます
おま環ですかね?
818:名無しさん@お腹いっぱい。
18/02/17 20:13:15.35 9Ob7L7Vv0.net
>>779
run, explorer "notepad.exe"
とかやってみたけど、マイドキュメントフォルダーが開くだけだったよ
819:名無しさん@お腹いっぱい。
18/02/17 20:20:17.03 9Ob7L7Vv0.net
>>779
>>781
run, explorer "C:\Windows\System32\notepad.exe"
パス付けたら動いた
どうもありがとう!!
820:名無しさん@お腹いっぱい。
18/02/17 20:27:03.30 Wm0LX3zO0.net
>>781
ちゃんとパス指定しないとアカン
パス指定は絶対パスでも相対パスでも可能
ただし起動したいexeと同一フォルダにahkファイル置くならパス指定不要
821:名無しさん@お腹いっぱい。
18/02/17 20:41:59.94 9Ob7L7Vv0.net
>782
いろいろ試したけど、
ターゲットアプリに引数を渡すことは出来ないみたいだね
例)
explorer "C:\Program Files\internet explorer\iexplore.exe" URLリンク(ntt.setup)
explorer.exe の仕様なんだろうか
822:名無しさん@お腹いっぱい。
18/02/17 21:15:34.04 GM2z7ZiA0.net
URLリンク(github.com)
これ使えばできた
823:名無しさん@お腹いっぱい。
18/02/18 00:24:02.28 OinWbaSp0.net
いろいろありがとう!
824:名無しさん@お腹いっぱい。
18/02/18 13:06:36.91 R6I2ijWP0.net
vk**だとvkF0::Returnしか効かないな
sc03Aでやっと出来た
OFFにするだけのコードに手こずってしまった
何を当ててもOFFから当てたキーと同時にONになってしまうのね~
GetKeyState, state,でイケたけどSetCapsLockState, OFFでONにしないというのは感覚的にキモいな
元々OFFの状態だからか何かもぞもぞする
;USキーボードCapsLock制御
#InstallKeybdHook
SetTimer, Timer01, 1000
SetStoreCapslockMode, off
;------------------------------------
~LShift & sc03A:: ;左Shift+CapsLockでCapsLockのON OFF
Send, {CapsLock}
Timer01:
If(A_TimeIdlePhysical>5000) ;5秒間何も押されなかったら
SetCapsLockState, OFF ;自動でOFFにする
Return
sc03A:: ;CapsLockがONの時にOFFにするだけ(ONにしない)
GetKeyState, state, CapsLock, T
If state = D ;ONだったら
SetCapsLockState, OFF ;OFFにする
GetKeyState, state, CapsLock, P
If state = U ;物理的にCapsLockキーが押し下げされてなければ
SetCapsLockState, OFF ;OFFにする(ONにしない)
Return
825:InStr版も作ってみた
18/02/18 22:24:30.08 3FpAdC2Y0.net
┌─────┐
│マッチ判定(通常検索)│
└─────┘
■関数
□大文字/小文字の区別なし
InStr_1(var, "検索文字列") ;前方一致検索
InStr_2(var, "検索文字列") ;部分一致検索
InStr_3(var, "検索文字列") ;完全一致検索
□大文字/小文字の区別あり
InStr_1(var, "検索文字列"
826:, "true") ;前方一致検索(大文字/小文字の区別) InStr_2(var, "検索文字列", "true") ;部分一致検索(大文字/小文字の区別) InStr_3(var, "検索文字列", "true") ;完全一致検索(大文字/小文字の区別) ■返値 真…マッチ位置 偽…0 ■使用例 if InStr_n(var, "検索文字列") ;マッチすれば if !InStr_n(var, "検索文字列") ;マッチしなければ if InStr_n(var, "検索文字列") = n ;検索文字列がn文字目にマッチすれば
827:コード
18/02/18 22:35:18.66 3FpAdC2Y0.net
InStr_1(Haystack, Needle, CaseSensitive="") {
SavedTMM := A_TitleMatchMode
SetTitleMatchMode, 1
FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
SetTitleMatchMode, %SavedTMM%
return FoundPos
}
InStr_2(Haystack, Needle, CaseSensitive="") {
SavedTMM := A_TitleMatchMode
SetTitleMatchMode, 2
FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
SetTitleMatchMode, %SavedTMM%
return FoundPos
}
828:コード(つづき) ※エラーのため分割カキコ
18/02/18 22:38:00.78 3FpAdC2Y0.net
InStr_3(Haystack, Needle, CaseSensitive="") {
SavedTMM := A_TitleMatchMode
SetTitleMatchMode, 3
FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
SetTitleMatchMode, %SavedTMM%
return FoundPos
}
829:名無しさん@お腹いっぱい。
18/02/18 22:43:08.17 ZvCWwtWf0.net
>>788
>>1のURLリンク(pastebin.com)を使ったらどう?
830:名無しさん@お腹いっぱい。
18/02/18 22:57:11.81 3FpAdC2Y0.net
>>791さん
次から使わせていただきます。
831:名無しさん@お腹いっぱい。
18/02/19 03:06:32.79 Y9HUB6jX0.net
それ _1 _2 _3 全部同じやw
InStr に SetTitleMatchMode を設定しても何の効果も無いよ
832:788
18/02/19 04:14:54.89 BdhMP5UP0.net
>>793さん
ご指摘ありがとうございます。
InStr()関数はIfInString文同様部分一致検索のみで意味ないことしてました。m(_ _)m
833:名無しさん@お腹いっぱい。
18/02/19 04:35:55.96 BdhMP5UP0.net
前方一致検索…RegExMatch(var, "^検索文字列")
後方一致検索…RegExMatch(var, "検索文字列$")
完全一致検索…RegExMatch(var, "^検索文字列$")
部分一致検索…InStr(var, "検索文字列")
部分一致検索…IfInString, var, 検索文字列
834:名無しさん@お腹いっぱい。
18/02/19 05:00:29.90 PJPmNhpU0.net
>>795
うざい
835:名無しさん@お腹いっぱい。
18/02/19 05:11:58.24 BdhMP5UP0.net
スレ汚しすみません。しばらくロムります。
836:名無しさん@お腹いっぱい。
18/02/19 11:21:09.62 IXuHbD6q0.net
WinExist_n()でn部分を引数にせえよって指摘されたのなら次にも生かしたらいいと思うの
…って書こうとしたら_nで分けること自体に意味がないのかこれw
837:名無しさん@お腹いっぱい。
18/02/19 11:40:12.03 BxLXEv6G0.net
添削お願いします の一文も無く、いきなり貼られても困るよね
838:名無しさん@お腹いっぱい。
18/02/20 00:26:22.82 9Z14yE7+0.net
ただ質問しただけだと教えてもらえないけど自信満々に間違ったことを書くと煽りとして正解が返ってくるという
2ちゃんあるあるを利用したのかもしれない
839:名無しさん@お腹いっぱい。
18/02/23 07:33:03.76 9Fk1AXu40.net
うむ、専門板では必須の基本テクだよな
840:名無しさん@お腹いっぱい。
18/02/23 07:33:14.45 Y0VJAwMh0.net
今更ながらこれを実装した
ペーストできない欄にID、パスワード等を書き込むのに便利
こんなの10年前にやるべきだったな…
^+v:: send,%clipboard%
841:名無しさん@お腹いっぱい。
18/02/23 07:50:14.04 ZjJ8bLPd0.net
>>802
コピペでパスワード入力するってことは、パソコン内にパスワードのテキストを置いているんでしょ。
Send,LoginID{Tab}PassWord{Enter}
で良いんじゃないの?
842:名無しさん@お腹いっぱい。
18/02/24 00:25:26.38 b4HvGc+S0.net
すみません質問なんですが
エディタ等では使えるんですがExplorer上でファイル名の編集で使えないです
クリップボードの文字に括弧を付けて一旦格納することは可能でしょうか?
タイムスタンプは^vで貼り付け出来ているのでこれも出来ないかなと思いまして
どなたか知恵をお貸しくださいおねしゃす
;選択したテキストを括弧で囲む
Menu, 01, Add, 【 】で囲む, Command1 ;メニュー
;━━━
Command1:
clipboard =
Send ^c
ClipWait
Send 【%clipboard%】
clipboard =
Return
;━━━
~Alt & [:: ;Alt+ [ でメニューの表示
IME_SET(0)
Menu, 01, Show
return
こっちはどこでも使える
;━━━
~F13 & Tab::
FormatTime, TimeString,,yyyy_MMdd_HHmm
Clipboard = %TimeString%
Send, ^v
clipboard =
return
843:名無しさん@お腹いっぱい。
18/02/24 15:06:36.08 b4HvGc+S0.net
これで駄目なら無理なのかな?
Command1:
clipboard =
Send ^c
ClipWait
clipboard = 【%clipboard%】
Send ^v
clipboard =
Return
844:名無しさん@お腹いっぱい。
18/02/24 15:17:50.05 HoejbmkP0.net
>>804
最後の Send と clipboard = の間に、
Sleep,100
を入れて実験してみて。
845:名無しさん@お腹いっぱい。
18/02/24 15:45:22.10 J1gZxMO+0.net
>>804
メニュー表示した段階でファイル名編集状態が外れてるんじゃないの?
846:名無しさん@お腹いっぱい。
18/02/24 22:17:24.31 HiBHIVZG0.net
だな
フォーカス外れた段階でファイル名のEditBoxがなくなるから別窓やメニュー表示は無理
LiNameみたいなリネームソフトでいったんエディタに飛ばして変換するのが無難かと
847:804
18/02/24 22:47:10.87 b4HvGc+S0.net
ありがとうございます。なるほど理解しました
結果的にExplorer上ではメニュー出さずに直で行うようにしました
F14::
clipboard =
Send ^c
ClipWait
Send 【%clipboard%】
clipboard =
Return
あとはキーをちょっと工夫してみます。
トグルして括弧の種類を変えていければいいんだけど...
848:名無しさん@お腹いっぱい。
18/02/28 04:34:44.24 WVOCCenh0.net
エラー処理入れておいたほうがいいぞ
clipboard= ; クリップボードの内容をクリア
send, ^c
clipwait,1000 ; クリップボードの内容がからの間は待つ
if ErrorLevel <> 0 ; タイムアウト時のエラー処理もちゃんとする
{
return
}
msgbox, clipboard changed: [%clipboard%]
return
849:名無しさん@お腹いっぱい。
18/02/28 10:49:33.46 fyn3Q3mHr.net
正規表現スレからコピペ
RegExMatch("こんにちは。", "(.)+", $)
MsgBox, %$1% ;「こ」じゃなくて「。」が入るんだね
RegExMatch(str, "^(.)+", $)
でも同じ結果だた
2バイト文字だからこうかなと思たら
RegExMatch(str, "^(..)+", $)
$1に「は。」が入る
もうわけわかんねー
850:名無しさん@お腹いっぱい。
18/02/28 14:03:38.13 smTsGnw20.net
なにがわからないのかわからない
(.) 1文字キャプチャ
+ 繰り返し
→$1が都度上書きされて最終的に「。」
851:名無しさん@お腹いっぱい。
18/02/28 17:19:59.24 Wd8kHTTzM.net
わけわからんのは大抵仕様を読んでないからだ
852:名無しさん@お腹いっぱい。
18/02/28 17:40:10.57 fyn3Q3mHr.net
>>812
トン
>$1が都度上書きされて最終的に「。」
勉強になりました
853:名無しさん@お腹いっぱい。
18/03/03 21:32:14.87 8R4aDJlk00303.net
質問です
入力履歴、若しくはhotstring recognizerのリセットってできますか?
ホットストリング使ってるんですが、動作して欲しく無い場合があり、その場合途中でリセットしたいんです。
(物理)カーソルキーとかを挟むとリセットできるんですが、
AHKから(例えば無変換+で発生させたカーソルキー)だとリセットされないんですよね……
854:名無しさん@お腹いっぱい。
18/03/04 00:32:52.54 Hu/zstz50.net
できないっぽいですね。
とりあえず、
問題のキー入力から最速で!"#$みたいな、絶対に使われない文字列をsendで出力して
ソレをホットストリングの確定文字無しで認識させて、その時Zオプションを使う
でイイですかね?
855:名無しさん@お腹いっぱい。
18/03/04 05:03:51.36 cZsx79sA0.net
#ifか新機能のHotstringで止めればいいのでは?
URLリンク(autohotkey.com)
856:名無しさん@お腹いっぱい。
18/03/04 20:14:50.24 Hu/zstz50.net
リンクありがとうございます
コマンドのHotstringやZTオプションとか、色々増えてるんですね。
いつも日本語のwikiの方を見てました。
#IFを使って、
IMEオンオフでホットストリングの挙動を分けていたんですが、
IMEオンの時も、
IMEオフキーを押す操作(変換中 文字をかなからローマ字小・大にする)があるので、反応してしまい困ってました。
しかし、よく考えたら、
その操作の後は(AHK側の変数では)IMEオフになっているので打鍵に反応してしまいますね。
結局そのキーを2つに分けるしかないみたいです。
お騒がせしました。
857:名無しさん@お腹いっぱい。
18/03/05 10:10:24.59 TBE7QJqP0.net
F1::SwitchingGems() ;
SwitchingGems(){
BlockInput On
Send I
Click, RIGHT, , 1690, 372
Click, LEFT, , 1615, 250
Click, RIGHT, , 1690, 372
Send I
BlockInput Off
return
}
上記のように指定箇所を計三回クリックするマクロを作りたいのですが
Clickの三回目だけが動作していないようでクリックされません
左クリックと右クリックの間にsleepやdelayなどを挟んでみましたが解決しませんでした。
どうすればいいのでしょうか。。。
858:名無しさん@お腹いっぱい。
18/03/05 11:18:03.82 IOshgH160.net
三回目だけ残しても動かないなら
マクロ対策されてるかもしれないから
sleepをすごい多めにとってみるとか
859:名無しさん@お腹いっぱい。
18/03/05 11:21:07.70 IOshgH160.net
× 三回目だけ残しても動かないなら
○ 三回目だけ残して動くなら
860:名無しさん@お腹いっぱい。
18/03/05 18:03:55.74 EWicYF830.net
>>819
ミスかどうか判断できないので
sleepやdelayなどを挟んで解決しなかったものを書いてほしい
861:名無しさん@お腹いっぱい。
18/03/06 10:20:22.05 zUUbNPBB0.net
loop,10{
Click, RIGHT, , 1690, 372
}
闇雲に連打してみる
862:名無しさん@お腹いっぱい。
18/03/08 08:50:41.34 BnoQlrXA0.net
Mouse without Bordersのコンパネなのですが
WinMoveやWinMaximaize等が効きません。
Winsetも効きません。
これらを効くようにすることは出来ませんか?
863:名無しさん@お腹いっぱい。
18/03/08 08:51:05.88 BnoQlrXA0.net
ちなみにWinActivateは効きます。
864:824
18/03/08 19:24:12.88 BnoQlrXA0.net
>>824ですが、一般論としてウインドウをWinMoveやWinSetが効かなくすることとかウインドウ側で
出来るのですか
865:名無しさん@お腹いっぱい。
18/03/08 20:21:04.86 Yf0JqExZ0.net
Mouse without Bordersとやらは知らんけど一般論で言うなら管理者権限のせいで弾かれるとか
その場合はahkスクリプトも管理者権限で実行する必要ある
あくまでも一般論
866:名無しさん@お腹いっぱい。
18/03/08 21:04:46.18 KOKOXPVs0.net
こういうマクロを作りたいと思っています
①指定キーを押すと画像認識マクロが有効になる
②有効となっている間、画面上にお目当ての画像が出てきた場合にInput
③指定キーをもう一度押すとマクロ自体をsuspend
マクロが有効となっている間、常時画像認識マクロが目を光らせるようにするには
どんなコマンドを使えばいいのでしょうか?
今のところ自分でできてるのは
suspendをトグルさせること(①と③)と
1回キー押したときに1回だけ画像認識を正確に行わせることまでです。。
867:名無しさん@お腹いっぱい。
18/03/08 21:21:08.26 KkF548Je0.net
画像認識って何の事だ?imagesearchか?
868:名無しさん@お腹いっぱい。
18/03/08 21:29:31.69 KOKOXPVs0.net
あ、すいませんimagesearchのことです
869:名無しさん@お腹いっぱい。
18/03/08 21:44:52.70 bMjXMYrA0.net
SetTimerでImageSearch繰り返せば良いんじゃね
あとは指定キーでSetTimerをON/OFF
あと質問するなら自分が書いたスクリプト張った方がいい
870:824
18/03/09 07:31:16.30 tuBlM4VC0.net
>>827
もちろん管理者権限でやってみましたよ。でもダメでした
871:名無しさん@お腹いっぱい。
18/03/09 08:03:10.58 0+2toMkh0.net
>>824
参考になるかどうか分からないけど、俺のウィンドウの移動やサイズ変更のスクリプトだと、
移動は、ハンドラを使ったWinMove と コントロールを使ったControlMove
の2通りを使っていて、サイズ変更も同じような感じ。
たしか、MDIウィンドウに対応するためだった。
872:名無しさん@お腹いっぱい。
18/03/09 08:11:40.12 tuBlM4VC0.net
>>833
ハンドラを使うということはDllを使うとかってことですか?
本来のWinMoveはハンドラは扱えないと思ったけど
873:名無しさん@お腹いっぱい。
18/03/09 08:45:40.20 0+2toMkh0.net
>>834
マウス位置のウィンドウを移動するのに
MouseGetPos,,,mh,ct,3
WinMove,ahk_id ,%mh%,,x,y
こんな感じの書き方をしてた。
874:名無しさん@お腹いっぱい。
18/03/09 08:46:35.41 0+2toMkh0.net
コントロールだと、
ControlMove,,x,y,,,ahk_id %ct%
875:名無しさん@お腹いっぱい。
18/03/09 08:52:03.57 tuBlM4VC0.net
そういうことか。ありがとう
876:名無しさん@お腹いっぱい。
18/03/09 14:09:34.75 Etdy2Nz+0.net
>>832
だったら先に言えよな
偉そうに「もちろんやった」とか後出しで言われても知ったこっちゃねえし
877:名無しさん@お腹いっぱい。
18/03/09 17:45:02.34 2iq8dj2Z0.net
Wikiにあったボタンを押すたびに動作が変わるってのを試しているんですが、
動作自体はして、111と押すと123と出力されるのですが、2回目移行は、
1111と入れないと、123と出力がされません。
何か他に設定する必要があるのでしょうか?
1::
ComboF += 1
If ComboF = 1
{
send, 1
return
}
If ComboF = 2
{
send, 2
return
}
If ComboF = 3
{
send, 3
return
}
ComboF = 0
return
878:名無しさん@お腹いっぱい。
18/03/09 17:50:14.55 c8UvBeAJ0.net
>>839
1回押すごとにComboFが今いくつで、どこのifに入って、どこでreturnしているのかをちゃんと追っていけばわかる
879:名無しさん@お腹いっぱい。
18/03/09 17:53:58.10 OlYgn7zv0.net
>>839
ComboF = 0
が4回目になってるからだろう
3回で繰り返したいならSend, 3の後に入れれば良い
880:名無しさん@お腹いっぱい。
18/03/09 21:08:38.36 LKcOP/MX0.net
>>840
>>841
ありがとう。
うまく動きました!
881:名無しさん@お腹いっぱい。
18/03/10 16:31:28.14 G9FIqbQm0.net
あるソフトで右Altに機能を割り当てているのでマウスボタンで呼び出そうと
xbutton1::send,{Ralt}
return
と書いても動きませんでした
AutoHotkeyの履歴ではRaltが送られているのですがソフト側が認識しないみたいです
試しにメモ帳などでも試したらキーボードでAltを打つとメニュー欄にフォーカスが移動しますが
AutoHotkeyからAltを送っても何も反応しません
修飾キーを単独で押した事にするには何か別な書き方があるのですか?
882:名無しさん@お腹いっぱい。
18/03/11 01:18:05.15 RPCHFg2O0.net
最近気づいたけど
Send,!^{Del}
って機能しない?
883:名無しさん@お腹いっぱい。
18/03/11 01:30:47.46 C1GH2eZG0.net
>>844
Send自体は機能してるので入力検出ソフトなどではCtrl Alt Delを検出してる
ただしOSは受け取らないっぽい
884:名無しさん@お腹いっぱい。
18/03/11 01:37:30.01 RPCHFg2O0.net
>>845
ありがとうございます。
できないことが、はっきりわかると
もう試行錯誤しなくてすむので。
885:名無しさん@お腹いっぱい。
18/03/14 13:33:38.67 HnQGWYiV0Pi.net
お尋ねします
trayメッセージ?の表示存在の有無や内容テキストを得る方法はあるんでしょうか
使っているbluetooth機器が自動電源オフになり、その都度trayに出てくるバルーンを数回クリックして再接続するのが手間なので、これを自動化できたらいいなと思っております
886:名無しさん@お腹いっぱい。
18/03/15 09:31:06.48 xPyBwzTO0.net
トリガーを3キー同時押し
一応動いてるんですが書き方はこんな感じでいいんでしょうか?
;a+CapsLock+SpaceでShift+a
a::
#if GetKeyState("sc03A", "Space")
Send, +a
return
887:名無しさん@お腹いっぱい。
18/03/15 09:36:02.65 xPyBwzTO0.net
すみませんつづき
押しっぱなしになってaキー単独で使えないっす
888:名無しさん@お腹いっぱい。
18/03/15 17:21:57.74 QbWkJm2V0.net
a:: だとaのキーの置き換えだから、そら単独では使えなくなるわ
a & space
889::: if [CapsLockの押し下げ状態] なら[処理] ではどうです。Capsの押し下げは取得が面倒だったような気もするけど
890:名無しさん@お腹いっぱい。
18/03/15 17:49:42.32 VH/6Gl1J0.net
普通のキーをモディファイアキーとして使うのは、いろいろと不便があるよ。
891:名無しさん@お腹いっぱい。
18/03/15 18:33:48.29 xPyBwzTO0.net
>>850
あっ そうか
そりゃそうっすよね
しかし、2キーをトリガーで3つ目をifってみたけど駄目ですな~
う~ん
ちょっと分岐してごにょごにょしてみます
892:名無しさん@お腹いっぱい。
18/03/15 19:04:06.20 xPyBwzTO0.net
出来ますた
~a & sc03A:: ;a+CapsLock
GetKeyState, state, Space, P ;Spaceの状態
If state = D ;押されてたら
Send, +a ;Shift+aを送る
else ;そうでない場合
GetKeyState, state, Space, P ;Spaceの状態
If state = U ;押されてなかったら
Send, a ;aを送る
return
ありがとうございました!
893:名無しさん@お腹いっぱい。
18/03/15 19:08:59.45 xPyBwzTO0.net
と、思ったら駄目だった
CapsLock+aが使えなくなった
分岐の必要が無かった
~a & sc03A::
GetKeyState, state, Space, P
If state = D
Send, +a
return
しかし、CapsLock+aに行くには一度キーを離さないと駄目だぬ
894:名無しさん@お腹いっぱい。
18/03/15 19:25:35.53 xPyBwzTO0.net
結果的に1キートリガーのSpaceの状態をifった
a::
GetKeyState, state, Space, P
If state = U
Send, a
else
GetKeyState, state, Space, P
If state = D
Send, +a
Return
これならCapsLockに指乗せたままで2つのコマンドを行き来できて
単独でaキーも押せる
まぁ実際CapsLock押して無くていいんだけど
操作の流れで感覚的にCapsLockをコマンドキーにしたかったので
まぁいいか
895:名無しさん@お腹いっぱい。
18/03/16 12:26:04.83 UouS7uLn0.net
Msgboxですが、はい、いいえ、キャンセルと3つのボタンをつけられますが、
このはい、いいえ、キャンセルという名前を変えることは出来ませんか。
これらを表示してからあとからの変更でも構いません
896:名無しさん@お腹いっぱい。
18/03/16 12:53:58.76 08l5uqXC0.net
ControlSetText
ただし普通にMsgBoxの次の行に書いてもダメだからなんらかの別スレッドで
897:名無しさん@お腹いっぱい。
18/03/16 13:12:55.46 jjTV3maS0.net
試してないけどメニューと同じで別スクリプトでやらないとダメなんじゃないかしら
無理にmsgbox使うよりGUIでカスタムダイアログ作るほうが良さげ
898:名無しさん@お腹いっぱい。
18/03/16 13:17:19.26 UouS7uLn0.net
こんなのさあ、デフォルトで出来るようにしておいて欲しいよねw
899:名無しさん@お腹いっぱい。
18/03/16 13:40:44.65 jjTV3maS0.net
いや
winAPIのMessageBox関数を呼び出してるだけだし
AHKに限らず どの言語でもMsgBoxつったらこういう仕様なんだけど
900:名無しさん@お腹いっぱい。
18/03/16 18:01:07.16 dZXZHaN10.net
共通ダイアログは共通のUIであることこそが価値なのであって、勝手に変えられたら意味がない
901:名無しさん@お腹いっぱい。
18/03/17 21:56:35.01 J13vqzPo0.net
windows 10です
コマンドプロンプトにcontrolsendでファイル名やコマンドを送ると
2文字目が大文字になって(元の文字列の大文字にした文字の次の文字が大文字になります)
しまいます。どうしたらなおせますか?
902:名無しさん@お腹いっぱい。
18/03/18 03:08:50.12 f91JJX+I0.net
単純なコードがまったく効かず小一時間トライアンドエラー
おかしいと思いはじめ調べたところオートリーロードのコードが効かなくなっていた Orz
原因を調べようとエディタを変えてみたが変わらずリロードできない
別のahkファイルをオートリーロードすると効く
で、問題のファイルに戻りトライアンドエラー
ファイル名変更も駄目
ファイル作り直しても駄目
簡単なコードだけ残して試しても駄目
バックアップしておいた物を丸ごと上書きしても駄目
何故このファイルのみオートリーロードのコードが効かなくなってしまったか原因がわからない
ファイル名以外のとこを別のファイルへ移植して動くので
コード自体に問題は無いはず
ファイル名自体も間違っていない
Auto execute Section内は特に何も変更していない
タスクトレイのアイコンは反応ある
キーは送信されている
PCの再起動はした
セキュリティソフトで除外もした
#IfWinActive, ahk_class TextEditorWindowW166 ;サクラエディタ
~^s::
ScriptName :=Remap
If WinActive, %ScriptName%
{
Reload
}
Return
#IfWinActive
お手上げです
903:名無しさん@お腹いっぱい。
18/03/18 03:43:59.43 f91JJX+I0.net
再インストールしたら直りました。
何だよもぅ
はじめにトライすればよかった
時間を無駄にしたわ Orz
何が原因だったんだろう…
904:名無しさん@お腹いっぱい。
18/03/18 22:35:08.80 J+BCt/Kw0.net
c言語を大学の講義で習った程度のアラサー業界未経験でプログラマになりたいけど
autohotkeyでpc作業の効率化・自動化、正規表現を用いたファイル操作等を行うスクリプトは趣味でやったことありますはアピールになるかな?
905:名無しさん@お腹いっぱい。
18/03/18 22:37:10.61 aKvw3zvt0.net
趣味で→業務の効率化を行いました
と言い換えておけ。
大抵の人にはAHKなにそれって言われるだろうけど業務に役に立つものとわかれば多少のプラスにはなるんじゃないか
906:名無しさん@お腹いっぱい。
18/03/18 23:02:23.62 HRiJzGoo0.net
AHKが業務に役立つって一体なんだ?
せいぜいクリックしたりのルーチンワークをやらせるくらいだろ
そんなもの特技にもアピールにもなら無いと思うよ
まだExcel使いこなせます、の方が100倍通る