AutoHotkey スレッド part24 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ 997d-+Qhn)
垢版 |
2017/02/15(水) 18:04:32.01ID:kshCKhXn0
!extend:checked:vvvvv:1000:512と次スレを立てる際は1行目に記入してください

■配布元
http://ahkscript.org/download/

■前スレ
AutoHotkey スレッド part23
http://potato.2ch.net/test/read.cgi/software/1470936221/

■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/

■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2017/06/28(水) 20:35:40.90ID:GAxoDHcD0
>>671
NagaやG600でいいのでは?
2017/06/29(木) 16:05:22.83ID:4E/r5Hsm0NIKU
たとえば、
a:: と b:: でルーチンを組んだとき、a;; の途中で b:: が割り込みで入ることができます
このとき、 a;; の処理の途中で、ここからここの間だけ割り込み禁止ってできますか

たとえば、
WinAcrivate, タイトル
MouseMove, x, y
とかするとき、ときどきこの間に割り込みが入ってることがあるのです。 こういうところを割り込み禁止にjしたいのですが
しかし、a;; 全体を割り込み禁止にする必要はありません
2017/06/29(木) 17:07:08.06ID:6ChmMJrc0NIKU
critical
2017/06/29(木) 17:19:16.72ID:4E/r5Hsm0NIKU
ありがとう
2017/06/29(木) 17:52:51.60ID:n8Ag4QWE0NIKU
ああ、5年もAHKを使用しているのにCriticalの存在を知らなかった私は馬鹿なのだろうか・・・。
とても便利な機能。
2017/06/29(木) 18:08:14.84ID:6ChmMJrc0NIKU
Thread、Transformとかコマンド自体の使い道が思い当たらなかったものに
NoTimersやReDefみたいな便利機能がひっそりとあるのがなかなか気付けない
2017/07/01(土) 03:57:01.99ID:gSvccc2ld
色々調べて解決できなかったんで
お願いします

sc07B & l::Send, {Blind}{Right} 無変換 + L = →
で割り当てているのですが、
ウィンドウを右に持ってこようと
Win + →しようと上記のバインドと
一緒にするとロックであるWin + Lが
反応してしまいます。この場合
どのようにすればよいのでしょうか?
2017/07/01(土) 04:32:54.49ID:ghwZJPXH0
http://potato.2ch.net/test/read.cgi/software/1470936221/587-
2017/07/01(土) 06:46:12.85ID:fx/eUvvT0
>>678
実際に Win + L を押しているんだから仕方ないね。
自分なら、Win + ↑↓←→ に対応するホットキーを設定するかな。
2017/07/01(土) 07:02:05.63ID:fx/eUvvT0
>>678
レジストリ変更式キーリマップで、WinをF13に置き換えて、自前で Win や Win+ の動作を全部書けば
良いんじゃないかと思って調べたら、やってる人がいた。

スキャンコード f13 でググると最初の方に見つかったよ。
2017/07/01(土) 07:21:11.28ID:fx/eUvvT0
あ、自前で全部書かなくても
f13::LWin
でいけるわ。
ただ、Win + L の機能は本物のWinキーがないとダメみたいだね。
2017/07/01(土) 07:35:13.05ID:fx/eUvvT0
>>678
まとめ
チェンジキーアプリで、Winキー を 0x0064 にリマップし、
↓をAutoHotkeyに記載
f13::LWin
#l::
Send,{Win Up}
run,rundll32.exe user32.dll`,LockWorkStation
return
2017/07/01(土) 08:41:05.82ID:dDrobFzk0
すみません初心者なのですが質問します
指定した特定のウィンドウに対してだけマウスオーバーでアクティブにさせることは可能でしょうか?
Windows7の標準機能だと全部のウィンドウが反応してしまうのでAHKで何とかならないものかと...
可能でしたら、どの辺りを参考にしてよいのか誘導お願いします。
2017/07/01(土) 08:59:04.12ID:BN5dn+9M0
あくまで一つの方法。他にいい方法があるかもしらんが
タイマーで0.5秒間隔でそのウインドウの位置とサイズをWinGetPosでゲット
その範囲にマウスがあるかを判断
あれば、WinActivate
2017/07/01(土) 09:02:37.21ID:h4CY9SuL0
settimer
mousegetpos
winactivate
あたりかな
マウスオーバーの条件がわからんが常時監視の必要があるので
初心者が組むスクリプトとしては難易度高め
2017/07/01(土) 09:07:04.20ID:BN5dn+9M0
たとえばシフトキーを押したときだけ、0.5秒間隔でチェック用のタイマー起動
シフトキーを離せばタイマーオフ
とかすれば、常時年がら年中タイマー起動ってのは避けられるな
OnMessageを使えばもっと高度なことが出来そうだが、めんどくさいので自分で調べてね
2017/07/01(土) 09:20:42.53ID:Kym5lIIJ0
特定のウィンドウの条件がわからないけど
タイトルとかプロセスで条件つけるならMouseGetPosで直下のウィンドウのウィンドウハンドルとって
WinGetで条件の値とってIf var in で判定すればいいんでね
2017/07/01(土) 09:22:59.12ID:qbi52RGz0
タイマー周りのデバッグはややこしいけど
^aのようなショートカットで発動するようにして
テストしてけば行けるでしょ
2017/07/01(土) 09:25:56.71ID:BN5dn+9M0
AHKでは、OnMouseMoveみたいなイベントドリブンが出来ないのが残念だよねえ
バージョンアップで対応できないかな
2017/07/01(土) 10:27:10.34ID:h4CY9SuL0
>>689
この場合の肝は発動条件のほうかと
発動内容はwinactivateするだけだからデバッグの必要はあんまり…
2017/07/01(土) 10:56:10.76ID:dDrobFzk0
>>688 ありがとうございます
ちょっと調べてみたのですが分かりませんでした
具体的に言うと指定しておいたソフトのウィンドウが非アクティブの状態の時
マウスが座標に関係無く、そのウィンドウに乗ったら自動でアクティブにしたいのです
2017/07/01(土) 10:59:31.10ID:4rmjj/NJ0
>>631>>634を見よう!
2017/07/01(土) 11:02:45.02ID:7VWC/RaU0
>>692
>>686の回答が全てだわ
せめてその3つのコマンドくらいしっかり調べて使い方理解しな
このスレは要望すれば丸々スクリプト書いてくれるスレじゃないから
wiki熟読して試行錯誤して散々遠回りして失敗繰り返しながら自力でスクリプトを書くしかない
それが無理なら素直に諦めな
2017/07/01(土) 11:29:24.81ID:dDrobFzk0
>>694
何故試行錯誤してないと思った?
しかも作ってくれなど一言も言ってない
2017/07/01(土) 11:33:51.73ID:GNy005Tu0
>>695
だったら普通に「ありがとう、がんばります」だけ言ってもう消えて
2017/07/01(土) 11:39:09.16ID:Kym5lIIJ0
>>692
わからないと言われても何がわからないのかわからないとこちらも説明しようがないので……
俺もそう長く使ってるわけでもないけどとりあえず目標を決めて、始点と終点定めて、間を探って行けばいい

「指定した特定のウィンドウに対してだけマウスオーバーでアクティブ」なら
常に判定する必要があるからタイマーを使うけどとりあえずタイマーは置いておいて
始点はマウスオーバーでGetMousePos
終点のアクティブはWinActivate
判定が必要だからIf
その判断材料得るためにWinGetやそのほかを使う
とりあえず「マウスオーバーでアクティブ」を作って肉付けしていってみてはどうかな
2017/07/01(土) 11:55:26.42ID:6K4T8ORS0
動物園かよ
2017/07/01(土) 12:11:30.43ID:h4CY9SuL0
試行錯誤してる人は具体的に何を試してどう上手く行かないのかちゃんと書くしね
ちょっと調べてわからないじゃなくしっかり調べて理解しろって言われてるわけで
ロジックはもう複数の人が教えてるしあとは組み立ててがんばれ
2017/07/02(日) 02:49:34.00ID:GMfVtPTc0
>>692
このスレにいる人全てが思ったスクリプトをリファレンス見ずに完璧に書けるなんてことはない(と思う)
だからガンバレ!

マウス下のウインドウ情報は→mousegetpos
その内ウインドウハンドルを元にウインドウタイトル取得は→WinGetTitle
また、ウインドウクラス取得は→WinGetClass
該当ウインドウがアクティブか否かは→WinActive()
該当ウインドウをアクティブにするのは→winactivate

以上を定期間隔で実行するのが→settimer

この中で「if」で処理分岐させる必要あるけど、おそらくこれで希望の動きするんではないだろうか?
検証してないので申し訳ない
まぁとにかくガンバレや
2017/07/02(日) 09:11:22.27ID:GMfVtPTc0
>>700
付け足し
マウスが該当ウインドウ上に任意秒以上停止していた時のみ適用させる
↑とかの条件もある場合はまた別の処理が必要となる→mousegetposでマウス位置確認かな?
2017/07/02(日) 11:06:20.53ID:awNBOFJu0
どちらかと言うと、前回調べたマウス位置から動いていなければ何もしないって処理の方が大切かも。
タイマー処理はなるべく何もしないことが理想だし。
2017/07/02(日) 15:06:39.07ID:D83LxS//0
>>700 701
ロジックはわかたのだけど
具体的な書き方が一部わからない
IMEとロックキー系の制御はTimerで自動化してるので

SetTimer, Timer01, 1000
Timer01:
で作ったんだけど...

一応、タイマーとトリガーになるキーでアクティブ化だけは出来たけど
MouseGetPos, ここがいまいち書き方がわからない
タイトルは毎回変わるのでWinGetTitleでいいのかどうか...
できればclass名で指定したいのだけどマウス下のclassも指定できるのでしょうか?
とりあえず、あとで作ろうと思ってたのが先にできたやつを...
このタイマーより上のところをなんとかすればいいわけなんだろうけど...

Timer01:
if(A_TimeIdlePhysical>5000)
WinActivate, ahk_class 742DEA58-ED6B-4402-BC11-20DFC6D08040
return

これをどう使ってどう書いたらいいのかわからないです
MouseGetPos, この後は?
OutputVarWin ↓このと一緒に使うのか?
ahk_id %OutputVarWin% どう使う?
WinGetTitle ↑でマウス下のタイトルを格納して、WinGetで拾うということ?

あと、アクティブ後のタイマーをどうするか
アクティブ化が無限ループする。何故か非アクティブでも永久最前面化する
トリガーがキーなら問題なかった
とりあえず、タイマーを止める方法を探し中です
ってかマウス下の情報取れれば勝手に止まんのかな?
2017/07/02(日) 15:18:49.67ID:B/VAnNKj0
>>703
対象となるウインドウのidをまず求めておく

で、タイマーが来る毎に、MouseGetPosで得られるマウス下のウインドウのidが、そのidと同じかどうかを比較するだけ
2017/07/02(日) 15:46:13.12ID:zGkf+D8A0
とりあえずそこまで全然わかってない状態なら先にチュートリアル熟読したほうがいいと思う
まずはコマンド説明の読み方を理解するところからだね
2017/07/02(日) 15:49:47.86ID:zGkf+D8A0
失礼
× チュートリアル
○ リファレンス
2017/07/02(日) 16:05:24.41ID:Vg1N9enI0
この調子だとこの問答延々と続く気がする
2017/07/02(日) 16:07:52.84ID:aE09zI+k0
昨日みんながしたレスは別に何が何でもWinGetやWinGetTitleを使えって意味じゃないよ
質問したときにclassで判定したいと書かなかったからそういうのが使えるのではないかって言っていただけであって
2017/07/02(日) 16:19:30.09ID:pM51ez0b0
学ぶのは二の次で、とりあえず動けばいいんでしょ?
だったら個人的には盗んだほうが良いと思うから
正解貼っつけてそれを好きにさせればいいと思う
ぐちゃぐちゃと小難しいアドバイスを並べるよりその方が双方にとって良いかもな
2017/07/02(日) 16:25:00.35ID:kl59ZEpW0
>>709
そういう奴は図に乗るから軽くあしらってさっさと諦めさせた方が良い
半端に教えてるやつもその辺ちゃんと考えた方が良いぞ
2017/07/02(日) 16:57:42.64ID:SQKHkVnb0
それだったら別にAHKにこだわらなくても
似たような事出来るフリーソフト探した方が早いんじゃないか
2017/07/02(日) 17:43:30.12ID:zGkf+D8A0
>>709
ここはそういうスレじゃないから
2017/07/02(日) 17:50:33.60ID:GOyy/jnt0
>>692見た瞬間に相手するのやめて終われた話いつまで引っ張るの
2017/07/03(月) 01:00:48.37ID:7r3+wgPa0
Pauseで赤くなっているスクリプトにpostmessageで
メッセージを送り続けるとと
色が赤と緑の間を行き来して点滅するのですが

これはメッセージを受け取る処理を実行するためにpause
が一時的にoffになっているのでしょうか?
2017/07/05(水) 09:48:11.45ID:pQcxE+w20
GUIでタイトルバーが邪魔なので消したいんですけど
それ以外にウィンドウつかめるようにする方法を教えてほしいです
2017/07/05(水) 11:41:51.96ID:7Cvx27b80
OnMessage(0x201, "WM_LBUTTONDOWN") でGUI上にMouseDownイベント発生させる
その中でマウスUPが行われるまでループで回してマウス移動分をWinMoveし続ける
2017/07/05(水) 11:54:00.28ID:THqxI/Y/0
>>715
HDD漁ったら昔書いたコードが残ってたんで貼ってみる

OnMessage(0x20, "WM_SETCURSOR")
OnMessage(0x201, "WM_LBUTTONDOWN")

Gui, Window:+LastFound -Caption +AlwaysOnTop
Gui, Window:Color, 000000
Gui, Window:Show, W100 H100 X100 Y100 NA
Return

WM_SETCURSOR() {
hCursor := DllCall("LoadCursor", Int, 0, Int, IDC_HAND:=0x7F86)
DllCall("SetCursor", Ptr, hCursor)
Return 1
}

WM_LBUTTONDOWN() {
PostMessage, WM_NCLBUTTONDOWN:=0xA1, HTCAPTION:=0x2
}

Esc::ExitApp
2017/07/05(水) 13:38:06.91ID:pQcxE+w20
>>716
なるほどそんな方法があったとは
>>717
調べてみましたがOnMessageでウィンドウに送られた操作により
関数WM_LBUTTONDOWNを実行していて
0x201が左クリック押し下げで、HTCAPTIONがタイトルバーの事で
0x2は(中止 再試行 無視)?0xA1?
左クリック押し下げをタイトルバー左クリック扱いにしてる的な?
これ以上はアホすぎて分かりませんでしたが
ありがたく使わせてもらいますありがとうございました
2017/07/06(木) 14:41:03.04ID:bDkSu5ce0
皆さんのお知恵を拝借したく存じます
OSはWindows 10 Creators Update(32bit)で、AutoHotkeyは最新の
v1.1.26.0(32bit)を使用中です
やりたいことは「ウインドウズの「天気」アプリを起動する。すでに起動済
みの場合はアクティブにする」です
起動済みのアプリはウインドウのタイトル──「天気」──を指定すれば
アクティブにできるのですが、新規に起動させる方法がわかりません
「天気」アプリのフルパスはC:\Windows\System32\
ApplicationFrameHost.exeで、どうやら「天気」に限らず「カレンダー」
「電卓」「設定」などすべてのアプリはフルパスが同じ、つまり
ApplicationFrameHost.exeという共通の実行ファイルのようです
ふだんはClassicShellのメインメニューにショートカットを置いてあるのでク
リックすればすぐ起動できるのですが、AutoHotkeyで一発で起動でき
ればなお便利です
「天気」アプリだけを新規に起動させる方法をご存じのかたがいらっしゃれ
ば教えていただきたく存じます
2017/07/06(木) 14:58:13.34ID:cYpWMSdX0
そのショートカットに書かれてるコマンドそのままRunしてできないの?
2017/07/06(木) 15:19:57.87ID:bDkSu5ce0
>>720
さっそくのレスどうもありがとう
ClassicShellに置いてあるショートカットは自分で作成したものではなく、
Windows 10のデフォルトのスタートメニューで選んだ「天気」アプリのアイ
コンが自動的に登録される仕組みです
ご指摘に従ってコマンドを調べようと右クリックしてプロパティを確認したところ
「Microsoft..BingWeather_8wekyb3d8bbwe!App」と書いてありました
そこで、Run, Microsoft..BingWeather_8wekyb3d8bbwe!App を実行
したところ「指定されたファイルが見つかりません」というエラーダイアログが
出てしまいます
どうすればよいのかしら?
2017/07/06(木) 15:22:51.01ID:mu6k+ziL0
レス書いてたら割と正解に近づいていたという

Run, shell:AppsFolder\Microsoft..BingWeather_8wekyb3d8bbwe!App
でできると思う
2017/07/06(木) 15:27:33.81ID:YlZ3WLUw0
run ,explorer.exe shell:AppsFolder\Microsoft.BingWeather_8wekyb3d8bbwe!App
こうじゃないの?
2017/07/06(木) 15:27:44.81ID:bDkSu5ce0
>>722
おかげさまでばっちりうまくいきました!
ちなみにコピペさせてもらったままだと「指定されたファイルが見つかりませ
ん」というエラーダイアログ」が出ましたが、「Microsoft」と「Bing」のあいだ
のピリオド2つ「..」をピリオド1つ「.」にしたら大成功でした
どうもありがとう!
2017/07/06(木) 15:29:14.17ID:bDkSu5ce0
>>723
レスありがとうございます
explorer.exe をつけてもばっちりうまくいきます
どうもありがとう
2017/07/14(金) 14:00:54.30ID:J0Dqledj0
パッカーでパックする以外にコンパイルしたexeのスクリプト丸見えなのを回避する方法って無いのかね。
2017/07/14(金) 14:19:16.98ID:2RF7a3cA0
古いバージョンなら暗号化できた気がする
2017/07/14(金) 14:39:44.68ID:J0Dqledj0
おお、ちょっと調べてみます。
2017/07/14(金) 17:40:12.37ID:Sx63cWJt0
>>726
暗号化しても意味無い
AHKのライセンスでソース付けないの禁止
2017/07/14(金) 20:23:37.13ID:J0Dqledj0
AutoHotkey_Hのコンパイラーで出来ました
2017/07/17(月) 13:04:37.83ID:3YRBsneS0
キーAを押しっぱなしにすると連射状態になりますが
他のキーを押すとAを押しっぱなしでも連射状態は止まりますよね?
このとき連射状態を復活させる手段はないでしょうか?
連射状態が復活できれば
完全に近いレジストリを書き換えないcapslockのモディファイア化が出来ます。


#capslockのモディファイア化挑戦の現状
キーの連射状態を観察してcapslockキーのリリースを一応検知できるところまでは出来ました
しかしcapslockを押している最中に他のキーを押すとループが終了して
リリースが検知できなくなってしまいます。

その一回でa::xは動作します。
押しっぱなしのモディファイアとしてはホットキー一回分しか使えないのが現状です。
2017/07/18(火) 15:52:32.59ID:HJjTR5hZ0
a.ahkというスクリプトを管理者で実行していて、その中から、Runコマンドで他のアプリを実行すると
それは管理者として起動します
これを管理者ではないユーザーとして実行することってできますか?
Win7なのですが、管理者として実行した場合とそうでないときとで、アプリの動作が違うのです
2017/07/18(火) 16:00:52.56ID:3xAgoAgw0
>>732
Run, Explorer "○○.exe"
2017/07/20(木) 13:41:15.68ID:ntVZc9sC0
AutoHotKey - Changes & New Features
1.1.26.01 - July 16, 2017

Fixed RegDelete (with no args) failing when A_LoopRegSubKey is blank, such as when enumerating keys directly under the root key.
Fixed RAlt/LAlt:: sometimes failing to prevent menu activation after the user alt-tabs away from a window and reactivates it.
Fixed SC → VK translation for multimedia keys, CtrlBreak, Pause, LWin and RWin, with the exception that multimedia keys and CtrlBreak are still translated incorrectly on Windows 2000 and XP.
Fixed VK → SC translation for multimedia keys, CtrlBreak and Pause.
Fixed 'Wait commands such as RunWait to log extra lines for ListLines only when necessary to show that it is still waiting; that is, after resuming from an interruption which logged other lines.
2017/07/22(土) 01:25:20.71ID:bUHxCpI00
>>710

          ,,,,,..ー彡彡ミミ))))ミノ、、、、
        彡彡///ミミミ)))))))ノノ)))ヽ
      //////ゞゞヾノノノノ//ノヾヽ
     ////////////゙ヾ、ノノノノ"~///ミミミミミミ
    r////////////           ミミミヾ)))))
   ノノノ/////////            ミヾ)))))))))
   ノノノノ////////              ミ)))))))))ノ
  ((//////////.,,、、,,,   )(    .,,,,,,、、 ヾノノノノノノ
  ノノノ.((((/////ノ.  ヾ゙ゝ // ./''"    ノノ((((((ノヾ
 ノノノ///////ノノ.∠ ●ヽ     /●`ヽ、 ((ヾヾヾヾ)
 ((((((((((///.   ` ー~ ` | |  `ー ´   |ヾヾミミヽ
 ((((((((((/ r.|      .,,.- l  l 、     .|^/))))))))
 ((((((((((.\_|     / ( (._) )\    |/)))))))))
 ((((ヾヾヾヾ .l   .f ,,,-===.v===-、ヽ  .iノノノノノノノ
 λヾヾヾヾヾヽ   l.`、.LlLlLlLlLl 7´.l  ./ノノノノノノノ この、ハゲーーーっ!
  ((ノノノノノノノノ.ヽ  ゝ ゝ 二二二ノ ./ ./ノノノノ
  λヾヾヾ|  ヽ\         /./ノノノノ
    \\.|   ヽ.ヽ、     ノ/   \
    / ヾヽ     \```ー.´´/      \
2017/07/22(土) 01:32:44.96ID:MMBTFc5u0
df87-YpI/ = 8287-coLX
2017/07/22(土) 04:18:04.17ID:bUHxCpI00
ちーがーうーだーろーー!
2017/07/22(土) 09:29:09.19ID:m5/75Y9F0
何日も経ってから怒り心頭でAA荒らしとか惨めなやつだな
2017/07/24(月) 10:56:36.48ID:vMsfHTY30
思い出し怒りだよ!
2017/07/25(火) 22:13:52.45ID:Say/v9tX0
マウスカーソルを動かした時に任意のコマンドを実行したい場合
MouseGetPosとSetTimerでカーソル位置の監視を繰り返すしかないですかね?
もし可能ならSetTimerを使わずにマウスの移動を検知する方法があったら
ご教示お願いします
2017/07/25(火) 22:37:31.20ID:5+ElbHaJ0
TrackWheelがDllCallでマウスフックしてRegisterCallback()でゴニョゴニョやってるな
難易度的にはSetTimerより格段に難しくなるけど効率優先でがんばりたいなら参考にしてみては

尚古いスクリプトなので AHK U64版では動かない模様
https://sites.google.com/site/agkh6mze/trackwheel
2017/07/25(火) 22:48:29.87ID:Say/v9tX0
>>741
レスありがとうございます
私の知識量ではどうやら難しそうですが、それが分かっただけでも感謝
743名無しさん@お腹いっぱい。 (ワッチョイ 7b01-FEN5)
垢版 |
2017/08/02(水) 19:51:14.90ID:swdU24Q10
F1::menu,私のメニュー,Show
sc07B & i::send,{Blind}{Up} ;無変換キーとiで↑
sc07B & k::send,{Blind}{Down} ;無変換キーとkで↓

menuコマンドでメニューを出した時その選択にカーソルキーを使いますが
その時ホットキーが使えないのは回避できませんか・・・・?
744名無しさん@お腹いっぱい。 (ワッチョイ 7b01-FEN5)
垢版 |
2017/08/02(水) 20:19:24.40ID:swdU24Q10
>>740 >>742
透明なウィンドウを最大化で描いてOnMessageでmousemoveを拾う方法なら昔試した事がある。
https://lumi4.blogspot.jp/2017/08/autohotkey-detect-mousemove.html
参考にどうぞ。




・・・・という訳で>>743もよろしくお願いします。
2017/08/02(水) 21:02:06.05ID:PcAOCJuP0
>>743
とりあえずってことなら、menuを出すスクリプトとカーソルキー機能のスクリプトを別AHKにして、
その2つを同時に常駐させるとmenuでカーソルのホットキーが使える。
2017/08/03(木) 00:13:24.75ID:ZCPN+VNJ0
>>743
単なる好奇心で聞きたいんだけど何のためにわざわざそんな面倒な操作するの?
テンキーレスやノートpcのキーボードでもカーソルキーなんて付いてると思うが…
それをわざわざ無変換+IとKって押しにくい位置だし、まだ無変換+WやSとかの方が
押しやすいだろうに
2017/08/03(木) 00:19:37.02ID:UMIF7cfz0
ホームポジションで入力できるからじゃね
それにi,kとw,sはあんま変わらん気がするが
w,sは薬指だからむしろ若干押しづらいような
2017/08/03(木) 00:19:44.36ID:4Ac+zMh30
JKLI のカーソル移動は俺も使ってる。(無変換+じゃなくて、変換+だけど)
右手のホームポジションで操作だから使いやすいよ。
2017/08/03(木) 00:23:44.07ID:2PUsdafW0
で結局この問題は、ポップアップメニュー表示中は割り込みできない仕様なの?
2017/08/03(木) 00:25:44.58ID:ZCPN+VNJ0
>>747-748
それなら無変換じゃなくて変換+JIKLの方が押しやすい
修飾キーのためにわざわざ両手使うの?
2017/08/03(木) 00:35:04.13ID:UMIF7cfz0
ホームポジションなら修飾キーは英数と逆の手で押すのが基本だし楽だよ
そうじゃなくてもそんなもん好みでいいじゃん
2017/08/03(木) 00:56:06.00ID:ZCPN+VNJ0
>>751
そんな基本は聞いたことなかった
ShiftやCtrl使うときもいつも片手だわ
まあ両手で押したい人ならそれで納得だけど
無変換+IKとか片手だとすごく押しにくいなーと思って聞いただけなので
2017/08/03(木) 00:58:47.91ID:IcGZPZ2o0
ブラインドタッチしてるかどうかの違いだろ?
>>5
のテンプレにあるくらい一般的だぞ
むしろここで何でそんなの使うの?
って質問が出た方がびっくしたわ
2017/08/03(木) 01:04:05.19ID:ZCPN+VNJ0
>>753
俺も当然ブラインドタッチしてるよ
でも修飾キーで両手は使わなかったと言うだけ
2017/08/03(木) 01:13:39.60ID:IcGZPZ2o0
ID:UMIF7cfz0は丁寧に答えて尊敬するわ
俺はイラッとしてきた・・・・
2017/08/03(木) 01:25:04.68ID:PsIL7bc30
>>755
カルシウム足りてないのでは?
2017/08/03(木) 01:29:37.86ID:I890JROW0
>>745
ありがとう
別AHK化ついでに抜本的に自分のコードを再構築することにした
現在まで拡張を重ねて1200行
複雑で重くなりメンテも機能追加も困難になってきてる
使用頻度の低い機能や高速応答性を求めない機能は外部化してその都度Runで呼び出す形にしよう

しかし、本格的なプログラミング経験もないし、改築・増築を繰り返して膨らんだコードは汚くなるなorz
リファクタリング頑張るぞー

>>749
そうみたいだね
2017/08/03(木) 03:39:57.07ID:LjQWaP7K0
1200行とか長すぎバカス
と思って自分の見たら1800行だった
2017/08/03(木) 04:34:30.77ID:7Mhtplw50
むしろ片手の指だけで全部操作は指への負担がデカい
2017/08/03(木) 04:45:33.96ID:/e2+Z1L50
変換・無変換キーは同じ修飾機能にしてるわ
修飾キーは基本的に逆の手派だけどこれって育った文化で違いそう
右手をマウスに置く時間とかCtrlキーの位置や押し方とか
2017/08/03(木) 06:28:15.59ID:4Ac+zMh30
>>745
キーボーでメニューを選ぶ時はカーソルキーで選ぶのも良いけど、
メニュー名1(&a)
メニュー名2(&s)
メニュー名3(&d)
&でショートカットキーを作って選ぶのも便利だと思うよ。
2017/08/03(木) 06:33:21.00ID:4Ac+zMh30
自分の場合、カーソルキーはShiftやCtrlとの組み合わせも良く使うから、
右手で変換+JKLI 、左手でShiftとCtrl を押してる。
これを全部同じ手でやるのは辛い。
2017/08/03(木) 07:23:40.79ID:pJZy4g/s0
うちはshiftもctrlも左小指固定だな、英数が左よりなら片手で右寄りなら両手
右手はマウスやカーソルキーへの持ち替えでホームにいない事も多いからか
修飾キーを右で押そうとは思わんかった
なので変換無変換もIMEのためだけのキーだわ
2017/08/03(木) 07:55:18.63ID:wNqV+uXd0
変換はエディタやIDEのようなキーボード主体のアプリで
アプリ固有のショートカットを割り当てるのに使ってるな
汎用操作を割り当てると混乱するしマウス操作が面倒になるので割り当てない
2017/08/03(木) 08:48:13.61ID:4Ac+zMh30
どんどん便利にカスタマイズか、自分以外のパソコンを使う時に困らないように控え目にカスタマイズか。
そういう葛藤がある人は多いんじゃないかな。
2017/08/03(木) 13:45:11.85ID:7Mhtplw50
前に変換+hjklでカーソルキー移動、かなカナ+hjklでマウスカーソル移動
としようとしたら流石に右手の使いすぎだと思ってやめた
2017/08/03(木) 15:45:25.10ID:b4JZoSmy0
カーソルはもう脳波で操れるようになればいい
2017/08/03(木) 16:48:00.65ID:TN4r2vLL0
変数 a = 123
とあって、その頭に半角スペースを1つつけたいのです

b = " "%a%
b := " "%a%
b := " " . %a%
b = %A_Space%%a%
b := %A_Space%%a%
b = {A_Space}%a%
b = {Space}%a%

どれもダメです
2017/08/03(木) 16:55:33.88ID:MD3pGL1j0
>>768
>>273
2017/08/03(木) 17:01:59.61ID:r88ylQgX0
a:=123
b:="` " + a
c:="` " + a + "` "
msgbox,a:[%a%],b:[%b%],c:[%c%]

cの結果に納得がいかない
2017/08/03(木) 17:02:45.66ID:TN4r2vLL0
>>769
ヒントありがとうございました。 式は知ってたのですが

b := " " . %a%

とやってダメだったので悩んでたのですが

b := " " . a

でできました。ほんと悩ましいwww
%a%を使っては出来ないのかな
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面