16/12/15 15:06:13.86 Fmvt4SAA0.net
>>512
WinMenuSelectItem というのもあるよ
545:名無しさん@お腹いっぱい。
16/12/15 16:54:29.71 kvr1NHDi0.net
>>513 ありがとうございます それで行けました!
546:名無しさん@お腹いっぱい。
16/12/15 20:54:41.01 F1GBTSpB0.net
>>505>>509 ありがとうございます
>>507 それに類似したものはネット上で見つけ
今中身をいじっていますが今のところさっぱりです
あともう一つ伺いたいのですが、
SelectWinView:
StringReplace,TxListLoad,TxListLoad,<br.>,`f,All
Gui,90:Destroy
Gui,90:Font,S10
Gui,90:Add,Button,Default,OK
Gui,90:Add,Button,X50 Y7,a
Gui,90:Add,Button,X92 Y7,b
Gui,90:+Delimiter`f
Gui,90:Add,ListBox,vSelectTx gAnyEventG90 W500 H250,%TxListLoad%
Gui,90:Show,,%TxListTitle%
return
以上のコードで
URLリンク(www.dotup.org)
のような窓ができたのですが、右端に偏っているlist表示欄を
OKボタンの左端のX座標から表示して左右対称にするにはどうしたらいいでしょうか
547:名無しさん@お腹いっぱい。
16/12/15 21:28:25.18 ZtjaodqY0.net
>>515
言ってることがちょっと分からないけど
Gui,90:Add,ListBox…のところを
↓
Gui,90:Add,ListBox,vSelectTx gAnyEventG90 W500 H250 XM0,%TxListLoad% に変えた表示?
548:名無しさん@お腹いっぱい。
16/12/15 22:04:13.39 gl6qsfK+0.net
なんかへんな表記見つけた
Loop
{
Sleep, 10
GetKeyState, state, Nu
549:mpadAdd, P If state = U Break } これって要するにkeywait, NumpadAddだと思うんだけどなんでこんな書き方してるの? 内部的にどう処理が違うんだろう?
550:名無しさん@お腹いっぱい。
16/12/15 22:33:35.20 PZGHOr5J0.net
質問するまえにヘルプなりwikiなり見ようよ
551:名無しさん@お腹いっぱい。
16/12/15 22:44:12.44 Fmvt4SAA0.net
明らかに不適切というわけでないのなら、どちらが正解かにこだわる意味なんてないことのほうが多い
552:名無しさん@お腹いっぱい。
16/12/15 22:49:09.77 gl6qsfK+0.net
いや、割り込まれたくないとかそういう副次的効果があるのかなぁと
なんもないんかな
553:名無しさん@お腹いっぱい。
16/12/15 23:42:27.55 PZGHOr5J0.net
ていうかそれヘルプのGetKeyStateのExample(s)そのままだし
keywaitコマンドは確かGetKeyStateより後の実装だし
昔書いたのそのまま使ってるだけなんじゃないの
554:名無しさん@お腹いっぱい。
16/12/16 00:07:22.74 tPLS8eU80.net
>>521
そう、なんか不思議な書き方してるなと思ったから
keywaitのほうがあとなのか。知らなかった
555:名無しさん@お腹いっぱい。
16/12/16 08:03:31.44 IrhKDJEV0.net
複数のウインドウが画面上に表示されているとき、そのうちの2枚でどちらが上になっているかを
判定する方法ってありますか
556:名無しさん@お腹いっぱい。
16/12/16 08:51:17.53 kr7+89zL0.net
how to get window z order (win32api or autohotkey)とかで検索すりゃいいんじゃね
557:名無しさん@お腹いっぱい。
16/12/16 09:39:34.44 0/j2k5Yi0.net
window spy の All text の部分にでてくるテキストを判定に使いたいんですが
AHKからここの情報を拾うことってできないですかね?
558:名無しさん@お腹いっぱい。
16/12/16 09:56:16.99 0/j2k5Yi0.net
>>525ですけどWinGetTextでひろえました。
559:名無しさん@お腹いっぱい。
16/12/16 13:26:45.05 ZMDD3X4r0.net
>>523
winget,id,listでid%n%が若いほうが上
560:523
16/12/16 16:44:40.56 3bVRGKCR0.net
>>527
ありがとう
561:名無しさん@お腹いっぱい。
16/12/16 23:21:59.49 0EtTjoqh0.net
ホットキーに変数って使えますか?
562:名無しさん@お腹いっぱい。
16/12/16 23:25:21.44 0EtTjoqh0.net
%hotkey%::return のような事をしたいのですが
563:名無しさん@お腹いっぱい。
16/12/17 00:07:03.39 A/KZv4BJ0.net
>>530
Hotkey,
564:名無しさん@お腹いっぱい。
16/12/17 00:29:41.67 o8o2P8qg0.net
>>531
ありがとうございます
565:名無しさん@お腹いっぱい。
16/12/17 08:23:19.63 7meObdy10.net
Msgboxですが、通常はど真ん中に現れますが、これを特定の位置に表すことってできますか
モーダルなのでMsgboxを実行したあとに位置変更をしようとしてもMsgboxを閉じたあとでないと実行されないので
位置を変えることが難しいです
566:名無しさん@お腹いっぱい。
16/12/17 08:36:51.94 1euW8Qt+0.net
>>533
SetTimer
567:名無しさん@お腹いっぱい。
16/12/17 09:02:44.60 7meObdy10.net
>>534
やってみました。出来ましたが、最初にど真ん中に一度表示されてしまうのはしょうがないですね
ちなみにSetTimer, label, -50
でやりましたが、この時間を-50では出来ると出来ないときがあり、40以下にすると確実に動きません
Windows7です
AHK wikiではNT系は10以上、9x系では55以上とありますが、55以上でないとダメなのかな
でもそれより小さい値をセットしたときは最小間隔にセットされるとあって動かないとはないのですが
どうなんでしょうね
568:名無しさん@お腹いっぱい。
16/12/17 09:49:42.26 9ory3ymY0.net
どれだけ時間を短くしようと表示してからになるのは変えられないんじゃね
その辺見栄え重視でやりたいなら面倒だけど自力でGUI
569:名無しさん@お腹いっぱい。
16/12/18 01:22:03.84 3dJvvfQn0.net
キーボード掃除用に
#Persistent
BlockInput,On
これでキー操作無効になると思ったんですができません
ご教示お願いします。
570:名無しさん@お腹いっぱい。
16/12/18 01:25:16.09 8Y3xHDeZ0.net
run,窓の手 キーボード掃除機能.lnk
571:名無しさん@お腹いっぱい。
16/12/18 02:45:54.58 00Zeti1H0.net
Win 7 64-bitで
マルチメディア系のキーが無い
572:キーボードで、類似機能を実現させたいのですが (具体的にはhttp://ahkwiki.net/KeyList のMedia_とVolume_の各キーの機能が 欲しい。それと電卓の起動くらいあれば十分) AHKよりもっとシンプルなソフトはありますか? いや、別にプログラム書いたり、(必要ならば)英文ページ読むのも大丈夫なんですが できるだけ単機能なソフトで実現できるなら、そっちのほうがいいかなって 思った次第です 他のプログラム、OSの本来のホットキー、ショートカットキーと重複しないか調べなきゃ、とか あとSetPoint使ってるんで(マウスM570のため)、そういうのと競合して不具合 起こっても面倒なので それと、使ってるキーボードでFnキーがあるんですが Fn+(上/下/左/右)→ PgUp/PgDn/Home/End Fn+Del → Ins Fnキーを使うキーが、たった↑これだけしか用意されてないんですよね ですけど、じゃあFnキーをもっと有効利用しようとして、 (良くありがちな感じで)Fn+F7で「再生/一時停止」をさせようとしても これは無理ですよね… たぶん、Fnキーを押しただけでは、何もPCに信号が 行ってないんでしょうから。 じゃあもう2000円くらい出して、マルチメディア機能の付いたキーボード買えよ、って 言われそうですがw
573:名無しさん@お腹いっぱい。
16/12/18 02:50:38.18 npIrVC4w0.net
AHK以外のソフトをお望みならスレチだから自分で調べろカス
574:名無しさん@お腹いっぱい。
16/12/18 07:15:05.40 +Dd+4JV80.net
こういう記述でF1キーを押したときに
test関数内からtooltip表示をさせないようにスレッドを終了させることってできないですかね?
F1::
test()
tooltip,aaaaaa
return
test()
{
soundbeep
return
}
575:名無しさん@お腹いっぱい。
16/12/18 07:20:48.97 +Dd+4JV80.net
>>541ですけど returnの代わりにexitをかけばいいみたいですね
自己解決しました
576:名無しさん@お腹いっぱい。
16/12/18 09:20:57.08 jmiTGyHi0.net
>>537
BlockInput,OnはUACがオンだと効かない
あといくつか無効にならないキーがあったと思うからwikiとかで調べた方がいい
577:名無しさん@お腹いっぱい。
16/12/18 09:25:00.68 QdxZeNMb0.net
>>537
俺が使ってるスクリプトはこんなの↓
SplashImage,5:,B FS10 FM15 W150 X0 Y0,Escで解除,キーボードロック
input,kb,t3600,{Esc}
SplashImage,5:off
578:名無しさん@お腹いっぱい。
16/12/18 15:56:49.07 +/IPHjV40.net
以下で、ドロップダウンリスト選択時にテキストが見切れる場合、
リスト表示(アクティブ)時のみ幅を変更、または、テキストに合わせて幅を変動するようにしたいのですが、そのような設定項目はありますか?
var = aaa`|bbb`|ccccccc`|dddddddddddddddd`|eeeeeeeeeeeeeeeeeeeee
Gui, Add, DropDownList, x10 y10 w90 h20 R10 , %var%
Gui, Show, w110 h40, test
579:名無しさん@お腹いっぱい。
16/12/18 16:39:00.23 18ImSF6i0.net
>>545
dropdownlistにvとgを設定して、g内でvの長さを元に幅を決めてguicontrolで変更する
580:名無しさん@お腹いっぱい。
16/12/18 17:21:40.17 +/IPHjV40.net
色々試しましたが挙動が微妙なのでToolTipで選択項目をポップさせることで解決しました。
581:名無しさん@お腹いっぱい。
16/12/18 20:56:21.83 h6s78ApR0.net
>>543
ありがとうございます。コンパイルして管理者モードで実行したら
うまく動作しました。
>>544
ありがとうございます。
なるほど。これだとマウスは動かせて便利です。
これを少しいじってみます。
582:名無しさん@お腹いっぱい。
16/12/18 22:42:27.68 hYH8i8D60.net
押しっぱなし病はどうすれば�
583:ナきるんだろう……Sleep噛ませてもまだダメだ
584:名無しさん@お腹いっぱい。
16/12/18 23:22:12.73 Li+QnySc0.net
>>549
俺の環境ではShiftキーの場合
KeyWait, Shift ;なぜかこれ入れないと発病する
Send, {Shift Up}
この2行をreturnの直上に置くと直った
585:名無しさん@お腹いっぱい。
16/12/18 23:58:31.17 dCjl+xOM0.net
その程度で直るなら苦労しない
586:名無しさん@お腹いっぱい。
16/12/19 00:18:18.33 g832UXCJ0.net
よくアプリケーションのウインドウ枠の下にある
--------------------------------
ファイル(F) 編集(E) 表示(V)
--------------------------------
このバーを削除する事って出来ませんか?。
winsetコマンドで試しているのですが、ウインドウ枠は削除出来ますが、肝心の部分が削除されません。
どうかご教示願います。
587:名無しさん@お腹いっぱい。
16/12/19 01:14:09.50 u+T+IQ3J0.net
それをすてるなんてとんでもない
588:名無しさん@お腹いっぱい。
16/12/19 07:47:26.32 8jqyrdIk0.net
>>552
URLリンク(autohotkey.com)
589:名無しさん@お腹いっぱい。
16/12/19 09:31:28.76 g832UXCJ0.net
>>554
やったー!有難うございます!。
590:名無しさん@お腹いっぱい。
16/12/19 10:09:01.47 mani5yG00.net
質問の内容よりメニューバーの名称を知らない子がいるということに驚いた
591:名無しさん@お腹いっぱい。
16/12/19 11:14:53.16 ueQao2ti0.net
>>556
同感やな
あと!のあとに。を付ける子がいるということにも驚いた
592:名無しさん@お腹いっぱい。
16/12/20 00:16:15.06 5G4/WbtU0.net
>>517
内部処理的に変わらないけどこっちなら手を加えることも出来るってことでいいんじゃないの
こうすりゃkeywaitで押しっぱなし病が起きるのも防げるし
while GetKeyState("NumpadAdd","P"){
Critical,30
sleep,30
}
593:名無しさん@お腹いっぱい。
16/12/20 15:17:36.64 ivWdDKdl0.net
var1 := "1`n2`n3`n4`n5`n6`n7`n8" の時
var1に含まれる文字列に4以上の数字があった場合
条件にマッチした数字のみ(改行`n除く)を抽出し、別の変数(例えばvar2)に格納したいのですがどうすれば良いでしょうか?
594:名無しさん@お腹いっぱい。
16/12/20 15:52:17.07 Jq8zfd0a0.net
Stringsplit
595:名無しさん@お腹いっぱい。
16/12/20 16:11:51.90 WAqgz9xv0.net
4 5 6 7をしてそれぞれ格納したいのか
最初に見つかった4だけでいいのか
最後に見つかった7だけでいいのか
もっとも大きい数値7が欲しいのか
条件が単純ならRegExMatchで一括処理
複雑そうならLoop,parseで個別判断
596:名無しさん@お腹いっぱい。
16/12/20 16:28:29.63 HnY/HoiE0.net
>>559
意味不明。数字には単位つけろよ
文字列に4ヵ所以上数字が見つかった場合なのか
n >= 4が見つかった場合なのか
n >= 4が4ヵ所どっちよ
597:名無しさん@お腹いっぱい。
16/12/20 16:29:09.55 HnY/HoiE0.net
おっとリロードしてなかったぜ失礼
598:名無しさん@お腹いっぱい。
16/12/20 23:20:28.07 Q67O6vnL0.net
ADO := ComObjCreate("ADODB.Stream")
ADO.Open()
ADO.Write("あいうえお") ;<-エラーが出る
なんで??
599:名無しさん@お腹いっぱい。
16/12/20 23:28:00.89 Q67O6vnL0.net
WriteTextで行けますた
600:名無しさん@お腹いっぱい。
16/12/21 12:01:28.48 0+rnPXDT0.net
公式フォーラムでも質問したのですが、リプライが付かないので2chでも質問させてください
iPhoneの端末をシェイクしてUndoのように、
Windowsタブレットを振った時に処理を実行したいです
とりあえず加速度センサーの値が取得できればなんとかなると思うのですが、
どうすれば加速度センサーの値を取得できるでしょうか
検索してもユニバーサルアプリやWindows Phoneの場合の例が出てくるばかりでお手上げです
よろしくお願いします
601:名無しさん@お腹いっぱい。
16/12/21 13:47:13.25 ksngrLMH0.net
レスがつかないのは
602:AHKの範疇じゃないからだと思うよ 直接VisualStudioでやったほうがいいと思う よくは知らんがUWPアプリとして設計すれば加速度センサーの値は取れるようだし デスクトップとwinスマホの区別なく動くんじゃない? とりあえずスレチなのでム板あたりで聞いてみたらいい
603:名無しさん@お腹いっぱい。
16/12/22 07:22:46.85 WE5Sz2Ut0.net
壁カレですが、
URLリンク(www.vector.co.jp)
モニター2枚で行っているのですがときどき1枚にしたり2枚にしたりしていると
壁カレのモニター上での表示位置がずれるので、
WinMoveで修正しようと思ったら、基本設定で壁に張り付くでやっていると
WinMoveを行っても位置が動きません
ソフト側でこんなことって出来るんですね。どうやっているのでしょうか
基本設定で通常にすれば動くようですが、見栄えを背景を透明にしたいので、壁に貼り付けにしたいのですよね
壁に貼り付けにしてもマウスでクリックして動かそうとするとこれはちゃんと動くにでいちいち手動で
動かさないといけないので面倒です。なにかいい方法はありませんか
604:名無しさん@お腹いっぱい。
16/12/22 07:58:04.30 /gsYMvMn0.net
MouseClickDragでw
605:名無しさん@お腹いっぱい。
16/12/22 16:47:23.56 oZPscVKA0.net
テキスト文をダブルクリックして選択したところをコピーするのに、次のスクリプトを作りましたが
コピー出来るときとできないときがあります。なぜでしょうか?
選択したところは毎回確実に黒反転しますが、^Cで取るところが取り損ねることがあるようです
確実に取るようにはどうしたらいいでしょうか
RButton::
Clipboard =
Click, 2
Sleep, 1000
Send, ^C
clp := Clipboard
MsgBox,,,%clp%, 2
return
606:名無しさん@お腹いっぱい。
16/12/22 17:39:17.96 qnWJ6o5A0.net
>>570
ClipWait
607:名無しさん@お腹いっぱい。
16/12/22 17:43:04.63 qnWJ6o5A0.net
あ…そもそもクリップボードに入らないって話かな
608:名無しさん@お腹いっぱい。
16/12/22 17:46:05.25 oZPscVKA0.net
>>571
出来ました。ありがとうござました
609:名無しさん@お腹いっぱい。
16/12/22 17:47:36.47 oZPscVKA0.net
Wikiを見てきて、
Send, ^C
のあとにClipWaitを入れるだけで出来ました
610:名無しさん@お腹いっぱい。
16/12/22 17:54:21.36 oZPscVKA0.net
ダブルクリックをして反転してコピーができる状態になるまでに
時間がかかるだろうと思ってここにSleep,1000を入れましたが(最初は100とか200とか。で余裕もって1000入れても
ダメなので質問しました)
Send, ^C
をしてからClipboardに入るまでに時間がかかるとは思わなかったですw
611:名無しさん@お腹いっぱい。
16/12/25 01:40:51.42 yAWsNBQH0.net
BSとEnterを無変換、変換に割り当てた、以下のような
単純なスクリプトを読み込んだのですが、ものすごく
反応が鈍くて、後押しっぱなしにすると全然反応しないみたいです。
どのようにすれば動くのでしょうかご教授頂けると幸いです。
sc079::Send,{Blind}{Enter}
sc07B::Send,{Blind}{BS}
612:名無しさん@お腹いっぱい。
16/12/25 02:46:52.20 1oir272c0.net
おま環
613:名無しさん@お腹いっぱい。
16/12/25 13:17:58.44 XZKmGyqb0.net
ワシ漢
614:名無しさん@お腹いっぱい。
16/12/25 13:30:32.50 BYbOgKlx0.net
試してないけど
sc079::Enter
sc07B::BS
こんな感じにリマップするだけでいいんじゃないの
615:名無しさん@お腹いっぱい。
16/12/25 13:51:14.20 EX6KYLEg0.net
自分は「#UseHook」使った上で
;[半角/全角]
sc029::send, {BS}
;[無変換]
sc07B::Send, {ENTER}
こんな感じに"俺キーリマップ"してるが特に問題は起きてない
616:名無しさん@お腹いっぱい。
16/12/25 15:01:07.38 yAWsNBQH0.net
>>580
UseHookで動作は軽くなりました・
ありがとうございます。しかし、押しっぱなし
が効力しないみたいです
暫くこの二つは諦めようと思います
617:名無しさん@お腹いっぱい。
16/12/25 20:00:27.75 pDLKP2T90.net
>>581
試してみたけど>>580ので半角/全角押しっぱなしも
普通にBS連続入力されるけど?
618:名無しさん@お腹いっぱい。
16/12/25 22:01:59.28 Z5XRrej
619:f0.net
620:名無しさん@お腹いっぱい。
16/12/25 22:06:28.38 d1Frnvw50.net
USBキーボードとPS2キーボードで挙動が違うキーがあったよ
621:名無しさん@お腹いっぱい。
16/12/25 22:31:31.73 t/3Ip7EI0.net
>>583
「被ってるみたい」とか曖昧なこと言わず「Virtual Desktop Enhancerって仮想デスクトップ切り替えソフト」
とやらを終了させた状態で試すとか自分で出来ることをちゃんと検証してから書き込もうな
ちなみに何のスクリプトも作らずにAutoHotkey.exeだけを起動してもヘルプが表示されるだけで
トレイアイコンとかは何も出ないぞ
常駐型スクリプトを書いてそれを起動したときに初めて常駐される
622:名無しさん@お腹いっぱい。
16/12/25 22:37:58.28 t7MBGd7h0.net
>>583
AuttHotkey.exeはスクリプトのない状態で起動しても何も起きない
詳しい使い方は>1のwikiにあるリファレンスを頭から読む
virtual-desktop-enhancerはexe化してあるしahkままでもしスクリプト毎に別プロセスで動くので関係ない
ただホットキー競合するとややこしいし混乱の元になるので
自スクリプトのデバッグ時には終了させておいたほうが無難
623:名無しさん@お腹いっぱい。
16/12/25 23:06:33.05 yAWsNBQH0.net
>>582
やっぱりだめだったので、他のキーに
割り当てるとうまく動作しました。何か内部で
衝突を起こしているのですかね
後、もう一つ問題がありまして、
無変換 + LにRightを割り当てて、Win + →で画面半分に整列
を行ったところ、Win + Lも同時に反応してロックがかかってしまいます
このような場合どうすればよいのでしょうか?
624:名無しさん@お腹いっぱい。
16/12/25 23:10:05.47 Z5XRrejf0.net
>>585-586
ありがとうございます。初期状態だと常駐しないんですね。
wikiのリファレンスに「AutoHotkey.exeを実行すると、タスクトレイにアイコンが表示される。」
と書いてあったので、タスクトレイアイコンから操作するのかと思ってました。
色々試してみます。
625:名無しさん@お腹いっぱい。
16/12/26 00:08:35.37 lGyWrLlp0.net
>>587
Win+Lは無効にできないんじゃなかったかな
626:名無しさん@お腹いっぱい。
16/12/26 10:03:12.61 RRXZ5ZRE0.net
>>589
無効にはせず使用したいんです
627:名無しさん@お腹いっぱい。
16/12/26 10:06:53.65 F7miIqL80.net
>>587
Win+ →、Win+ ←、の機能を別の 無変換+何か に割り当てたら良いよ。
コンビネーション3キーよりも2キーの方が便利でしょ。
628:名無しさん@お腹いっぱい。
16/12/26 10:58:50.28 LPws2mY40.net
>>590
無効にせず使用なら>587でできてるじゃない
AHK側で指定したホットキーは機能してる→使用可能
OS側のキーコンフィグも効いてしまう→実用で困るから無効にしたい
でしょ?
それに対し>589は無理じゃね?って回答
Ctrl+Alt+DelやWin+Lなんかのロック系操作はOS的に優先度高いから
アプリ側で完全に奪うのはできないということかと
629:名無しさん@お腹いっぱい。
16/12/26 11:14:17.70 Ior0lFV20.net
;アクティブウインドウの切り替え
^Tab::!Tab
これだとCtrl+Tabで切り替えできますが、決定後にEnterキーを押す必要があります。
Enterキーを押さなくてもいい方法はありますでしょうか?
630:名無しさん@お腹いっぱい。
16/12/26 11:47:18.78 F7miIqL80.net
>>593
AltTab
ShiftAltTab
っていう専用のものがあるみたいだけど、Ctrl+Tabの本来の機能を無くしても良いの?
631:名無しさん@お腹いっぱい。
16/12/26 11:50:59.35 /EZNtYvQ0.net
ctrl up時にでもenter送るようにしたら?
誤爆除けにpush - upでフラグ管理でね
632:名無しさん@お腹いっぱい。
2016/12/28
633:(水) 01:31:04.20 ID:Y+/w/tpu0.net
634:名無しさん@お腹いっぱい。
16/12/28 01:40:23.72 V3MWbTRY0.net
なんでそこにreturn
635:名無しさん@お腹いっぱい。
16/12/28 01:40:41.38 j82Xl8220.net
msgboxをguiに変更する
636:名無しさん@お腹いっぱい。
16/12/28 01:43:34.53 V3MWbTRY0.net
ていうかMSGBOXが出るとスプリクトはMSGBOX消すかボタン押すまでサスペンドだよ
637:名無しさん@お腹いっぱい。
16/12/28 01:46:29.32 H3qU4NTi0.net
>>596
SetTimer, printMsg, 5000
Msgbox,hoge
Exit
printMsg:
TrayTip,,%msg%,30,16
Return
先頭から順番に実行されてExitやReturnで終わるメインルーチン(AHKではAutoExecuteセクションと呼ぶ)と
ラベルにジャンプしてReturnで戻ってくるサブルーチンはしっかり区別しないとだめ
あとこの例だとMsgBox後終了してしまうから、タイマー存続させたいならPersistentの宣言も必要
638:名無しさん@お腹いっぱい。
16/12/28 08:46:46.38 Y+/w/tpu0.net
596です
解決しました
レスありがとうございました!
639:名無しさん@お腹いっぱい。
16/12/29 18:05:25.38 1Sah2jTO0.net
常時監視させておいて
特定のウィンドウがアクティブのときだけ全角入力状態にさせたいのですが
どう書けばよいのでせうか?
640:名無しさん@お腹いっぱい。
16/12/29 19:07:53.31 X9CYw/VZ0.net
7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
641:名無しさん@お腹いっぱい。
16/12/29 19:20:49.48 M7mE77di0.net
>>602
SetTimer
IfWinActive
IME.ahk
この辺調べりゃ出来るんじゃね
642:名無しさん@お腹いっぱい。
16/12/30 11:14:43.94 oWxLs7nI0.net
>>602
うろおぼえだが、WinWaitActiveとかってなかったか。WinWaitはあるがこれは違うしな
643:名無しさん@お腹いっぱい。
16/12/30 15:08:32.63 VZR+H28N0.net
>>605
>>604がファイル名まで書いて答え出してくれれるじゃん
Winwaitでも無限に待つか、時間指定してLoopしてErrorlevelでcontiuneするかbreakするかでやれないことはないと思う
644:名無しさん@お腹いっぱい。
16/12/30 15:17:36.82 0vFwXqAK0.net
自分はIMEのオン/オフでIMEツールバーの表示/非表示切り替えるスクリプト常用してるのだが、
>>602のレスきっかけに見直したところ手直し必要な個所発見できたよ、ありがとな
本来ならIMEオン/オフ状態の他にIMEツールバーの表示/非表示状態もコマンド発行条件にするべき所を
IMEオン/オフ状態しか考慮してなかったためコマンドが常に発行されてしまってた(´・ω・`)
>>605
>WinWaitActive
なんか使い道違うような…
いや、間違ってないかもしれないが個人的には常駐監視に使いたくないだけですた
やっぱ>>604の方法採用するかなあ
645:名無しさん@お腹いっぱい。
16/12/30 15:31:58.47 0vFwXqAK0.net
あ
646:名無しさん@お腹いっぱい。
16/12/30 15:47:05.10 IkwKuYxf0.net
AutoExecuteセクション
---
SetTimer,labelLoop, -100
---
exit
labelLoop:
WinWaitActive, wintitle
--
goto labelLoop
return
647:名無しさん@お腹いっぱい。
16/12/31 16:15:35.10 TVOFo6fz0.net
ListLines
Exit
#IfWinActive, ahk_class AutoHotkey
LButton::
Click, L, D
KeyWait, LButton
Click, L, U
Return
これ実行してログウインドウのバーをクリックすると
クリックしっぱなし(KeyWaitの行で処理が止まる)になっちゃうんだけど
これはどういうことなの?
648:名無しさん@お腹いっぱい。
16/12/31 19:33:25.67 U4DAfvul0.net
AutohotkeyはGetkeystate部分の取得が完璧じゃないっぽい
押しっぱなし症状はだいたいこいつのせい
離しててもD判定出る
649:名無しさん@お腹いっぱい。
17/01/02 02:35:24.16 CDe5nKO60.net
autohotkeyの言語について調べたり勉強したいんですが、皆はどこから知識を得ているの?
参照してるものは何?
Webサイト?書籍?他の言語?…etc?
650:名無しさん@お腹いっぱい。
17/01/02 02:57:42.08 IK/M2jlZ0.net
>>612
>>1
651:名無しさん@お腹いっぱい。
17/01/02 07:04:53.00 QoafxYr80.net
言語は大体どれも書式や型がある程度は共通してるから
プログラミング経験者なら入りやすいのは言うまでもない
AHK自体はただのマクロだし覚えることwikiに書いてあることくらい
高度なことしようと思ったら若干知識いるけど
652:名無しさん@お腹いっぱい。
17/01/02 12:36:23.86 BZX+2MyC0.net
覚えたいっていう漠然とした感じだとなかなか難しいと思うよ
まず自分が今なにを実現したいかというのがあって、そのために必要なことを探していく
その積み重ねでいろいろできるようになっていくものかと
653:名無しさん@お腹いっぱい。
17/01/02 12:38:09.94 N4cqeu4r0.net
俺もDllCallやPostMessageやSendMessageのこと初歩的なことから例題つきで日本語解説してある本かwebあったら知りたい。
流行らせるページで覚えて上の3コマンド以外は概ね使えるようになった(スマートか否かで言えば非効率的な書き方してると思うけど)。
いまだに
cnt++, var := 0
MsgBox, %cnt% ;みたいな書き方してはまるw
cnt++
var := 0 ;のように行を分ければcnt変数が空にならないのよね
654:名無しさん@お腹いっぱい。
17/01/02 14:56:29.11 Sx93MzEj0.net
海外の本スレで他人様のコードを盗用するのが覚えるの早い
655:名無しさん@お腹いっぱい。
17/01/02 15:08:53.82 EhtkFIfe0.net
昔はVB ProgramarsのページでAPIやWinMessageについて解説してるサイトがあったんだけどね
Messageのほうは昔あった解説サイトをローカルに落としてchm化したものを愛用してる
今だとここの付録の部分のリストくらいかな一覧が見られるの
AHKじゃなくてHSP用の解説だけど
URLリンク(chokuto.ifdef.jp) 👀
Rock54: Caution(BBR-MD5:79b7e0206b0fd5ffcfddd514fa488d36)
656:名無しさん@お腹いっぱい。
17/01/03 13:14:36.35 ubl1mXBd0.net
>>618
サンクス
求めていたものが見つかったかもしれない
657:名無しさん@お腹いっぱい。
17/01/03 13:31:21.37 SANGgOVT0.net
あらURLの後ろに変なゴミ入っちゃってるか
HSPの裏技 っていうページね
658:名無しさん@お腹いっぱい。
17/01/04 14:16:01.01 EunnHk1e0.net
>>616
WindowsでのCやC++プログラミングの基礎を勉強しる
SDKやVC++とかやってるやつはみな知っている
659:名無しさん@お腹いっぱい。
17/01/04 17:29:09.73 MuN+Qw4G0.net
>>612
『好きこそものの上手なれ』・・・これに尽きる
>>615のようにahkで何を実現したいか目的を持てば自然と身に付くと思う
別に重要な仕事で使うわけじゃないんだから気楽に行こう
660:名無しさん@お腹いっぱい。
17/01/05 12:31:42.55 +b2tQkgJ0.net
Getkeystateがもはや信用ならんのだけど、Dllcall立と治るのかな
661:名無しさん@お腹いっぱい。
17/01/05 15:05:16.72 CRF0ShBZ0.net
AutoIt試してみたら?使ったことないけど
662:名無しさん@お腹いっぱい。
17/01/06 19:53:14.03 ikjFUVuQ0.net
#NoTrayIcon
SetFormat, FLOAT, 03.0
FontFace1 := "MS ゴシック" ;他のフォントの組み合わせでも同じ
FontFace2 := "メイリオ", FontSize2 := 10
Gui, Font, S10 CDefault, %FontFace1%
Gui, Add, Text , x6 y10 , Test Text1
ChgFont("Edit", "x+8 yp-4 w64 h20 vV1", "000.0", FontFace2, FontSize2) ; WantReturn Right Limit8 hwndID1などのオプションに関わらず
Gui, Add, Text , x6 y+8 , Test Text2
ChgFont("Edit", "x+8 yp-4 w64 h20 vV2", "999.9", FontFace2, FontSize2) ; WantReturn Right Limit8 hwndID2
Gui, Show
var := V1 V2 ;vオプションの変数名をどこかで使用しないと「Error A error a control's variable must be global or static」と怒られてスクリプトがバックグラウンドで常駐状態になってしまいます
return
;フォントを指定してGuiコントロールを追加
ChgFont(ctl, param, str, FontFace2, s=10, cl="Default", r=1) {
global FontFace1
Gui, Font, % "S" s " C" cl, %FontFace2%
Gui, Add, %ctl%, %param%, %str%
ifEqual, r, 1, Gui, Font, S10 CDefault norm, %FontFace1%
return
}
GuiClose:
;Gui, Submit ;Submitしてもしなくても同じ
;var := V1 V2 ;内外ラベルでvオプションの変数をすべて捨て変数に代入したりMsgBox, %V1%`n%V2%などを入れるとエラーにならないがV1だけだと同じエラーが出ます
ExitApp
関数の使い方からして間違っているのでしょうか?
フォント変更するコントロールだけまとめて書けばいいのでしょうけど変数を代入すれば実行できること自体おかしいのかな
663:名無しさん@お腹いっぱい。
17/01/06 21:03:15.86 lVLjjWwq0.net
関数内でいきなり出てきた変数は基本localだから
Guiで使う変数はglobalかstaticにしないとダメって言われてる
例1
#NoTrayIcon
V1 =
V2 =
664:名無しさん@お腹いっぱい。
17/01/06 22:18:02.18 ikjFUVuQ0.net
>>626
そういうことかー
ありがとうございました
でもGuiCloseでSubmitしてMsgBoxとかで変数拾うと関数でGlobalしてなくてもvオプションで指定した変数が拾えるんですよね…
665:名無しさん@お腹いっぱい。
17/01/07 10:04:48.51 +cndblmC0.net
stringsplitよりloop,parseの方がパフォーマンスが高い理由って
stringsplitは変数をたくさん作るから?
666:名無しさん@お腹いっぱい。
17/01/07 14:07:29.85 q1Hk9Udz0.net
Gui,Add,Text,w100 -wrap,sample text 1 gyoume`nsample text 2 gyoume`nsample text 3
Gui,Show
URLリンク(light.dotup.org)
固定幅でnowrap指定すると、はみ出した行の数だけ下に余分な空白が追加されてしまうのはなぜ?
667:名無しさん@お腹いっぱい。
17/01/07 14:37:54.72 mq9RSsg70.net
本来の折り返し分の行が含まれてるからそうなるんじゃ?
幅伸ばしてはみ出ないようにするかRオプションで高さ指定すればいい
668:名無しさん@お腹いっぱい。
17/01/07 14:56:20.94 q1Hk9Udz0.net
幅は固定で高さは行数に応じて可変にしたいんよ
669:名無しさん@お腹いっぱい。
17/01/07 16:01:10.82 CWeP/GeG0.net
行数をカウントして高さを指定すれば良いんじゃね
670:名無しさん@お腹いっぱい。
17/01/07 16:17:51.67 q1Hk9Udz0.net
>>632
いい感じにできました ありがとう
671:名無しさん@お腹いっぱい。
17/01/07 22:05:43.13 +cndblmC0.net
SetBatchLines, -1に設定して
Loop,1000000
StringGetPos,OutputVar, % InputVar:="hoge",hoge
と
Loop,1000000 {
InputVar:="hoge"
StringGetPos,OutputVar,InputVar,hoge
}
だと上の例の方が早かったんだけど
いちいち変数に代入するより式を使ったほうがパフォーマンスはあがるってことですか?
672:名無しさん@お腹いっぱい。
17/01/08 01:53:27.66 jOmqi9Oo0.net
二行か一行かの違いじゃね(適当)
673:名無しさん@お腹いっぱい。
17/01/08 11:15:53.17 sK1EMnaf0.net
Loop,1000000 {
StringGetPos,OutputVar, % InputVar:="hoge",hoge
}
で試してみたが{ }のあるなしで速度に差が出る模様
ループ範囲がどこまでか確認する作業が入るからじゃね
まあそれでも上のほうが若干速かったけど
674:名無しさん@お腹いっぱい。
2017/01/0
675:8(日) 16:57:34.03 ID:ArPBjJtS0.net
676:名無しさん@お腹いっぱい。
17/01/08 19:14:52.11 sK1EMnaf0.net
データ型指定が間違ってんじゃね?
少なくともPWSTRは8ビットではなさそうだが
URLリンク(msdn.microsoft.com)(v=vs.85).aspx#PWSTR
677:名無しさん@お腹いっぱい。
17/01/08 19:28:58.43 tbtrZL1X0.net
MyPathCchAddBackslashEx(sPath) {
VarSetCapacity(Buf, 260*2) ; (MAX_PATH * 2)
StrPut(sPath, &Buf, "UTF-16")
DllCall("api-ms-win-core-path-l1-1-0.dll\PathCchAddBackslashEx", "Ptr", &Buf, "UInt", 260, "Int", 0, "Int", 0)
VarSetCapacity(Buf, -1)
Return StrGet(&Buf, "UTF-16")
}
MsgBox, % MyPathCchAddBackslashEx("C:\TEST\テスト")
PWSTR型は16ビット文字列のポインタなんで、StrPutでUTF-16でバッファに書き込み、DllCallでバッファのポインタを渡してる
データ型は未だによく理解してなくて少し自信ない
678:637
17/01/08 19:48:38.96 ArPBjJtS0.net
>>638-639
ご指摘ありがとうございます 。そのとおりでした
>>639を見ると理解できていなかったことがいくもありましたので
精進します
679:名無しさん@お腹いっぱい。
17/01/09 10:54:12.80 9upGt/bw0.net
無変換キーをCTRL+ATLにしたいのですが
vk1Dsc07B::send,!^ で動きません
修飾キーだけの設定はできないのでしょうか?
680:名無しさん@お腹いっぱい。
17/01/09 14:51:59.88 Dxv2SSmB0.net
Setkeydelayで調整するといいよ
あと単純な割当変更ならvk1Dsc07B::!^だけでいいよ
681:名無しさん@お腹いっぱい。
17/01/10 23:07:52.56 pCMXxcnI0.net
必要十分なシンプルな機能のツールを作ろうとしてサクっと不満なく仕上がったはずなのに
そこから明らかに無駄な機能を次から次へと盛り付けてしまう作業が終わらない
自分用だから想定外の入力がされたときのエラー処理とか要らないってのに
682:名無しさん@お腹いっぱい。
17/01/10 23:21:06.78 OVY8QOXV0.net
遊びってそんなもんでしょ
683:名無しさん@お腹いっぱい。
17/01/11 02:23:05.65 BKcuswbi0.net
俺は常日頃から常駐スクリプトにどんな新機能を追加するかを考えている
684:名無しさん@お腹いっぱい。
17/01/11 07:36:05.90 RSt7HbP50.net
常駐スクリプトにどんどんホットキー割り当てていくと
どのホットキーに何の機能割り当ててるかわからなくなったりしない?
ほかのソフトのショートカットキーと被らないように複雑なホットキー割り当ててるとなおさら
どういう規則で割り当てるとわかりやすいとかある?
685:名無しさん@お腹いっぱい。
17/01/11 07:52:45.48 r4A42y8Z0.net
>>646
ホットキーの割り当てリストみたいのが出てくるようなのが欲しいよね
俺もずっとそれは思っていた
686:名無しさん@お腹いっぱい。
17/01/11 09:28:13.08 QiyOcO3i0.net
そういうの
687:はMsgBoxで自作してるわ。
688:名無しさん@お腹いっぱい。
17/01/11 13:49:30.60 OoIYyNmE0.net
俺ホットキー全部で7つしか設定してない
うち5つがメニュー出して選択する式にしてるからだけど
>>646
ちなみにどれくらい割り当ててんの
689:名無しさん@お腹いっぱい。
17/01/11 15:30:27.71 2Yn+OUKD0.net
一つのスクリプトにどんどん機能を追加していく点において
AHKが並行処理に対応してないのが玉に瑕
690:名無しさん@お腹いっぱい。
17/01/11 16:30:34.74 nJrWSdEe0.net
AHKLはだめだけどなんか並列処理できるやつなかったっけ?
691:名無しさん@お腹いっぱい。
17/01/11 20:23:20.02 RSt7HbP50.net
数えたらmsgboxにメモするようにした分だけでも29あった
ちょっとしたエクセルマクロとか作るたびに割り当ててるから……
692:名無しさん@お腹いっぱい。
17/01/11 20:31:49.13 /P+GkoPQ0.net
ホットキーごとにスクリプト作ればホットキー分かりやすいし、並列運用できるんじゃね!? 俺マジ天才じゃね!?
693:名無しさん@お腹いっぱい。
17/01/11 20:54:59.70 fG505L6l0.net
そこまでいったらホットキーで呼び出すコンテキストメニュー作ってそこに羅列したほうがいいと思うわ
指に馴染んでるものだけ残して
694:名無しさん@お腹いっぱい。
17/01/11 21:48:45.87 eFsMAy1g0.net
グローバルIPを取得する方法ってあるますか?
ローカルIPは組み込み変数に有りましたが。
695:名無しさん@お腹いっぱい。
17/01/11 21:50:04.75 kb9XyZlp0.net
>>653
複数のホットキーのルーチンで同じ変数が使えんじゃん
そんなケース腐るほどある
696:名無しさん@お腹いっぱい。
17/01/11 22:15:58.02 SvUgcnIU0.net
>>655
普通にグローバルIPだけ返してくれるサイトにHTTPリクエスト投げればいいんじゃないの?
697:名無しさん@お腹いっぱい。
17/01/11 22:19:46.20 pWCjgp7D0.net
ボケてるんだろうから、真面目に突っ込まないであげて!
698:名無しさん@お腹いっぱい。
17/01/11 23:14:50.32 +jEE7NDQ0.net
ロジクールのG600を購入予定だけどAHKとG600を使ってる人いますか?
G600のボタンにF13以降を割り当てることは可能?
設定ファイルをPCに置く場合はできなくて、オンボードメモリーに置く場合はできるとかいう情報があったけど
このページをみるとそうじゃないようにもみえる
URLリンク(d.hatena.ne.jp)
699:名無しさん@お腹いっぱい。
17/01/11 23:21:39.11 SvUgcnIU0.net
ロジならそもそもどのキーにするか割り当てできんだからそれを置き換えればいいだけじゃねえの?
700:名無しさん@お腹いっぱい。
17/01/11 23:50:15.23 qTUoLXBY0.net
>>659
G300では出来てる。ただし登録時にF13~
の信号をロジのソフトウェアに送る必要がある。自分はハード的に送ったので未確認だがahkのリマップでも送れるはず。
701:名無しさん@お腹いっぱい。
17/01/12 00:52:00.89 DBA1LWeH0.net
>>660
>>661
ありがとう。最近の更新でできるようになったともあったけどやっぱりわからないので本スレに言って聞いてきます。
702:名無しさん@お腹いっぱい。
17/01/12 02:08:35.65 lQlySkdO0.net
>>657
池沼?
703:名無しさん@お腹いっぱい。
17/01/12 02:21:28.54 /JvVJEmD0.net
俺はG600じゃなくてNagaだけど普段使いのプロファイルはNagaにF13~F24を
割り当ててそれをAHKで各種機能割り当てしてる
704:名無しさん@お腹いっぱい。
17/01/12 03:03:52.74 DBA1LWeH0.net
>>664
それも購入候補にいれてたけどそっちは確実にいけるんだ
ありがとう
でも保証期間がロジクールより一年短いな
705:名無しさん@お腹いっぱい。
17/01/12 05:22:03.97 575Fa+ad0.net
>>663が他の方法を教えてくれるらしいので期待
706:名無しさん@お腹いっぱい。
17/01/12 12:12:43.51 ukHVT/xn0.net
>>662
確認したところロジのソフトウェアにahkのリマップは効かなかった。過去フリーのchangekeyで一時的に適当なキーをF13化して信号を送ったことがある。
あとオンボード、ソフトウェア�
707:繧ヌちらもF13~入ったよ。
708:名無しさん@お腹いっぱい。
17/01/12 13:53:27.38 oOABE5wo0.net
昔使ってたロジのMX1000はSetpointのxmlを自分で書き換えればF13以降も好きなように設定できたよ
709:名無しさん@お腹いっぱい。
17/01/12 14:04:25.34 575Fa+ad0.net
SetPointなら普通にAHKのリマップで設定できる
SetPointのGUI上では空白で一見入力できてないように見えるが
ちゃんと設定ファイルには反映できてるので表示名だけ後から書き換えればいい
710:名無しさん@お腹いっぱい。
17/01/12 18:52:31.90 DBA1LWeH0.net
情報ありがとう。とりあえずG600買いますわ。
ボタンがたくさんあるから便利だけどスクリプトの管理も大変になるわ。
711:名無しさん@お腹いっぱい。
17/01/13 03:07:03.04 VugGKbUf0.net
例えば100回のLoop処理(計算結果をメモに書き込む)の中で
10回に1回だけ条件(特定値Xに等しいか違うか)に一致するか判別させ、
等しければBreakさせる
にはどう書けばよいんでしょいか
ヒントでも良いのでおねがいすます
712:名無しさん@お腹いっぱい。
17/01/13 06:40:40.53 gdau3kgZ0.net
whileループ使えばいいんでは?
while (条件式){
ループ内容
}
(値じゃないと抜ける)
以降任意コマンド
...
713:名無しさん@お腹いっぱい。
17/01/13 06:46:36.78 gdau3kgZ0.net
あ、ループ中ならループを入れ子にすればいいよ
714:名無しさん@お腹いっぱい。
17/01/13 07:29:51.53 wZoDLogu0.net
>>671
ループの中で、A_Indexってのが使えるだろ。 これの1ケタ目が0のときに(10で割って余りがゼロ)
条件確認とかすればいいんじゃね
715:名無しさん@お腹いっぱい。
17/01/13 08:46:26.17 7Zy1oQ180.net
>>674
同じこと考えてた
716:名無しさん@お腹いっぱい。
17/01/13 09:05:59.46 ElJK1pof0.net
しかし質問者の条件一致でBreakしたら
100ループにしても10回目でもれなくループ終了するやん
continueと勘違いしてるんかね
717:名無しさん@お腹いっぱい。
17/01/13 09:11:00.10 ElJK1pof0.net
ああ、特定置X=10ではないのか
失礼した
718:名無しさん@お腹いっぱい。
17/01/13 11:14:21.99 wZoDLogu0.net
>>675
お前、だれ? なんの相槌だよ
719:名無しさん@お腹いっぱい。
17/01/13 11:26:31.65 twlQAXuK0.net
すみませんでした
720:名無しさん@お腹いっぱい。
17/01/13 15:32:54.56 tGzElDSz0.net
If mod(A_Index,10)=0でもいいし、Loopを10回×10回に分けてもいい。後者の方なら以下で
Loop,10
{
Loop,10
{
計算結果をメモに書き込む処理
}
If 条件=X
Break
}
721:名無しさん@お腹いっぱい。
17/01/13 18:03:27.80 H5dv8le90.net
>>667
今日G600を買ったけど
ahkのリマップがきかないというのは
F1::F13
みたいなahkのリマップがG600では認識されないってことだよね?最初それでF13以降をG600に割り当ててみたけどうまくいかなかった。
自分が持ってる別のゲーミングマウスはF13以降が送れるからそれを使ってG600にF13以降割り当ててみたけどそれなら問題なくいけましたわ
722:名無しさん@お腹いっぱい。
17/01/14 13:22:22.97 +HfGXXB60.net
!z::
run C:\data\雑多メモ.txt
SetTitleMatchMode,2
ifWinExist, 雑多メモ.txt
{
WinActivate
WinMove, A,, 10, 10
}
return
このようなスクリプトをAutoHotkye.ahkに記述して
Alt+Zで特定のテキストを表示するようにしているのですが
1度の押下ではWinMoveが効かずもう一度Alt+Zを押すと移動します
どうしたら一度の押下でテキスト起動と移動まで実行できるでしょうか
723:名無しさん@お腹いっぱい。
17/01/14 13:59:20.75 agYRBtA90.net
SetTitleMatchMode, 2はAuto-executeセクションに書いとくとして
!z::
IfWinNotExist, 雑多メモ.txt
{
run C:\data\雑多メモ.txt
}
WinWaitActive, 雑多メモ.txt, , 2
if ErrorLevel <> 0
{
MsgBox, WinWait timed out.
return
}
else
WinMove, A, , 10, 10
return
こうじゃねか?
724:名無しさん@お腹いっぱい。
17/01/14 14
725::10:47.36 ID:gHuGvuYB0.net
726:名無しさん@お腹いっぱい。
17/01/14 14:33:21.53 +HfGXXB60.net
>>683
ありがとうございます行けました!
>>684
ありがとうございます
682のWinActivateの後ろに sleep, 2000 入れて試してはいたのですがダメでした
その以前にいれてれば多分いけたのですね
runの完了をifWinExistは待たず判定も即座で間に合って無かったってことですかね
727:名無しさん@お腹いっぱい。
17/01/14 17:43:36.02 UAvdEFwy0.net
とある行の最後尾に” /n”とつけるために書いてるんですけど、
send、{End}+{Space}/n
て入力するときにIMEが「ひらがな」入力になってても「半角英数」で入力されるようにするにはどうしたらいいですか?
728:名無しさん@お腹いっぱい。
17/01/14 18:30:36.54 TOPRHsv20.net
IME OFFにしてからSend
強制OFFが嫌ならSend後にもう一度IME ON
>7参照
729:名無しさん@お腹いっぱい。
17/01/14 18:31:52.79 FXMhwENU0.net
普通に文字列操作でwiki漁った方が
730:名無しさん@お腹いっぱい。
17/01/14 18:34:38.29 S4PpoINE0.net
404ワロス
IME_Func.ahkでググれ
731:名無しさん@お腹いっぱい。
17/01/14 19:01:29.78 gHuGvuYB0.net
クリップボードに入れてペーストをsendしてもいい
732:名無しさん@お腹いっぱい。
17/01/14 19:13:42.16 TOPRHsv20.net
>>689
いやまだ見れるし落とせるようだが
IME_Func.ahkとか古いの薦めるのはやめたげて
URLリンク(www6.atwiki.jp)
733:686
17/01/14 19:52:22.02 UAvdEFwy0.net
IMEを操作するためのZIPが複数あってどれが良いのかよくわからなかったので
>>690さんのでwikiでクリップボードのところを調べて(ほぼコピペして)やってみました
send,{End}
text := " /n"
Clipboard := text
ClipWait
send,^v
sleep,100
send,{Enter}
ClipSaved =
「変数」を今月に知ったレベルなのでおかしいとこあるかもしれませんがこれでできました
どうもありがとうございました
734:名無しさん@お腹いっぱい。
17/01/15 03:15:41.55 W+cB+eE20.net
clipsaved…?
735:名無しさん@お腹いっぱい。
17/01/15 05:47:30.86 3bynuYQQ0.net
質問失礼します
autohotkeyを起動したまま変換無変換にIMEの
半角/全角を割り当てたいのですが、うまく動かない
みたいでご教授願いいただけますでしょうか?
IMEのプロパティを変更して無変換と変換に割り当てる
ことはできたのですが、Autohotkeyを起動すると
競合できないのかうまいこと動作しないみたいです。
736:名無しさん@お腹いっぱい。
17/01/15 09:14:29.48 P2jis31i0.net
スプリクト内で変換、無変換キーでの割り当てしてないなら問題ないはすだけど
autohotkey.iniの常駐スクリプト終わらせて
ESC::ExitApp
だけのスクリプト作って起動して動作確認してみ
737:名無しさん@お腹いっぱい。
17/01/16 00:50:43.06 UidCcR1d0.net
Loop処理中にマウスとキーボードを他の事(ウィンドウ)で使用しても
処理が止まらないようにするにはどうやるのでしょうか?
738:名無しさん@お腹いっぱい。
17/01/16 01:12:12.07 2QPAIHs30.net
>>695
説明不足ですいません。
無変換 + αのように割り当ては行っています
739:名無しさん@お腹いっぱい。
17/01/16 01:15:12.61 5ZpgV/d+0.net
Thread, Priority,-1
740:名無しさん@お腹いっぱい。
17/01/16 01:28:55.16 5ZpgV/d+0.net
>>697
コンビネーションキーの話なら一つ目のキーはチルダ付けないと入力無効化される
URLリンク(ahkwiki.net)
741:名無しさん@お腹いっぱい。
17/01/16 01:41:18.10 T8PIEUF50.net
>>697
それはそういう仕様だ
チルダを付けて無変換 + αを押したときでも無変換が送られるのが嫌なら
単一キーで無変換は無変換として使う記述を追加しとけ
742:名無しさん@お腹いっぱい。
17/01/16 09
743::41:51.09 ID:aDTlFBVy0.net
744:名無しさん@お腹いっぱい。
17/01/16 12:25:03.86 INWH9M920.net
getkeystateでググれ
745:名無しさん@お腹いっぱい。
17/01/16 14:00:57.45 bAgInogz0.net
HHKBスレの人がキーボード毎(デバイス毎)に異なるキーリマップを記述出来ると
言ってるんだが出来る? いいサンプルないですか?
746:名無しさん@お腹いっぱい。
17/01/16 17:25:49.97 m5sByfJM0.net
HHKBなんか持ってねーよ普通。
持ってるなら自分でためしてみたら?
a::msgbox,aとかで確認すればいい
747:名無しさん@お腹いっぱい。
17/01/16 17:40:19.22 9WPK/4Xa0.net
そのスレで話題になってるんなら、そのスレで聞けば良いんじゃね
748:名無しさん@お腹いっぱい。
17/01/16 17:47:58.10 qy/dHsVE0.net
かなり前に少し話題に上った記憶があるからHIDで過去スレ検索するといいんじゃないかな
749:名無しさん@お腹いっぱい。
17/01/17 08:53:59.08 N/ZqSfaO0.net
キーリストの履歴にあるかないかだからできないことはないだろうけど
持ってない人のほうが多そうだしな
750:名無しさん@お腹いっぱい。
17/01/17 09:33:44.95 08JloE/t0.net
HIDMacrosやMagicKeypad(最新だとHidKeySequence)あたりと組み合わせる前提かなと思ったが
ググった感じだとAHKHID.ahkがあればahk単体でも行けそうな雰囲気
試してないから実際はわからんけど
751:名無しさん@お腹いっぱい。
17/01/17 12:39:31.96 oai8lHtf0.net
フットペダルにF15F16F17割当てて#IF getketstateで使ってるけどそれとは話違うような気もするしなぁ
752:名無しさん@お腹いっぱい。
17/01/17 22:07:21.08 GhPYznbR0.net
#NoTrayIcon
Gui, Add, Edit, Section w96 h20 ve1 ge1,
Gui, Add, Edit, x+8 ys wp hp ve2,
Gui, Show
return
GuiClose:
ExitApp
e1:
Critical ;Critical状態はスレッドごとに保持される
;Input, var, T0.5 L6 V, {Tab},a,b ;MatchList=a,b ;MatchList手前のスペースも文字列の一部とみなされる
Input, var, T0.5 L6 V, ab{Tab}, ;EndKey=a or b or {Tab}
MsgBox, %ErrorLevel%
return
すいませんInputコマンドで行き詰ってます。
MatchList・EndKeyいずれに割り当てた場合でも「a」と1文字入力しただけではErrorLevel=TimeOutになってしまいます。
この例は2文字abと打つとEndkey:Bが返ってきます(これはL0やL1にしても同じでした)。
Inputで1文字目から反応するのはどう書いたらよいでしょうか
753:名無しさん@お腹いっぱい。
17/01/17 22:26:17.58 bKdKUfsT0.net
なにがしたいのかわからない
edit1に文字打つたびにサブルーチンが呼ばれるんだから
そこで変数e1の中身見ればいいだけじゃないの?
754:名無しさん@お腹いっぱい。
17/01/17 22:38:46.61 oMGiQfe70.net
ラベルが呼ばれた段階で既に文字入力されてるんだからそりゃそうなるでしょ
755:名無しさん@お腹いっぱい。
17/01/17 22:44:23.78 GhPYznbR0.net
>>711
Gui,Add,Editでnumberオプションつけると整数のみ入力可能になりますよね
あれのマイナス値や少数値も入力可能なエディットボックスを作りたかったのです。
出きることならEndkeyなしで発動させたくInputでやってみた次第なんですがInputコマンドでは無理なんでしょうか?
SetFormat, floatfast, 03.0
MatchList := ”000,”
Loop, 999
MatchList .= (A_Index+0.0) . ","
のようにして3桁入力されたらEndkeyなしでFocusを次のEditコントロールに移動(これはうまくいきました)
整数3桁までならいけるんですが4桁以上になると16383バイト制限に引っ掛かるようで「
756:Out Of Memory」エラーになってしまいます #MaxMemやVarSetCapacityを入れてもだめでした
757:名無しさん@お腹いっぱい。
17/01/17 23:03:10.36 bKdKUfsT0.net
文字だろうがなんだろうがとりあえず入力可能にして、
確定した時点で数値として正しくなかったらやり直しにするのがてっとりばやいような
758:名無しさん@お腹いっぱい。
17/01/17 23:07:29.85 GhPYznbR0.net
>>712
あー!なんでこんな簡単なことに気づかなかったんだろう…orz
gオプションで値が変化した後でInputコマンドが呼ばれるわけか……
じゃあやっぱりInput使わずにその都度値を拾って判定するか
gオプション外してSetTimerでFocus監視してEdit1ならタイマー止めてe1ラベルに飛ばしてInputで入力待ちとかにした方がいいのかな
スレ汚し失礼しました
759:名無しさん@お腹いっぱい。
17/01/17 23:23:43.08 2CP3aljR0.net
main.ahk
というメインのファイルに
#include sub.ahk
と記述してsub.ahkをincludeしてるんですが、
そのsub.ahkに組み込み変数の Clipboard を使った条件式を書いてもうまくうごいてくれませんでした。
ただmain.ahkのほうにかけば動きました。もしくは sub.ahkに test := Clipboard などのように一度別の変数にクリップボードの中身を移してから条件式をかけば動きました。
原因は何でしょうか?includeしたファイル内では組み込み変数の動きが変わってくるんでしょうか?
760:名無しさん@お腹いっぱい。
17/01/17 23:26:57.60 2CP3aljR0.net
>>716
説明不足でした。
if Clipboard contains XXXXX
といったクリップボードに含まれる文字列を使った条件式を書いていますが
その記述だとsub.ahkでは動きませんでしたが、
test := Clipboard
if test contains XXXXX
と書いた場合はsub.ahkの中でも動きました
761:名無しさん@お腹いっぱい。
17/01/17 23:51:36.48 08JloE/t0.net
main.ahkのどの位置にIncludeしてるんだかわからんが
Autoexecuteセクション回りはちゃんと理解してる?
762:名無しさん@お腹いっぱい。
17/01/18 00:35:01.52 w9//4JoN0.net
>>718
includeの記述はあってました
いろいろやったんですが動きました
新規作成 → Autohotkey Scirpt でahkファイルを新規作成し
sub.ahkの中身を新規作成したahkファイルにコピーしてそれをmain.ahkにincludeしたらなぜか動きました。
ahkファイルがこわれていたんでしょうか
新規作成したahkファイルは拡張子がahkなだけではなく何か特別な形式のものだったりするんですかね
763:名無しさん@お腹いっぱい。
17/01/18 02:31:34.81 /8WkK9MV0.net
includeの記述方法じゃなくて
includeした行位置とautoexrcuteの理解について聞いたんだが
764:名無しさん@お腹いっぱい。
17/01/18 07:11:29.64 py2IVMta0.net
#if 0
MsgBox,aaa
#if
#if 0
^b::Send,bbb
#if
下は実行されないけど、上は実行されてしまう。
これって、どう理解したら良いのでしょう?
765:名無しさん@お腹いっぱい。
17/01/18 08:09:46.32 tveMqUZp0.net
#ifはホットキーやホットストリングにしか効果がない条件式だと思いねえ
if 0
MsgBox,aaa
#if 0
^b::Send,bbb
#if
これならどちらも実行されない
766:名無しさん@お腹いっぱい。
17/01/18 08:42:57.51 dp2UanEk0.net
#IFってのはその条件が当てはまってる環境ならその下に書いたものに派生するってこと
上はAutoexecuteセクションにかかってるからから勝手にメッセージが出る
ホットキーラベルは書いた瞬間から常駐確定
wikiの頭から読んでこい
767:名無しさん@お腹いっぱい。
17/01/18 08:50:11.52 py2IVMta0.net
#if はAutoexecuteセクションでは使わないということで理解しました。
ありがとう。
768:名無しさん@お腹いっぱい。
17/01/18 20:13:35.14 m/tnoBRp0.net
Ifを5個6個とつかってるといまどれのある場合かなしの場合かわからなくなってくるんですけど
これを分かりやすくする方法ってないですか?
769:名無しさん@お腹いっぱい。
17/01/18 20:37:54.55 2S1lOUtx0.net
エディターにタグ付けするとか?
770:名無しさん@お腹いっぱい。
17/01/18 20:58:32.86 xE+P++2h0.net
単純に変数に入れる数値で解決するだろ
1つ目の条件なら1をいれる
2つ目の条件なら2をいれる
両方満たすなら3をいれる
んでその変数の数が=でどれと一緒なら分岐するかとかな
notならそもそもNullってるはずだ
ていうかIfで
771:分岐するのがわからなくなるなんてあるのか?
772:名無しさん@お腹いっぱい。
17/01/18 21:43:25.43 /8WkK9MV0.net
条件分岐が多すぎて迷子になるってことじゃね?
ネストはきちんとインデントして視覚的に階層をわかりやすくする
条件別にコメント見出し行をつける
あたりを徹底してみたら?
// ****** A設定: Xが◇の時は□の処理をする ******
if (…) {
:
// *** A'設定: X◇かつYも◇の時は更に◆の処理をする ***
if (…) {
:
}
}
// ***** S設定 : XとYとWが○でかつHが○じゃない時は△の処理をする ******
else if (…) {
:
}
773:名無しさん@お腹いっぱい。
17/01/19 13:44:19.33 PhlHVTVT0.net
>>725
タブで段組するとかこまめにコメントつけるとか
根本的な問題として書き方が下手だからif連発のスクリプトになってるのではありませんか
774:名無しさん@お腹いっぱい。
17/01/19 13:57:08.60 +J2J6wBF0.net
{ } 内の処理の行数が多いと見にくいから、中身を関数呼び出しにしたり、サブルーチン呼び出しにするのも良いかな。
775:名無しさん@お腹いっぱい。
17/01/19 15:12:21.28 A7V+soX30.net
if a {
if b {
(…)
}
}
↓↓↓↓↓
if (a && b) {
(…)
}
みたいにまとめたり
if a {
(…)
if b {
(…)
(…)
}
}
↓↓↓↓↓
if a {
flag++
(…)
}
if b {
{
flag++
(…)
}
if (flag > =2) {
(…)
}
みたいにifに必要な部分以外は後ろに持ってくるとか
まあ最強なのはコメントだけど
776:名無しさん@お腹いっぱい。
17/01/19 23:37:36.34 YP1ta4bu0.net
>>725
もしスクリプト書き用エディタに「メモ帳」使ってるならエディタ変えてみたら?
ahkスクリプト作成編集に特化したSciTE4AutoHotkey(URLリンク(fincs.ahk4.net))や秀丸なんかだと、
カッコ開始の(や{にカーソル持って行くと対応するカッコ閉じの)や}と共にハイライト表示するから範囲が見やするなるぜ
そういうことじゃないってが…(´・ω・`)
777:名無しさん@お腹いっぱい。
17/01/20 16:31:43.88 40MyC7IQ0.net
>>725はスクリプト書いてる最中じゃなく、現在実行中のホットキースクリプトの分岐条件で今スクリプトのどこが実行中なのか分からなくなるって話なのかとおもた
だとしたら普通にToolTip入れる・音を鳴らす・トレイアイコンを変える・慣れるまでMsgBox1秒表示とか?
778:名無しさん@お腹いっぱい。
17/01/20 17:30:09.57 z+RLR9YH0.net
ログ見れば済むはなしでは?
779:名無しさん@お腹いっぱい。
17/01/20 20:02:23.02 NqDuNzkz0.net
誰か助けてください
アップローダにあったEverythingのダブルクリックで関連付けの条件にExplorerを登録して使ってみたんですが
ゴミばこのパスをSend,{s}でコピーすることが出来ないのでクリップボードに格納できません
ライブラリも同様です。
どうにかゴミ箱やライブラリを判別して取得する方法はないですか
780:名無しさん@お腹いっぱい。
17/01/20 20:53:20.30 NqDuNzkz0.net
あ、自己解決しました。
781:名無しさん@お腹いっぱい。
17/01/22 21:33:20.93 ona4x+vs0.net
質問があります
関数Aにパスを入れた変数を含む文字列をこんな感じで渡した時
A("%hoge%\memo.exe")
A(path){
msgbox % path
}
ここで出てくるメッセージは%hoge%\memo.exeになってしまいます
この%hoge%を展開して関数内でフルパスを得るにはどうすればいいんでしょうか
782:名無しさん@お腹いっぱい。
17/01/22 21:37:45.10 cZt34c360.net
A(hoge . "memo.exe") とか
783:名無しさん@お腹いっぱい。
17/01/22 21:39:09.79 cZt34c360.net
おっと"\"が抜けてた
784:名無しさん@お腹いっぱい。
17/01/22 21:57:43.24 ona4x+vs0.net
うーんだめだ。動きませんでした
変数を展開して文字列に直す、みたいな機能はないんでしたっけ?
785:名無しさん@お腹いっぱい。
17/01/22 22:08:11.32 cZt34c360.net
>>740
ん?
786:こういう意味じゃなくて? hoge := "C:\" A(hoge . "memo.exe") A(path){ msgbox % path ; C:\memo.exe }
787:名無しさん@お腹いっぱい。
17/01/22 22:23:38.88 ona4x+vs0.net
あ、関数内でも展開されました。もうちょっとで出来そうなのにうまくいかない
もしかして関数でコンテキストメニューのMenu,Context,addは使えないです?
788:名無しさん@お腹いっぱい。
17/01/22 23:16:52.77 ecIzh0Se0.net
>>742
小出しせずにソース晒してみ
789:名無しさん@お腹いっぱい。
17/01/22 23:28:20.32 ona4x+vs0.net
MenuLine("Xnviewerで開く",App . "\XnView\xnview.exe","Xnviewer","jpg,jpeg,png,bmp,gif,icon,ico")
MenuLine(Menuname,Path,GoLabel,Ex="",Key=""){
GLOBAL line,fileEx
Ifexist,%Path%
{
If (Ex != ""){
If fileEx in %Ex% ;この拡張子に当てはまったらメニュー表示
{
line := 1
Menu,Context,add,%Menuname% %key%,%goLabel%
;Menu,Context,Icon,%Menuname% , %Path% ;←これ動かねぇ
}
}else{
line := 1
Menu,Context,add,%Menuname% %key%,%goLabel%
}
}
return
790:名無しさん@お腹いっぱい。
17/01/22 23:29:42.69 ona4x+vs0.net
こんなかんじでメニューを作る関数を組んでるんですがなんかメニュー用アイコンが拾えない……なんでや
791:名無しさん@お腹いっぱい。
17/01/22 23:36:45.01 ona4x+vs0.net
あ、APPにはパスが入ります。USBに入れて使いたくてここは変動します
792:名無しさん@お腹いっぱい。
17/01/23 00:15:32.21 5fXuRjd50.net
問題は2つ
1
「%Menuname% %key%」でkeyが空だったら、作られるメニュー項目は「%Menuname% 」←スペースが付いてる
だから次の行でそんな名前のメニューねえぞって怒られる
わかっててカンマの前にスペース入れてるならそれじゃだめ、%a_space%にしてみ
というかそんな変な名前の付け方はやめたほうがいいと思うけど
2
そこを解決しても、pathの中身はアイコン画像じゃないからエラーになる
793:名無しさん@お腹いっぱい。
17/01/23 00:31:23.29 5fXuRjd50.net
もう1つレアな可能性もあるな
◯ APP:="D:"
◯ APP = D:
× APP=D:
794:名無しさん@お腹いっぱい。
17/01/23 04:02:08.11 5fXuRjd50.net
ごめん>>747の2は盛大に勘違い
exeでもちゃんとアイコン画像のソースになりました
795:名無しさん@お腹いっぱい。
17/01/23 12:37:03.84 7nDqAK650.net
>>744
いまテスト環境ないんであれだけども
そのMenuは関数の外に出して試したの?
それで表示されるなら関数内では使えないってことなんじゃね
ahkの関数って見えない制約あるみたい
例えば>>625
他にもstringsplitのoutput変数名でarrayという変数名を関数内で使うと動かなかったりしたことがあった
796:名無しさん@お腹いっぱい。
17/01/23 13:00:12.85 9FhKom2Y0.net
それはグローバル変数にしてないからじゃないかえ
797:名無しさん@お腹いっぱい。
17/01/23 14:09:33.12 qIOmmpBm0.net
Menu,Context,Icon,%Menuname% %key%, %Path% で動いたよ
あと関数の最後の } が一個足りない、たぶんコピペ抜けだと思うけど
余計ごとだが key排除で
Menuname := "&Xnviewerで開く" とか "Xnviewerで開く(&x)" で良いんじゃなかろうか
しかし事前にfileExに値入れとかないとif条件満たさないとか
menu,Context,Show付け足さないと見れないとかなかなか面倒なソースだわ
追試してほしいならもうちょい上手いこと切り出してくれると助かる
798:名無しさん@お腹いっぱい。
17/01/23 14:18:40.33 rJ/utNVs0.net
Wintitleが、AA、BB、CC
の�
799:R種類があって、これらのときにaキーを動かしたいとき、 #IfWinActive, AA a:: goto label return #IfWinActive, BB a:: goto label return #IfWinActive, CC label: a:: -- 動作内容 -- return #IfWinActive, みたいな書き方をしています。他の書き方、一つにまとめたりって 出来ますか
800:名無しさん@お腹いっぱい。
17/01/23 14:29:12.15 sGnzOKc00.net
#If WinActive("AA") or WinActive("BB") or WinActive("CC")
801:名無しさん@お腹いっぱい。
17/01/23 14:29:26.62 B/XWkeT50.net
#IfWinactiveにする理由ある?
a::
IfWinactive,AA
処理AA
Else IfWinactive,BB
処理BB
Else
Send,a
みたいな感じではだめなの?
802:名無しさん@お腹いっぱい。
17/01/23 14:37:35.24 rJ/utNVs0.net
>>754
なるほど、Wiki見てきましたが
WinActive("WinTitle" [ , "WinText", "ExcludeTitle", "ExcludeText"])
Excludeも出来るのですね。そういう書き方があるのですか
>>755
それだと、いったんa;;のループに入って分岐するって感じ
#IfWinActiveだと、まず対象のウインドウをチェックして関係なければループ自身にも入らない
だから、なんとなくそれは気持ち悪いです
803:名無しさん@お腹いっぱい。
17/01/23 14:38:43.21 rJ/utNVs0.net
>>755
特に、マウスクリック関係やマウスUpとかはおかしな動作をしがちな気がする
804:名無しさん@お腹いっぱい。
17/01/23 14:47:14.24 rJ/utNVs0.net
>>754
前々から思っていたのですが、
IfWinActive
では、Excludeが使えるのに、
#IfWinActive [, WinTitle, WinText]
では、Excludeがないのですよね。
なんで? って。でも#If Winactive
を使えば、これも解決できますね
これバージョンアップしたときに#IfWinActiveも直してほしい
805:名無しさん@お腹いっぱい。
17/01/23 14:54:35.05 qIOmmpBm0.net
パフォーマンス落ちるからじゃね
#Ifはその辺犠牲にして自由度高めた感じだし
まあExcludeはともかく、
SetTitleMatchMode ,RegEx にしておけば #IfWinActiveでも一行で済むんじゃね
806:名無しさん@お腹いっぱい。
17/01/23 14:58:39.50 rJ/utNVs0.net
a::
のルーチンの中で、IfWinactiveで分岐すると、else
で、Send, a
とかをしなければならなくなる。 マウスクリック関連だと、Blindするしないとかいろいろと不具合の種になる
807:名無しさん@お腹いっぱい。
17/01/23 18:24:39.01 qGWthWaq0.net
>>753
ahk_group
808:名無しさん@お腹いっぱい。
17/01/23 18:44:29.80 +kLHbjVk0.net
>>752
動きました。スペースが邪魔だったんですね。ありがとうございました
809:名無しさん@お腹いっぱい。
17/01/23 21:34:25.68 qYisSVk+0.net
特定のボタン押してる間Ctrl出力するのってどうすればいいんですか?
a::Send, ^や{Ctrl}ではうまく行きません
810:名無しさん@お腹いっぱい。
17/01/23 21:36:23.49 qGWthWaq0.net
{ctrl down}
811:名無しさん@お腹いっぱい。
17/01/23 21:37:46.25 qYisSVk+0.net
それだと一度押したらずっと押されっぱなしになってしまいます
812:名無しさん@お腹いっぱい。
17/01/23 21:40:40.23 qGWthWaq0.net
up
813:名無しさん@お腹いっぱい。
17/01/23 22:08:17.80 qYisSVk+0.net
a::
Send, {ctrl down}
Send, {ctrl up}
間にsleep入れたりしてみましたがやはりうまく行かないです
一瞬入力されるだけになってしまう
814:名無しさん@お腹いっぱい。
17/01/23 22:15:09.20 9FhKom2Y0.net
何がしたいか分からんもん
具体的にどういう動作を想定してるのか言わな
815:名無しさん@お腹いっぱい。
17/01/23 22:19:17.66 qYisSVk+0.net
マウスの横ボタンをCtrlにしたい
ゲーミングマウスなら設定変えればいいけどやろうとしてるのは普通のBTマウスなのでそういうわけにも行かずahkでなんとかしようと思ってる
816:名無しさん@お腹いっぱい。
17/01/23 23:06:48.60 9FhKom2Y0.net
リマップじゃなくクリックで{ctrl down}と{ctrl up}を切り替えるようにしたら
マウスの横ボタンどう考えても a じゃないじゃん
他人のマウスの該当キーが何か知らんもん試しようがない
817:名無しさん@お腹いっぱい。
17/01/23 23:10:33.86 +kLHbjVk0.net
>>769
あー言いたいことはわかりました
XButton1::
send,{LCtrl down}
keywait,XButton1
send,{LCtrl up}
return
ゲームってことらしいので左Ctrlを割り当ててみる
818:名無しさん@お腹いっぱい。
17/01/23 23:25:31.61 qIOmmpBm0.net
マウスだったらキーリピート考慮しなくていいんだし
XButton1 と XButton1 up にそれぞれ ctrl down/up 割り当てればいいじゃん <
819:名無しさん@お腹いっぱい。
17/01/23 23:26:08.19 9FhKom2Y0.net
いやいや
XButton1で合ってるなら
XButton1::Ctrl
これでいいじゃろ
820:名無しさん@お腹いっぱい。
17/01/23 23:38:36.90 qYisSVk+0.net
>>771-772
ありがとうございます
どちらでも希望通りの捜査になりました
>>773
それだとちゃんと動作しないのでここに来ました
821:名無しさん@お腹いっぱい。
17/01/23 23:42:32.43 9FhKom2Y0.net
>>774
おまえ、、、
>>763でa::Send, ^や{Ctrl}ではうまく行きません
ってリマップしたいのにホットキーの書き方してるから動かんのじゃろ
XButton1::{Ctrl}
こうじゃなく
XButton1::Ctrl
こう!
822:名無しさん@お腹いっぱい。
17/01/23 23:44:25.84 MgtzdEPG0.net
質問後出し君は面倒くさいねえ
最初から
「サイドボタン押してる間だけCtrl押しっぱなし状態にしたいけど XButton1::Ctrl だと上手く動かない」
と書けばいいのに
823:名無しさん@お腹いっぱい。
17/01/23 23:44:58.66 qYisSVk+0.net
>>775
それ以前にやってました
今もう一度試してみましたがやはりそれでは動かないです
824:名無しさん@お腹いっぱい。
17/01/23 23:47:05.64 9FhKom2Y0.net
そうか
{Ctrl}もCtrlも両方試したんだな
試したことは正確に書いてくれ
825:名無しさん@お腹いっぱい。
17/01/23 23:47:23.09 qYisSVk+0.net
すみませんでした
826:名無しさん@お腹いっぱい。
17/01/24 00:27:04.50 992xxzzv0.net
XButtonは環境によっては押しっぱなし自体できなかったりするから
最初にちゃんと言わないとどうしようもない
最近やけに質問するとき手前勝手に情報絞る奴多いな
827:名無しさん@お腹いっぱい。
17/01/24 07:52:02.48 7kGGksAZ0.net
>>780
素人にそこを求めても無理。答える方に経験があれば指摘できる
828:名無しさん@お腹いっぱい。
17/01/24 10:27:47.41 J1W92RRt0.net
無理でも毎回指摘はするべき
同じ人間が再質問する時に毎回こんなやりとりが続くようじゃ本人のためにもならない
829:名無しさん@お腹いっぱい。
17/01/24 10:44:48.02 7cwjcxG/0.net
>>780
どこでもいっしょ。このスレや2ちゃんに限らず
都度要求するか、スルーで
830:名無しさん@お腹いっぱい。
17/01/24 12:20:20.11 UHBgPEPO0.net
ここはいつも相変わらずだな
831:名無しさん@お腹いっぱい。
17/01/24 12:22:15.90 ihL1oeuZ0.net
>>783
酷い奴なんか自分の意図が伝わらないことで逆ギレするのがいたわ
832:名無しさん@お腹いっぱい。
17/01/24 12:24:05.95 T/yiTrei0.net
感情論でスレ進めんなよ
833:名無しさん@お腹いっぱい。
17/01/24 12:27:11.39 crrxor1c0.net
理解しといてほしい事があるならテンプレに書いとけばいいじゃん
834:名無しさん@お腹いっぱい。
17/01/24 12:30:32.40 J1W92RRt0.net
>2に書いてあるんだよなあ
835:名無しさん@お腹いっぱい。
17/01/24 12:36:12.79 GE5wVamP0.net
まあふらっと来ただけの質問者はテンプレ見ないからね
こことは関係ない質問スレみてるけど質問の書式テンプレにあってもそれを守るやつなんてそういない
836:名無しさん@お腹いっぱい。
17/01/24 15:24:56.91 5QF8P+np0.net
Ctrl + Pause にホットキーを割り当てようとして試行錯誤した結果、
^CtrlBreak で拾えたのですが、
そうすると Ctrl + ScrollLockまで拾ってしまいます。
Ctrl + ScrollLock には別の機能を割り当てたいのですが可能でしょうか?
ahk v1.1.24.01
一般的なフルキーボード(108キー)です。
837:名無しさん@お腹いっぱい。
17/01/24 16:48:19.83 gXpwbaQi0.net
#IF getkeystate
でおけ
838:名無しさん@お腹いっぱい。
17/01/24 16:50:55.57 dWKsdENq0.net
>>790
どうぞ
つURLリンク(ahkwiki.net)
つURLリンク(ahkwiki.net)
839:名無しさん@お腹いっぱい。
17/01/24 18:01:44.04 4q1oiuqt0.net
今書いてるのが上手く動かないんですって人が
その書いてるのを貼りもしないのはさすがに理解できない
テンプレの問題ですらない
840:名無しさん@お腹いっぱい。
17/01/24 18:41:50.42 J1W92RRt0.net
>4にもあるがLocks系キーの挙動はBIOSでばらつきあるんじゃなかったけ?
回答する側の人間もあまりうかつに答えるのはどうだろう
テンプレ嫁はなにも質問者だけに当てはまるわけじゃないと思う
841:名無しさん@お腹いっぱい。
17/01/24 18:45:30.26 JTdgw3ZH0.net
人の環境が分かるエスパーなんていないから誰も回答しなくなるぞ
842:名無しさん@お腹いっぱい。
17/01/24 19:29:42.97 x2o1zO
843:3l0.net
844:名無しさん@お腹いっぱい。
17/01/24 19:38:32.75 ih2ZG1ZZ0.net
>>796
URLリンク(ahkwiki.net)
複雑なことしたいなら正規表現
RegExReplace()
845:名無しさん@お腹いっぱい。
17/01/24 20:14:18.88 Aj/ZMJce0.net
AHK を用いて Firefox で表示中の URL を取得するにはどうしたらいいでしょう?
winclass.ahk では情報取得できそうになかったです
Windows 10 x64 Build14393.693 + AutoHotky 1.1.24.04 + Firefox 50.1.0
846:名無しさん@お腹いっぱい。
17/01/24 20:27:36.32 4q1oiuqt0.net
ctrl+L送ってコピー
847:名無しさん@お腹いっぱい。
17/01/24 22:37:41.55 dWKsdENq0.net
>>796
単純にエクスプローラで現在開いてるフォルダのアドレス取得したいなら、WinGetTitleでだめ?
もしかしたら、「フォルダオプション」で設定必要有るかもしれないけど・・・
848:796
17/01/25 00:00:15.00 8aRVeOIS0.net
>>797
うまくいかなかったです、というか使い方がよくわからなくて・・・
>>800
winactivate, ahk_class CabinetWClass
sleep,200
WinGetTitle, moto, A
Msgbox, %moto%
return
開いてるフォルダのパスじゃなくて名前しか取得できませんでした
使い方間違えてたらすいません
849:名無しさん@お腹いっぱい。
17/01/25 01:23:52.65 odyPGWq00.net
>>791 やってみましたがダメでした。
#IF !GetKeyState("ScrollLock","P")
^CtrlBreak::
MsgBox,"%A_ThisHotkey%"
return
GetKeyStateでは両者の区別が出来ませんでした。
>>792 もちろんそのページは読みましたが
>CtrlBreak このキーは実在しない。Ctrl+Breakを押したのと同じ。
この記述のとおりには動きませんでした。
>>793 対応するホットキーラベルがあるかどうかの問題だと思うのですが?
自分の試したラベルは以下の通りです。
^ScrollLock::
^Pause::
CtrlBreak::
^CtrlBreak::
Ctrl & Break::
Ctrl & Pause::
Ctrl & ScrollLock::
vk13sc045::
vk91sc046::
^vk03sc146::
^vk03sc046::
^vk13sc045::
^vk91sc046::
vk03sc146::
vk03sc046::
>>794 やはりAHKでは対処不能のようですね。
・・・・・・・
いずれにしても Ctrl + Pause が拾えればもれなく Ctrl + ScrollLock も拾ってしまうのは避けられないみたいです。ありがとうございました
850:名無しさん@お腹いっぱい。
17/01/25 01:29:15.41 PIq8LqdA0.net
>>801
エクスプローラなら、Shellオブジェクトから行ったほうが確実かな
;windowsキー + i
#i::MsgBox % GetFolderPath()
GetFolderPath()
{
hwnd := WinActive("ahk_class CabinetWClass")
win := ComObjCreate("Shell.Application").Windows
Try {
cnt := win.Count
Loop % cnt {
ie := win.Item[A_Index - 1]
If (ie.Hwnd == hwnd)
Return ie.Document.Folder.Self.Path
}
}
}
851:名無しさん@お腹いっぱい。
17/01/25 02:12:33.30 8Ayfw6rJ0.net
>>801
[フォルダー オプション]→[表示]→[詳細設定]→[ファイルおよびフォルダー]→
→[タイトルバーにファイルのパス名を表示する(クラシックテーマのみ)]
にチェックするとフォルダパス取得できると思うんだが
win7のエクスプローラにて
852:名無しさん@お腹いっぱい。
17/01/25 02:19:04.39 eewC0kv10.net
「アドレス:」を消すのではダメな理由がわからん
853:796
17/01/25 02:33:46.54 8aRVeOIS0.net
>>803
>>804 この二つのどちらでもできるようになりました ありがとうございました
855:名無しさん@お腹いっぱい。
17/01/25 19:48:19.14 6lAGpast0.net
ホットストリングで日付を入力したいのですが、毎度一回目の入力で成功してくれません。(そのままnowスペースと入力されるだけ)
二回目でちゃんと日付が入力されます。
おそらくスクリプトの書き方が悪いと思うのですが、どこを直せば、一回のミスの前提がなくても
最初の一回目でホットストリングが入力されるようになるのでしょうか?教えてください。
::now::
FormatTime,nowTime,Time,HH:mm
Send,%nowtime%
Return
856:名無しさん@お腹いっぱい。
17/01/25 20:28:41.52 t2nV1KD00.net
*ZC
857:名無しさん@お腹いっぱい。
17/01/25 21:52:11.54 ZtZrsxPW0.net
AHK便利すぎおもしろすぎぃwww
それだけいいたかったの!!
858:名無しさん@お腹いっぱい。
17/01/25 22:29:24.70 eewC0kv10.net
車輪の再発明が楽しすぎる
公開する意味がないのはもちろん下手すると自分で使う意味すらないのにわざわざ作ってはニヤニヤしてしまう
859:名無しさん@お腹いっぱい。
17/01/25 23:06:55.74 FjbQN+IQ0.net
誰かゲーム作ったチャレンジャーいない?
860:名無しさん@お腹いっぱい。
17/01/26 00:04:23.45 2bSFIh600.net
そこらへんのフリーソフトで痒いところに手が届かないものを自分なりに似せて作って俺専用ユーティリティ作るのは勉強になる
常駐増えないし軽いし
861:名無しさん@お腹いっぱい。
17/01/26 10:23:03.13 fR4Qip7a0.net
実際超便利
作るの楽しければね
862:名無しさん@お腹いっぱい。
17/01/26 17:20:35.03 Ct/Efl0Z0.net
>>811 の為につくってやったぞ
te1=ぐぅ
te2=ちょき
te3=ぱぁ
rensho:=0
start:
kakegoe=ぽん
Random, com, 1,3
ToolTip, じゃんけん 1:ぐぅ 2:ちょき 3:ぱぁ
ToolTip, ,,,2
Return
1::
2::
3::
pl:=A_ThisLabel
ToolTip, %kakegoe%
Sleep,500
ToolTip, % te%com%
MouseGetPos, x,y
ToolTip, % te%pl%, x, y+50 ,2
Sleep,1000
tugi:
If (pl=com){
kakegoe=しょ
Random, com, 1,3
ToolTip, あいこで 1:ぐぅ 2:ちょき 3:ぱぁ
Return
}
863:名無しさん@お腹いっぱい。
17/01/26 17:20:55.65 Ct/Efl0Z0.net
if (com= mod(pl,3)+1){
rensho+=1
ToolTip, うー %rensho%連負だよ
}else {
rensho:=0
ToolTip, わーい 勝った勝った
}
Sleep,1000
Goto, start
Return
864:名無しさん@お腹いっぱい。
17/01/26 20:29:03.44 /243r9fs0.net
>>815
サザエさんゲームか
マリオは流石に難しいか…
865:名無しさん@お腹いっぱい。
17/01/26 21:08:37.35 9FnOAAZf0.net
テキストRPGなら根気が有れば誰でも作れると思うぞ
866:名無しさん@お腹いっぱい。
17/01/26 21:14:09.42 HIuytZSy0.net
NetHackならできそう
867:名無しさん@お腹いっぱい。
17/01/26 23:06:03.01 nvLNw86f0.net
>>810
あ~楽しいんじゃ~
実際自分が作ったもが既存のAHKスクリプトよりも出来がよかったり気分がいいよな
フォーラムじゃ公開しないけどニヤニヤ出来る
868:名無しさん@お腹いっぱい。
17/01/26 23:10:29.65 2ZoDyBlk0.net
AHK使えるようになると楽しいのは分かるけどRPGはRPGツクールでよくね?って思ってしまう
869:名無しさん@お腹いっぱい。
17/01/26 23:43:08.01 BumNn57A0.net
>>819
初期に書いたスクリプトを数年後とかに見直した時、「・・・」と落ち込む事もあるよな
870:名無しさん@お腹いっぱい。
17/01/27 00:30:53.16 PDG9RR7z0.net
>>811
数年前にマップエディタ作ったところで力尽きた。
GUIに貼り付けた画像を移動すると残像が残る謎現象に悩まされそもそも画面の更新が重いので投げました。
871:名無しさん@お腹いっぱい。
17/01/27 00:34:31.45 OG/qWTF70.net
おれは
872:成長を感じて涙を流す 涙を流すはうそだけど
873:名無しさん@お腹いっぱい。
17/01/27 01:48:23.13 eMO4KDoP0.net
64bitOSの方、ahkで計算すると小数何桁までできてますか?
32bitしか環境ないもんで確認出来ないんですが
SetFormat, float, 0.32
MsgBox, % ATan(1)*4.0
小数16桁で計算打ち止めになる(小数17桁以降は0の連続)のはOSの仕様でどうしようもないんでしょうか
やりたいことは、スマホアプリで作ったgpsデータ(xml形式)の数万ポイントある座標データから距離計算したかったんですがヒュベイニの公式でpi使うのでなるべく誤差を少なくしたいです
874:名無しさん@お腹いっぱい。
17/01/27 02:00:24.38 yGp4+8ei0.net
計算部分は任意精度ライブラリ、DLLにすれば?
875:名無しさん@お腹いっぱい。
17/01/27 02:08:44.21 eMO4KDoP0.net
こんな感じで書いるんですがpiを小数16桁以上にしても結局
pi := 3.1415926535897932384626433832795
SetFormat, float, 0.32
MsgBox, % pi*1.0 ;3.14159265358979310000000000000000 小数16桁で打ち止めになってしまいます
MsgBox, % Hubeny_Exp(35.709, 139.735, 35.658, 139.904) ;単位m
Hubeny_Exp(lat1, lon1, lat2, lon2, lr=6378137.0, sr=6356752.314140) {
;出展 URLリンク(yamadarake.jp) のコードをAutoHotkey形式に変換したもの
; d := sqrt( ((dy*M)**2) + ((dz*N*cos(muy))**2) ) ;ヒュベニの公式
; dy := (lat1*(pi/180))-(lat2*(pi/180)) <--NG このようにpiを使った計算を繰り返すと誤差が増える
; dy := (lat1-lat2)*(pi/180) ;緯度の差(Radian角)
; dz := (lon1-lon2)*(pi/180) ;経度の差(Radian角)
; muy:= ((lat1+lat2)/2)*(pi/180) ;二地点緯度の平均値
; e := sqrt( ((a**2)-(b**2)) / (a**2) ) ;第一離心率(a = 長半径, b = 短半径)
; M := (a*(1-(e**2))) / (W**3) ;子午線曲率半径
; N := a/W ;卯酉(ぼうゆう)線曲率半径
; W := sqrt( 1 - ( (e**2)*((sin(muy))**2) ) ) ;演算子の優先順位の都合により、負の数になる
; ;可能性がある式のべき乗は(-exp)**nのように()で囲う必要がある
static pi := 3.1415926535897932384626433832795
dy := (lat1-lat2)*(pi/180)
dz := (lon1-lon2)*(pi/180)
muy:= ((lat1+lat2)/2)*(pi/180)
e2 := ((lr**2)-(sr**2))/(lr**2)
Mn := lr*(1-e2)
W := sqrt( 1 - (e2*((sin(muy))**2)) )
M := Mn/(W**3)
N := lr/W
d := sqrt( ((dy*M)**2) + ((dz*N*cos(muy))**2) )
return d
}
876:名無しさん@お腹いっぱい。
17/01/27 02:10:21.50 eMO4KDoP0.net
>>825
う、リロードしてなかった
有難うございます探してみます
877:名無しさん@お腹いっぱい。
17/01/27 02:15:02.65 34U0tnK70.net
>>824
; win7x64
SetFormat, float, 0.48
MsgBox, % ATan(1)*4.0 ; 3.141592653589793115997963468544185161590576171875
Return
878:名無しさん@お腹いっぱい。
17/01/27 02:18:42.55 eMO4KDoP0.net
>>828
有難うございます
やっぱり64bitで使う仕様で書いた方が良さそうですね
879:名無しさん@お腹いっぱい。
17/01/27 02:24:53.22 34U0tnK70.net
OSは何使っているの?
880:名無しさん@お腹いっぱい。
17/01/27 03:25:27.97 osKm4NDo0.net
Microsoft Windows XP Professional x64 Edition
881:名無しさん@お腹いっぱい。
17/01/28 11:16:41.41 SRD3tZmB0.net
うpろだにあるEverythingに独自ContextMenuを作るのを改造してエクスプローラ上で通常の右クリックでコンテキストメニューを開いたらその隣にさらに関連付けコンテキストメニューを開こうと思っています。
ところがうpろだにあるものはコピーでファイルパスを格納してそれを分�
882:A関連付け先にコマンドラインで渡してるようです。 そこで今引っかかってるのが 1、右クリックでメニュー用ahkを呼び出すと格納したファイルパスが渡せない 2、そもそも右クリックメニューをタイマーで検知したのを判断して開くとctrl+cが通らない なにかいい方法はないでしょうか。知恵を貸してほしいです
883:名無しさん@お腹いっぱい。
17/01/28 11:46:44.34 YtdwKd/00.net
右クリした時点で毎回コピー
884:名無しさん@お腹いっぱい。
17/01/28 12:48:59.51 vawXBtsY0.net
>>803のようなShellオブジェクト経由でファイルパスを取得するのではいかんのか?
885:名無しさん@お腹いっぱい。
17/01/28 14:18:57.58 fQvzu+Rb0.net
Escを押す
886:名無しさん@お腹いっぱい。
17/01/28 20:27:25.62 g3vkXVOY0.net
人生からのEscボタン
887:名無しさん@お腹いっぱい。
17/01/31 14:18:19.20 2EFEHqzu0.net
セクション無しのINIWRITEは出来ませんか?。
セクションの部分をカラにしてもエラーになってしまします。
888:名無しさん@お腹いっぱい。
17/01/31 15:13:41.63 KdVCGzdH0.net
省略できるのはKeyのみ
WritePrivateProfileStringがサポートしてないイレギュラーな形式を作りたいなら
File関連コマンドで自力実装だな
889:名無しさん@お腹いっぱい。
17/01/31 15:50:27.25 2EFEHqzu0.net
難しそうですね、諦める事にします。
有難うございました。
890:名無しさん@お腹いっぱい。
17/01/31 17:13:25.43 dyAC3gx00.net
>>837
よくわからんがこういう事?
セクション無かったらiniReadも出来ない訳だから
;読み
FileRead, setting, *t hoge.ini
Loop, Parse, setting, `n
{
if(RegExMatch(A_LoopField, "(^\w+?)=(.+)", $)) ;StringSplitでは=が含まれる値が分解する
%$1% := $2
}
;書き
var1 := 1, var2 := 0
setting := "var1=%var1%`nvar2=%var2%"
Transform, setting, Deref, %setting%
MsgBox, %setting%,
;FileDelete, hoge.ini
;FileAppend, %setting%, hoge.ini
891:名無しさん@お腹いっぱい。
17/01/31 19:50:27.38 hl45vAOn0.net
AHK(あほーきー)
892:名無しさん@お腹いっぱい。
17/01/31 20:01:30.75 kMOqZ2MQ0.net
ホットストリングで日付を入力したいのですが、毎度一回目の入力で成功してくれません。(そのままnowスペースと入力されるだけ)
二回目でちゃんと日付が入力されます。
おそらくスクリプトの書き方が悪いと思うのですが、どこを直せば、一回のミスの前提がなくても
最初の一回目でホットストリングが入力されるようになるのでしょうか?教えてください。
::now::
FormatTime,nowTime,Time,HH:mm
Send,%nowtime%
Return
893:名無しさん@お腹いっぱい。
17/01/31 20:43:59.82 /9r6IWzA0.net
荒らしかな
894:名無しさん@お腹いっぱい。
17/01/31 21:13:08.96 sPjrS0/Q0.net
>>840
私には難しいですが、少し弄った感じでは何とか出来そうです。
有難うございました。
895:名無しさん@お腹いっぱい。
17/01/31 22:28:16.99 I8C8bhpL0.net
よく見かける現象として、2回目から期待した動作をするけれど、1回目が上手くいかないって事例が多いみたいだな。共通する問題点でもあるのかな。
896:名無しさん@お腹いっぱい。
17/01/31 22:40:39.33 izJEdwHX0.net
>>842
普通に1回めから機能するけど?
何かおま環なんじゃない
897:名無しさん@お腹いっぱい。
17/01/31 22:48:29.21 pOcm56pT0.net
俺も>>842のそのまんまコピペして試したけど
1回目から問題なく機能した
898:名無しさん@お腹いっぱい。
17/01/31 23:02:02.02 ud/8iQNM0.net
まずは、常駐ソフトを全部止めて実験してみるのが良いね。
899:名無しさん@お腹いっぱい。
17/02/07 19:31:09.59 Fxf59nnI0.net
CapsLock を Ctrlに変換してVIM風キーバインド突っ込んで幸せになろうとしたら
Caps+ALT+ 3 G J W ] あたりが無効、キーボードが機械的に同時押し認識してない模様
ロジクールの最廉価の安物故に文句もないが高いものだと違うのだろうか
同時押しが認識されているかはここで簡単に調べられます
Microsoft Applied Sciences Group
URLリンク(www.microsoft.com)
900:名無しさん@お腹いっぱい。
17/02/07 20:28:
901:18.86 ID:DHMiLqVr0.net
902:名無しさん@お腹いっぱい。
17/02/07 20:42:45.73 Fxf59nnI0.net
言葉たりずでした スキャンコードマップをChgKeyを使ってCaps>Ctrlに変換してます
キーボード買い換えるしかないか 他の人はCaps+ALT+キー はうまく動いてるのか知りたいな
と書き込みました
903:名無しさん@お腹いっぱい。
17/02/07 21:01:49.56 u7TURMmy0.net
久々にwiki行ったらサイドのリンクからコマンドとか見れないんだけど俺環なのかな(´・ω・`)
904:名無しさん@お腹いっぱい。
17/02/07 21:03:26.41 u7TURMmy0.net
ごめん他のブラウザで見れたから俺環だった
レスする前に確認するべきだったわ
905:名無しさん@お腹いっぱい。
17/02/08 02:52:35.45 LElLpAVf0.net
レスとはレスポンスの事
今後の為にも気を付けて使おう
906:名無しさん@お腹いっぱい。
17/02/08 03:24:27.98 fGlvTVyK0.net
言葉は生き物です
時の流れとともに意味合いや使い方も変わっていくもの
907:名無しさん@お腹いっぱい。
17/02/08 04:10:57.01 iDTKbBI50.net
レス自体がリプライの間違いだからな
908:名無しさん@お腹いっぱい。
17/02/08 05:20:07.43 +oz1vKnu0.net
AHK便利過ぎてマジやばい!
909:名無しさん@お腹いっぱい。
17/02/08 08:12:48.97 RlLzFIDy0.net
左右のALTキー空押しでIMEの制御するスクリプト書いてみたんだけど
体感的には誤作動無く使えてたんだけど、別件でキーの送信履歴見たら
左ATLキー押してる時に左CTRLキーが一緒に2回送信されてて、右側も同じ状態です
あれこれいじって調べて試行錯誤するも解決できず、
これ以上どの辺り探ればいいか解らずお手上げ状態なので、ご教授お願いします。
*~a::
*~b::
*~c::
;全部は多いので割愛します。(a~z、記号、修飾キー、全て)
;------ [LAlt] 半英数------
LAlt up::
if (A_PriorHotkey = "*~LAlt")
{
GetIMEMode := IME_Get()
If Not (%getIMEMode% = 25)
{
IME_SetConvMode(25)
IME_SET(0)
}
Return
}
Else
{
IME_SET(0)
}
Return
;右Alt側は改行制限のため割愛
910:名無しさん@お腹いっぱい。
17/02/08 08:18:25.89 RlLzFIDy0.net
;続きです
;------ [RAlt] IME-ON & ひらがな------
RAlt up::
If (A_PriorHotkey = "*~RAlt")
{
GetIMEMode := IME_Get()
If Not (%getIMEMode% = 25)
{
IME_SET(1)
IME_SetConvMode(25)
}
Return
}
Else
{
IME_SET(1)
}
Return
;------ [RCtrl]+[RShift] IME-ON & 全カタカナ ------
~RCtrl & Shift up::
{
IME_SET(1)
IME_SetConvMode(27)
}
Return
;----------------------------------------------
複雑になってるのはカタカナモードを同時にひらがなモードに戻しておくためです
この辺りは普通にしても駄目でした
解る方居ましたらよろしくお願いします。
ちなみに、USキーボードです
911:名無しさん@お腹いっぱい。
17/02/08 10:29:26.53 TRXrxwpc0.net
マルチモニタで
アクティブ中のウィンドウの
モニタ番号を取得できる方法ある?
912:名無しさん@お腹いっぱい。
17/02/08 11:07:41.36 OJNkj9wD0.net
2ちゃんの場合は返答に限らず投稿そのものをレスって呼んでんじゃね
実際それにツッコミ入れてる人間は>854以外見たことない
913:名無しさん@お腹いっぱい。
17/02/08 11:26:22.29 uiAaFPge0.net
スレのお題に対するレスポンスってことで良いだろ
914:名無しさん@お腹いっぱい。
17/02/08 11:32:04.46 mZUxJLYT0.net
>>862
その認識が一番スマートでしっくりくるな
915:名無しさん@お腹いっぱい。
17/02/08 15:08:29.06 OJNkj9wD0.net
>>858
よその環境でまともに動かないソース貼られても確認しづらい
削るなら問題切り分けるためにも極限までシェイプしなさい
貼る前の動作確認と影響
916:してそうな環境記述は必須だよ (if条件に *~LAlt 入ってるのに *~LAlt::ホットキー削られたりしたら意味わからんで困る) ;------ LAlt up:: Return ;------ とりあえずこれだけでもLControl差し込まれてたので 少なくともIME.ahkとUSキーボードのせいではないだろう Win8.1x64 AHK U64 v1.1.24.05 ThinkPad T54p JPキーボード
917:名無しさん@お腹いっぱい。
17/02/08 16:50:52.55 RlLzFIDy0.net
≫864
調べていただきありがとうございます
少しでも間違いが確認できたので助かります
指摘された箇所は何となく意味無いかもとは思いはじめてました
確かに矛盾がありますよね
IME周りの動作はシンプルに書き直してみても駄目だったので
原因は他にありそうですが、とりあえず削れるとこ削って指摘箇所見直してみます
ahkいじり始めたばかりで厳しいですがもうちょい頑張ってみます
918:名無しさん@お腹いっぱい。
17/02/08 17:44:28.26 mxDuMDcz0.net
うちもAlt upにホットキー割り当てるとLControlがもれなく付いてくる
919:名無しさん@お腹いっぱい。
17/02/08 18:06:11.40 OJNkj9wD0.net
>>865
削れと言ったのは質問する前にやりなさいという意味ね
>864で削りきってても出てるのでこれ以上ソース修正してどうこうなるものではないよ
Autohotkey.exe側の問題だろう
920:名無しさん@お腹いっぱい。
17/02/08 18:30:27.74 RlLzFIDy0.net
>>866
マジですか?
何なんでしょうね
え~とですね
別の用途で書いたのを見ましたところ
もれなく無関係なキーが送信されてました
こちらは1つのキーに別の動作当ててトグルさせてるんですが
共通箇所が無くて原因が更に困難な状態に...
そして、リマップ用で書いたのは全く問題無し
う~ん解らない。。。
削るだけ削ったし、指摘箇所を直してみたけど駄目だった
逆に何か足りてないパターンの可能性がありそう?
Win7 x64 AHK v1.1.24.01
キーボドJISに変えてJIS用にregedit書き換えても駄目でした
これから、バージョン変えてゴニョゴニョしてみます。
921:名無しさん@お腹いっぱい。
17/02/08 19:20:26.04 suKmIuQm0.net
>>868
URLリンク(autohotkey.com)
Alt や Win キーを使ったホットキーの場合、スタートメニューとかが表示されてしまうのを防ぐために
意図的にキーを送信(デフォルトが ctrl?)してるみたい。上の設定で変更可能
922:名無しさん@お腹いっぱい。
17/02/08 20:20:48.07 RlLzFIDy0.net
>>869
ありがとうございます!直りました。
もしかして、ここ最近裏で静まってた物が突然勝手にアクティブになるのはこのせいかな?
923:名無しさん@お腹いっぱい。
17/02/08 21:49:52.80 awPd67+W0.net
WinWaitコマンドって複数書いても最初のしか処理してくれない感じ?
条件分岐とサブルーチン割り当てたら一応複数処理できるみたいだけど・・・
924:名無しさん@お腹いっぱい。
17/02/09 06:24:45.10 NsowgTYK0.net
ALT UPのマスクを試しに#MenuMaskKey VK07から
CTRLキーに戻してみたところ、やっぱり何か関係無いのが反応してしまう。
ここで質問して#MenuMaskKey VK07に変えて正解だったみたい
と、ここまでは良かったんですが。。。
CapsLockキーが、ONの状態だと
F1~F12キーのUPでCapsLockキーが送信されてるんですが...
コレは代わりのマスクキーって無いのかな
ってか何でCapsLockなんだよぅ
CapsLockのLEDがチカチカ反応して煩わしいんだよね
CapsLockがオフの状態だと送信されず問題ないから
SetCapsLockState, Offって入れてみたけど何か納得行かない
925:名無しさん@お腹いっぱい。
17/02/09 07:05:47.12 UTlpvZAU0.net
おま環じゃない?うちじゃ送信されないよ
926:名無しさん@お腹いっぱい。
17/02/09 09:31:48.
927:23 ID:NsowgTYK0.net
928:名無しさん@お腹いっぱい。
17/02/09 10:26:11.94 kGRdOLY30.net
USキーではないがなるな
Win8.1x64 AHK U64 v1.1.24.05 ThinkPad T540p付属JP
どうでもいいがうちの環境だとCaps解除がCaps+ShiftではなくShift単独になってるわ
AHK常駐外してもなるしTPのドライバが腐ってるんだろうか、まあ使わないからいいけど
DLW.exeのCaps無効化でON/OFF延々ループに陥る謎がやっと解けた
929:名無しさん@お腹いっぱい。
17/02/09 10:58:29.95 lOrWMqC60.net
それはホットキー関係なくてsendの仕様じゃね
send送るときcapslockがonだと自動的に一時解除してるようにみえる
930:名無しさん@お腹いっぱい。
17/02/09 11:15:25.34 h7Q+Yqzk0.net
sendをテキストボックスに送るとき、たとえば1234って半角の数字を送っても
そのテキストボックスが全角入力になっていると、全角の1234が入るぞ
931:名無しさん@お腹いっぱい。
17/02/09 11:21:25.26 lOrWMqC60.net
はい
932:名無しさん@お腹いっぱい。
17/02/09 11:26:15.07 NsowgTYK0.net
>>875
>>876
情報ありがとう
デバイス固有かな?と思ったんですが違うのかな
Shift+でオンの人はどうなのかな
レジストリ変更でCapsLockにCTRL当てたり無効にしたけど駄目でした
動作的にはLEDの点滅がゆっりになっただけでした
ALT UPとは違う意味合いで送信されてるってことでいいのかな
だとしたら代替用のマスクキーは無いよね。たぶん。