AutoHotkey スレッド part23at SOFTWARE
AutoHotkey スレッド part23 - 暇つぶし2ch600:名無しさん@お腹いっぱい。
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とは違う意味合いで送信されてるってことでいいのかな
だとしたら代替用のマスクキーは無いよね。たぶん。

933:名無しさん@お腹いっぱい。
17/02/09 12:28:40.32 v3rcoIwZ0.net
>874のsendをコメントにすると送られない
send,A と send,a をcapslock関係なく区別するためじゃね

まあCapsLockを常時ONで使うって状態が想定外なんだろうな
アルファベット圏ならなおさら

934:名無しさん@お腹いっぱい。
17/02/09 13:09:13.46 NsowgTYK0.net
>>880
言われてみればそうなのかもしれない

ただ、別に常時オンにしたい訳じゃなく、状態に関わらず気にせず意図したキーのみを送信させたいんだよね
仕様なら仕方ないけど、それを回避することは出来ないのだろうか...

使いはじめて日が浅いので分からないけど今までこの件に関して話題とか無かったの?
過去スレ漁ってみたけど何も対策が見つからないですが...

オフにしておくだけでいいとはいえ、あんまり状態気にしないで使ってるからなぁ...
ってかボクみたいに気にしない人はLEDの点滅気にならないのかなぁ

935:名無しさん@お腹いっぱい。
17/02/09 13:34:06.47 YHe2/VsD0.net
普段常用してる範疇でcaps lockをONにすること一切ないな

936:名無しさん@お腹いっぱい。
17/02/09 13:47:14.65 lOrWMqC60.net
Send,{blind}{Volume_Mute}

937:名無しさん@お腹いっぱい。
17/02/09 14:07:24.11 NsowgTYK0.net
>>882
とりあえず簡単にオンなっちゃうからこうした
CapsLock::Return

常時オフで済むならそうしたいけど
文字打つ時はどうするんです?
是非参考にしたい
ahkで頭大文字にするとか?変換するとか?

938:名無しさん@お腹いっぱい。
17/02/09 14:31:20.76 v3rcoIwZ0.net
もしかしてshift+アルファベットで大文字になるの知らんのか?

939:名無しさん@お腹いっぱい。
17/02/09 14:31:40.14 YHe2/VsD0.net
>>884
変換かShiftで済ませてるよ
F10 2回で全大文字、F10 3回で頭大文字

940:名無しさん@お腹いっぱい。
17/02/09 14:40:43.08 atZ203Rq0.net
みんなはAHKをどんなことに使ってるの?
昨日使い始めたけど、サンプルコード集にあった「1つのキーに3種類以上割り当て」で
選択した文章をウェブ検索orPC


941:内検索(Everything利用)ぐらいしか思いつかなかった



942:名無しさん@お腹いっぱい。
17/02/09 14:50:27.87 oZjTCU2N0.net
あまり使い込んでる方ではないと思うけど
autohotokey.ahkに入れて常用してるのは
・選択中の計算式テキストを計算して答えをペースト
・ウィンドウの各種リサイズ
・各種フォーマットで日時テキストペースト
・ワンキーでメモ用常用テキストをオープン
あとはファイラーと連携させた単体スクリプトがいくつか、とか
UWSCも使ってて複雑なのはそっちが多いな

943:名無しさん@お腹いっぱい。
17/02/09 15:23:36.19 fp7vDS7m0.net
俺はかなり特殊だけどRazer Nagaという多ボタンマウスにF13~F24を割り当ててそれを常駐のAutohotokey.ahkで機能制御してる
ただのキー割り当てだけならRazerのユーティリティだけでも出来るけど、長押しや同時押しとかはAHKでないと機能割り当て出来ないので

サイド1=戻る
サイド2=ブラウザ起動
サイド3=進む
サイド4=Alt+F4 / 長押し=Ctrl+W
サイド5=ランチャー呼び出し
サイド6=Alt+Home
サイド7=最小化 / 長押し=元のサイズに戻す
サイド8=Ctrl+N / 長押し=Ctrl+T
サイド9=メール起動
サイド10=ウィンドウサイズ変更(右下ボーダードラッグ) / 長押し=ウィンドウ移動(タイトルバードラッグ)
サイド11=F5
サイド12=光学ドライブトレイ開閉
上面ボタン4=Win+Tab
上面ボタン5=Del

サイド1+ホイール上下=Home/End
サイド2+ホイール上下=Ctrl+Tab/Ctrl+Shift+Tab
サイド3+ホイール上下=PageUo/PageDown
サイド5+ホイール上下=Alt+Tab/Alt+Shift+Tab
サイド5+左クリック=Ctrl+C
サイド5+右クリック=Ctrl+V
サイド5+ボタン5=Ctrl+Z
サイド5+ボタン4=Ctrl+Y
サイド5+ホイールクリック=Ctrl+S
サイド6+ホイール上下=左右スクロール
サイド11+ホイール上下=Volume Up/Down
サイド11+上面ボタン4=PCシャットダウン
サイド11+上面ボタン5=PC再起動
サイド11+ホイールクリック=PCスリープ

944:名無しさん@お腹いっぱい。
17/02/09 15:28:06.36 oZjTCU2N0.net
>>889
autohotkey.ahk スペル打ちまがえたけどまあいいやと思ってたが、一部だけコピペした?w

945:名無しさん@お腹いっぱい。
17/02/09 15:34:21.09 NsowgTYK0.net
>>885
知ってたけどマイナーな打ち方だと思っててしばらく失念してた
ついでに言うとオンの状態でShift使うと小文字になるのも
ただ、この打ち方するくらいならオンオフした方がいいなと思ってた
ま、オフ常用ならありかもしれんが、この発想ができなかったです

>>886
なるほど F10変換か...
慣れないと大変そうだなぁ
でも一番効率用さそうですね

ありがとうございました
参考になりました。常時OFFでShiftメインで変換も慣らしていこうかなと思います。
しかし、今まで、その都度毎回オンオフしてた僕って...

946:名無しさん@お腹いっぱい。
17/02/09 15:39:49.47 atZ203Rq0.net
>>888
なるほど
自分もuwscは前から使っていたので、複雑なマクロはそっちでやっちゃってる

>>889
自分もロジの多ボタンマウス使っているから参考になるわ
F13以降も割り当てられるのは今知った
他のソフトウェアで一旦マウスにF13以降のキーを割り当ててから使うのか
長押し、2度押しが使えれば実質ボタン数3倍だもんなあ
ただ古いsetpoint入れなきゃいけないみたいだからちょっと難しいな

947:名無しさん@お腹いっぱい。
17/02/09 17:09:05.78 NsowgTYK0.net
CapsLock::Return が、WINキー押した後に無効化されてしまう
リロードしないと効かなくなる

ってかスクリプト関係無しに
WIN+CapsLockでCapsLockがオンオフしてしまう
はじめて気づいたけど、何だこれ

948:名無しさん@お腹いっぱい。
17/02/09 17:59:08.82 fp7vDS7m0.net
>>893
SetCapsLockState, AlwaysOff

949:名無しさん@お腹いっぱい。
17/02/09 19:50:32.02 u3n2AKMo0.net
CapsLockなんてキーそのものを繰り抜いて押せなくしてるわ
世界的に邪魔なボタンとして有名だし


950: >>891 Shift+Spaceで半角になることすら知らなそうだな



951:名無しさん@お腹いっぱい。
17/02/09 20:04:01.03 fp7vDS7m0.net
>>895
原始的手法だな

952:名無しさん@お腹いっぱい。
17/02/09 20:18:22.24 u3n2AKMo0.net
ahk使う前からそうしてたし最強だからしょうがない

953:名無しさん@お腹いっぱい。
17/02/09 20:21:55.07 goNxcE/a0.net
CapsLockはランチャー(fenrir)呼び出しに多用してるから
繰り抜くなんてとんでもない

954:名無しさん@お腹いっぱい。
17/02/09 20:37:24.18 fp7vDS7m0.net
>>898
俺も使わないキーは別の用途で活用するな
そういうの考えるのがまた楽しいし

955:名無しさん@お腹いっぱい。
17/02/09 20:45:44.39 I/61IYeO0.net
CapsLockの問題は使わないことなんじゃなくて誤爆することなんだよなあ

956:名無しさん@お腹いっぱい。
17/02/09 20:47:25.78 36ond/Mm0.net
CapsLockはレジストリいじってEnterに置き換える重要なボタンだぞ。Autohotkeyならリマップでいいけど

957:名無しさん@お腹いっぱい。
17/02/09 20:53:44.51 kGRdOLY30.net
CapslockはOS変わるごとに無効化しづらくなって今は諦めてしまったな
レジいじるやり方はOS再起動とか必要でめんどくさいし

958:名無しさん@お腹いっぱい。
17/02/09 20:59:44.42 t5K2Xutu0.net
最強だからしょうがない(キリッ

イタタタ…

959:名無しさん@お腹いっぱい。
17/02/09 21:14:49.79 toZbqrmX0.net
>>902
単にCapsLock無効化するだけなら>>894でいいじゃん

960:名無しさん@お腹いっぱい。
17/02/09 21:26:05.42 kGRdOLY30.net
>>904
すまん単にCapsLockのON/OFFだけならそれでいいんだけど
IME ONのときひらがな/半角英数になるトグルは殺せないんだよね
(CapsLockキー自体は無効になってないっぽい)
自分の誤爆率としては後者のほうが多いのだよな

961:名無しさん@お腹いっぱい。
17/02/09 21:27:16.22 mF2CX9w00.net
>>903
うわ
すげー過剰反応

962:名無しさん@お腹いっぱい。
17/02/09 21:31:58.67 MAutJoPy0.net
CapslockはchangekeyでF13とか適当なのに変えてるな

963:名無しさん@お腹いっぱい。
17/02/09 21:32:12.83 MrBb/Iju0.net
>>905
それIMEの設定で変更できるぞ
俺は半角/全角キーでIMEのオン、英数(CapsLock)キーでIMEオフに設定してる

964:名無しさん@お腹いっぱい。
17/02/09 21:36:39.91 2LWC1eC20.net
もうAHK関係ない話になってきてるしそろそろ終了しろよ

965:名無しさん@お腹いっぱい。
17/02/09 21:44:54.92 8FLag1tP0.net
>>906
うわ
すげー顔真っ赤

966:名無しさん@お腹いっぱい。
17/02/09 21:48:12.62 fRM/fiNU0.net
CapsLockは ESCキーにしてる。便利だ。

967:名無しさん@お腹いっぱい。
17/02/09 23:47:00.69 ufKPIx4C0.net
PixelSearchの正確性って画面出力してる相手との相性とかあるのかな?
通常は検索短径1ピクセル 色の許容値0で想定通りに動いてくれるのだけど
Flash製のブラウザゲーに対しては短径32x32 色の許容値10ぐらいでは失敗することがある
PixelGetColorや虫眼鏡ソフトで確認した確実にあるはずのピクセルが読み取れないのが謎です

968:名無しさん@お腹いっぱい。
17/02/10 01:13:19.86 SxtFUz280.net
そのFlash製のブラウザゲーを何枚かスクショ撮って
フォトショとかで差の絶対値で比較してみたら分かるんじゃね
恐らくオブジェクトに対してスムージング補完とかがかってて完全同一な絵にはなってないのでは

969:名無しさん@お腹いっぱい。
17/02/10 01:43:37.58 SxtFUz280.net
ImageSearchと勘違いしたわすまん

970:名無しさん@お腹いっぱい。
17/02/10 06:02:22.99 VLOM9VCI0.net
shift押そうとしてcaps押して英数⇔日本語入力を一日に10回はやる!
siftとcapsを同時押ししちゃって大文字に固定になったりも2,3回する!
毎日だ!

971:名無しさん@お腹いっぱい。
17/02/10 06:12:14.04 j3j3UYZi0.net
取れよもう

972:名無しさん@お腹いっぱい。
17/02/10 06:33:15.88 b4vBwtP30.net
単純にタイプが下手なだけという

973:名無しさん@お腹いっぱい。
17/02/10 06:37:35.15 RWGvmzKb0.net
あれ?こんな不満もAutoHotkeyがあれば大丈夫!って�


974:qげるんじゃないの?



975:名無しさん@お腹いっぱい。
17/02/10 07:52:59.15 vtD0orqJ0.net
親指で押せるキーをShiftにすればいい

976:名無しさん@お腹いっぱい。
17/02/10 08:22:08.09 wUVfVa5N0.net
あるアプリが動いているとして、それが管理者権限で動いているかどうかを確認することって出来ますか
またAHKスクリプトが動いているときに、それが管理者権限で動いているかどうかを確認できますか

977:名無しさん@お腹いっぱい。
17/02/10 08:22:24.69 wUVfVa5N0.net
ちなみにWin7です

978:名無しさん@お腹いっぱい。
17/02/10 08:23:02.03 ey0/EEWA0.net
すみません。数秒放置されてたら以下を送信したいのですが
どのようにすればよいのでしょうか?

GetKeyState, state, CapsLock, T
If state = D ;On
SetCapsLockState, Off
return

979:名無しさん@お腹いっぱい。
17/02/10 08:37:04.57 vtD0orqJ0.net
>>922
もしかして、
>>894 をやりたいだけとか?

980:名無しさん@お腹いっぱい。
17/02/10 09:06:49.81 ey0/EEWA0.net
>>923
使った後オンのままで何も動作してない状態続いたら自動でオフにしたいです。

981:名無しさん@お腹いっぱい。
17/02/10 09:29:21.74 vtD0orqJ0.net
>>924
例えば、1~2秒放置でOFFなら、

SetTimer, Timer01, 1000
;-----------------------------------
Timer01:
if(A_TimeIdlePhysical>1000){
SetCapsLockState, Off
}
return

982:913
17/02/10 09:32:27.42 /W6LcJX60.net
やっとわかった検索する座標付近にカーソルを近づけた時だけ微妙に色が変わってたようです
カーソルを近づけずに座標とColorIDを取得しないといけませんね

983:名無しさん@お腹いっぱい。
17/02/10 09:46:19.09 SxtFUz280.net
SetTimerでA_TimeIdlePhysicalを定期チェック
URLリンク(ahkwiki.net)

キー操作に限定したいならInputでタイムアウトを待つ
(横取りしたキーの再送信処理とかあるので繁雑になりそう)
いずれにしてもCapsLockホットキーをトリガにする必要があると思うが
AHK+日本語OS環境上でのLockキーの挙動は>4なので面倒なおまじないが必要かも

984:名無しさん@お腹いっぱい。
17/02/10 10:46:02.28 ey0/EEWA0.net
ありがとうございます

>>925
やっぱり、それですよね
何か反応無いんですよね...

>>927
その辺り読み返してはいるものの
う~ん、単純そうで複雑ですな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch