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/03/20(月) 17:47:22.41ID:bwg2wt630
あ、違った。こう。

~RShift::
KeyWait,RShift
if(A_TimeSinceThisHotkey<130){
send,#{Tab}
}
return
2017/03/20(月) 17:55:55.68ID:wjZDytjZ0
>>212
>>207のやり方でも良いんだよ

~RShift::
KeyWait,RShift,T0.13
if(ErrorLevel){
keywait, RShift ;←これが必要
return
}
MsgBox,短く押されたよ
return
2017/03/20(月) 19:30:13.57ID:bwg2wt630
>>214
なるほど。
ちょっとカウント入れて実験してみたけど、Shiftキーもキーリピートがかかるみたいだね。
216名無しさん@お腹いっぱい。 (ワッチョイ 6504-2gzW)
垢版 |
2017/03/21(火) 14:31:44.92ID:iEQL6gRD0
教えてくださった皆様ありがとうございました‼
217名無しさん@お腹いっぱい。 (ワッチョイ ebf7-3M3l)
垢版 |
2017/03/27(月) 22:37:20.07ID:G8pXe9Nd0
キーボード上に円記号とbackslashのキーがあるんですが円記号はBackslashとして識別されるので
2つの同一キーがある事になるんですが片方だけを別のキーにremapしたいんですが上手く行けません
助けて下さい
2017/03/28(火) 00:34:01.36ID:352uP9pg0
>>217
sc07d::a
sc073::b

うちではこれで「\→A」「バックスラッシュ→B」に出来てる
2017/03/28(火) 00:48:56.75ID:R1cCrp1o0
\のスキャンコードはSC07DでバックスラッシュはSC073だった
220名無しさん@お腹いっぱい。 (ワッチョイ ebf7-3M3l)
垢版 |
2017/03/28(火) 11:56:38.65ID:H5Vxi1en0
>>218
>>219
正常に作動しました ありがとうございます
2017/03/28(火) 19:53:18.78ID:qY4734Eq0
リマップ単体にsleepを挟む事ってできたっけ?
2017/03/30(木) 14:10:31.25ID:geXqI1Q2p
チルトホイールにキーを割り当てても、動作が反映されないのですがどうすれば良いでしょうか?
テストで以下の様にアサインしました

WheelUp::a
WheelDown::b

WheelLeft::c
WheelRight::d

+WheelLeft::e
+WheelRight::f

ホイールの上・下(a・b)は問題なく入力できますが、チルトの右・左もa・bが入力されてしまいます(押し続けると連打状態になります)。
問題の切り分ける為に、入力コマンドを変えSift + チルトで別文字の入力も試しましたが、
大文字のA・Bが入力されてしまいます。
2017/03/30(木) 15:29:04.21ID:zMByxgkz0
WheelLeft::C
WheelRight::d

Shift & WheelLeft::e
Shift & WheelRight::f

Windows7
ロジのマウスで普通に問題無い
2017/03/30(木) 16:10:41.20ID:vx9xRmlh0
LGSのホイール左右は普通のWindowsAPIとは違って特殊だったはず
2017/03/30(木) 16:57:19.53ID:UOhzBMkG0
まず環境書くところからだな
まさかとは思うがXPだったりしないよな?
2017/03/30(木) 18:18:51.62ID:karOX2/F0
>>222
key history で入力されているボタンを確認
2017/03/30(木) 19:33:08.70ID:zMByxgkz0
>>224
ドライバ入れてなきゃ普通にWindowsAPI
2017/03/30(木) 19:41:53.45ID:vx9xRmlh0
>>227
そりゃOSの汎用ドライバだとOSのAPIに従うしかないので当たり前
2017/03/31(金) 09:13:24.91ID:/tjD63Ljp
>>223-228
環境が抜けてました。申し訳ございません。
OSはWindows 7、マウスはrazer mamba teという有線マウスです。
ドライバーもユーティリティも入れなかったのですが、razerなのでロジに変えないと無理かもしれませんね。
2017/03/31(金) 12:49:52.07ID:pCDRt8//0
>>229
Razerならドライバの有無問わずどちらでも使えるよ
2017/03/31(金) 18:51:07.63ID:ZqPImTZm0
>>229
右下アイコン > open > key history からキーのログを見て
何が押されているのか確認しろと・・・
2017/03/31(金) 18:53:37.73ID:z5qdkgS00
認識されてないからログに残ってないんじゃないの?
2017/03/31(金) 19:03:57.61ID:cGFvp01G0
認識されないならされてないってわかるからいいじゃん
想像で物言ってもしょうがないし
2017/03/31(金) 19:06:26.28ID:ZqPImTZm0
何も書いて無いから判断できない

キーログなし → 特殊キーはドライバ入れ無ければ動作しない(チルトは問題ない)
キーログあり(キーが正しい) → スクリプトを修正
キーログあり(キーが違う) → ドライバソフトで修正またはスクリプトを修正
2017/04/01(土) 10:49:34.34ID:2+mdruUsMUSO
sleep中にsleepが今どれだけ経過したか確認するスクリプトってある?
2017/04/01(土) 11:06:18.40ID:U/0D9SW80USO
>>235
SetTimer内で経過時間をToolTipに表示かな
2017/04/01(土) 12:06:29.37ID:2+mdruUsM
>>236
サンクス試してみる
2017/04/01(土) 20:45:54.42ID:5yrylj0A0
コンパイルした状態からのスクリプト抽出について質問です。
リソースを覗く以外でスクリプトを抽出する方法は、予めFileappend等で出力するようにするしかないですか?。
2017/04/01(土) 21:08:59.47ID:A9hGnOQj0
>>238
用途がさっぱり分からないが
AHKのライセンスならソースもセットなので
.ahkを読めばいいだけでは?
2017/04/01(土) 22:05:00.73ID:5yrylj0A0
はい、出直してきます
2017/04/01(土) 22:06:31.19ID:+iTtNJOZ0
今はもう exe2ahk.exeじゃ逆コンパイルできないんだっけ?

>予めFileappend等で出力
出力方法はそれでいいとして実行中のスクリプトから自身のコード抽出する方法なんてあったっけ?
.ahkの状態ならA_ScriptFullPathで自身をFileReadすればいいけど
(元ソースがあるから別途出力する意味もなくなるが)

とりあえずここのAHK_decompilerで "リソースを覗く"ことはできる模様
http://autohotkey.com/boards/viewtopic.php?t=4230
2017/04/02(日) 03:45:19.83ID:BQQWG+X/0
インストーラーを使わずに、ポータブル版としてAHKを起動すると、Winキーの押しっぱなしや、キーリマップのすり抜けがときおり発生するのは仕様?

これを解決するにはどうしたらよい?reloadすればキーのすり抜けは改善するので、Settimerで30分ごとにreloadするようにしてみたけど、あまり状況は改善せず…

会社のPCで管理者権限がないので、通常インストールができない。
2017/04/02(日) 10:12:25.96ID:N3mTYsUR0
押しっぱなしはインストーラーでも発生するし
リマップのすり抜け?とやらも会社のPCでの環境依存の可能性はないのだろうか

AHKのインストーラーって関連付けとかをレジストリにちょこっと追加して
スタートアップにAutohotkey.ahkのショートカット放り込むくらいだと思う
裏で動かしてるサービスとかないし正直ポータブル関係ない気がするのだが
2017/04/02(日) 11:22:53.95ID:+ywuWRzP0
>>242
一番押しっぱなしを起こしていると思われるホットキー定義はどんなの?
245名無しさん@お腹いっぱい。 (ワッチョイ 8b2b-pX+7)
垢版 |
2017/04/03(月) 13:27:16.47ID:+bCJnYiC0
Ctrl+Pauseをホットキーにすると
Ctrl+ScrollLockも拾ってしまうのは仕様ですか?

^vk03sc146(=Pause)としてもやはり^vk03sc046(=ScrollLock)も拾ってしまいます。

もしかしてLock系キーの根本的な問題なので解決するにはレジストリのキーマップ変更して
PauseとScrollLockをF13とF14にしてAHKでF13とF14を拾うしかないですか???


AHK v1.1.24.01 64bit / Windows10 / 108フルキーボード
2017/04/03(月) 15:38:43.34ID:MhtF9UE80
>>245
Ctrl + Pause = Control-break = vk03
Ctrl + Scroll Lock = Control-break = vk03

同じなのでスキャンコードだけで指定
だめなのは前方一致だから?

^sc146::ToolTip Pause
^sc046::ToolTip ScrollLock
2017/04/03(月) 21:03:45.82ID:rAM/8+krM
>>244

亀レスすまぬ。

Lwin::Lctrl
Lctrl::Lalt
Lalt::Lctrl

↑見ればわかるように、Mac風に親指でコマンドキーを操作することを狙っている。

で、ときおりwinキー押しっぱなしが発動する。
発動したときは右winキーを一度押すと改善する。
2017/04/04(火) 07:11:00.27ID:XmkYRFFY00404
>>247
正直、スクリプト不要のキー入れ替えなら、
AutoHotkeyよりもChgkeyとかのレジストリ変更タイプをおすすめします。
自分のパソコン以外を一時的に使う目的なら仕方ないけど。
2017/04/04(火) 09:03:37.88ID:Yyp/MwUrM0404
>>248
会社のPCで管理者権限がないからレジストリをいじれないんだ。なのでahkで無理矢理入れ替えてる状況。タスクマネージャーでautohotkey.exeの優先度を上げてみるものの、効果なし。やはり諦めるしか無いのかなー。


もう一つの問題のキーのすり抜けはリロードすれば治るので、Settimerで一時間おきにリロードさせてるんだけど、これも複数インスタンスが立ち上がったりするので(#Singleinstanceforceが効かない)もうちょい良い方法が無いものかと悩み中。
2017/04/04(火) 10:11:43.81ID:dxm0PQt400404
>>249
Setkeydelay,100,100
にしてみたり、Sendmode を変更してみては?
2017/04/04(火) 10:12:44.11ID:dxm0PQt400404
リマップだからSetkeydelayは関係ないか
2017/04/04(火) 10:19:13.11ID:XmkYRFFY00404
日本語キーボードなら、無変換キーのコンビネーションにCtrl+のコマンドを割り当てたらマシかも。
まぁ、無変換キーの押しっぱなし現象もたまに起こるけど。
2017/04/04(火) 10:35:50.66ID:iiEIpgKN00404
つうか会社の無許可PCでAHKとかやめーや
有害ソフト認定とかされたらウゼえだろが
254名無しさん@お腹いっぱい。 (ワッチョイ 8b2b-aCII)
垢版 |
2017/04/05(水) 10:45:50.98ID:Wbe3X0BL0
>>246
遅くなってすみません。
おっしゃる通りスキャンコードのみなら上手くいきますね!
ありがとうございました!!
2017/04/06(木) 21:23:10.67ID:i4aIvFWn0
Win7です
1280x1024サイズのモニタで、ウインドウをMaximizeして、WinGetPosをすると
x,y,w,h に
−8、 −8、 1296、1000
が入ります
hに関しては下にタスクバーがあるのでちょっとはずして考えたとして
ウインドウのサイズが8ピクセルずつ、大きくなっているようなのですがなぜでしょうか
x, yは当然ゼロだと思ってたら、−8が入っているのでちょっとびっくりしているのですが
ちなみにどんなウインドウでもそうなります。 フォルダー等のウインドウでも
2017/04/06(木) 21:25:34.49ID:i4aIvFWn0
これはどんなメーカーのパソコン、モニターでも1280x1024だとそうなるのか、そういう仕様なのですか?
2017/04/06(木) 21:54:52.32ID:6gXEFhJQ0
ウインドウの枠が画面外にはみ出してるだけ
2017/04/06(木) 21:56:04.69ID:i4aIvFWn0
それはわかるのですが、ウインドウのタイトルをダブルクリックして最大化するとそうなるのですよ
これは、Windows7の仕様なのかな
2017/04/06(木) 21:58:32.36ID:loXQ9rgo0
XPでもそうだし、以前からあるWindowsの仕様
2017/04/06(木) 21:59:33.83ID:i4aIvFWn0
そうなのですか。ありがとうございました
2017/04/06(木) 22:01:01.99ID:3NxYCrJE0
ちなみに枠のサイズは設定やOS毎に違うので
SysGetかAPI叩いて調べる必要がある
2017/04/07(金) 11:21:43.56ID:nc7iNlKi0
winactiveで指定のアプリケーションをアクティブにしたいのですが…
googlekeepの場合ってどう指定するものなのですが?
titleはgooglekeepでクラスとexeはcrome

Process,Exist,Google Keep
If ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
run,(keepのショートカットから探し出したアドレス)

これだと多分Process,Existが機能して無くてkeep立ち上がってない事になるぽいんですよね。
こういうものの場合どうやって指定するんでしょうか>
2017/04/07(金) 12:05:53.63ID:WvQE3FDu0
>>262
機能してないのは Process,Exist じゃなくてIfの方じゃね
If なんてサンプルもたくさんあるんだからちゃんと使い方を調べろ
2017/04/07(金) 12:07:28.53ID:6Vk1ml1J0
>Process,Exist,Google Keep

Process,Exist,chrome.exe
2017/04/07(金) 12:23:47.94ID:ETrdxisu0
googlekeep入れてないから試してないけど
WinGet, PID, PID, Google Keep ahk_class crome
とかじゃだめ?

PID取得がいらないならWinExist()のほうがすっきりするかも
2017/04/07(金) 12:32:43.07ID:6Vk1ml1J0
Process,Exist, chrome.exe
If ErrorLevel<>0
WinActivate, Google Keep
else
run, [ショートカット]

これで普通に機能した
2017/04/07(金) 13:31:01.25ID:ETrdxisu0
ああ262にあるのコピペしたらchromeのつづり間違ってたわ

>>266
それだと起動中chromeの中にKeepいなかったら詰まね?
2017/04/07(金) 13:54:43.86ID:6Vk1ml1J0
そうか
じゃあ起動してなければelseでrunすればいいと思う
2017/04/07(金) 14:17:02.23ID:U10Py5ktM
複雑に考えすぎ

Ifwinexist,google keep
winactive,google keep
else
run, google keep
2017/04/08(土) 06:19:53.50ID:lPOi3z/r0
>>268

あ・・・こんなにシンプルでいいんですね・・
試してみますー
2017/04/10(月) 04:54:18.79ID:65Jr/DKV0
お尋ねします。
ok 2が動作しないのは何故でしょうか?。
出来れば複数のファイルを指定したいので、2の方法で動作させたいです。
宜しくお願いします。

;HAGE.ahk

IfExist, %A_WorkingDir%\HAGE.ahk
msgbox, ok 1

If FileExist("%A_WorkingDir%\HAGE.ahk")
msgbox, ok 2
2017/04/10(月) 05:39:51.17ID:n286rxrH0
特定のウィンドウにひたすら右クリックを押下し続けるという単純なscriptについて質問させて下さい
AHK Version 1.1.24.04 / 32bit

以下コード
+F12::
DetectHiddenWindows,On
ControlClick,,ahk_class ANY WINDOW,,R,1,D NA
Return

windowは一意のものとして指定すれば確かに押しっぱなしになり動作はします
しかしウィンドウ内から起動した場合、非アクティブになると止まってしまいます
非アクティブから起動すると動作していて、アクティブにしてから非アクティブにするとやはり止まってしまいます

この状態を回避して、ウィンドウのアクティブ状態に関わらずひたすら動作させ続けることは可能ですか?
2017/04/10(月) 07:17:13.48ID:2r5ZTOwf0
>>271
関数など()の中は式
式で文字列として扱う場合は”で囲う

式では変数が展開される
変数を展開する場合は%で囲う
式で%で囲うと二重展開になる(中身の中身)

× ("%A_WorkingDir%\HAGE.ahk") → %A_WorkingDir%\HAGE.ahk
○ (A_WorkingDir "\HAGE.ahk") → 変数の中身\HAGE.ahk

>>272
> しかしウィンドウ内から起動した場合、非アクティブになると止まってしまいます
> 非アクティブから起動すると動作していて、アクティブにしてから非アクティブにするとやはり止まってしまいます

対象がなんだか分からないが非アクティブでは操作できないと言いたいのかな?
非アクティブでは操作を受け付けないアプリがあるので
キーが送れるほかのコマンドでも駄目なら諦めてください

ControlSend, ahk_parentの有無
PostMessage
2017/04/10(月) 11:07:01.39ID:n286rxrH0
>>273
そうではなくてアクティブ→非アクティブとフォーカスを移動した際に停止してしまうということです
アクティブで動作→OK
非アクティブで動作→OK
非アクティブからアクティブでの動作→OK
アクティブから非アクティブでの動作→NG
ということです
OKの状態は"右クリックが押下され続けている"です

対象は別になんでも良いです例えばahk_exe chrome.exeとでもして下さい
2017/04/10(月) 11:28:14.17ID:RegwrnVO0
判定がデリケートなのか知らないけどウィンドウ切り替えやアプリによってはうまく機能しない事はあるよ
ウィンドウ切替時にディレイを挟んでControlを再習得してフォーカス合わせればいいんじゃないかな
2017/04/10(月) 12:27:03.22ID:65Jr/DKV0
>>273
有難うございます!出来ました。
If FileExist(A_WorkingDir "\HAGE.ahk")
msgbox, ok 2
2017/04/10(月) 12:28:56.32ID:ZYn2qmjn0
>272みる限りじゃコントロールもPOSも指定してないし
アクティブ切替えに伴いControlFocusも切り替わってるんじゃないの?
それかNA外したらどうなる?

きちんとコントロールかPOS指定
できれば対象Controlのハンドル取得して ahk_id %controlHWND% すると成功率は上がるかも
http://ahkwiki.net/Window#Control.E7.B3.BB.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89.E3.81.A7.E3.81.AE.E3.82.A6.E3.82.A3.E3.83.B3.E3.83.89.E3.82.A6.E3.83.8F.E3.83.B3.E3.83.89.E3.83.AB.E3.81.AE.E7.9B.B4.E6.8E.A5.E6.8C.87.E5.AE.9A
2017/04/13(木) 03:32:18.71ID:Q5j/vPyKa
IfinString,var,4

これを”4を含む”、ではなく”4に完全一致”にしたいのですがやり方がわかりません。
どうしたら完全一致にできますか?
2017/04/13(木) 04:10:15.79ID:18RHOudN0
>>278
これではダメなのかい?

var := "4"

If (var = "4") {
msgbox, 変数の中身は 4
} else {
msgbox, 4 じゃない
}
280名無しさん@お腹いっぱい。 (アウアウエーT Sae3-qdxO)
垢版 |
2017/04/13(木) 05:00:34.98ID:Q5j/vPyKa
>>279
おお、それでいけますた。
ありがとうございます!
2017/04/13(木) 06:18:30.87ID:o5nrbqsD0
>>280
もう解決してるし、希望の動作をすればどんな書き方でもいいんだけど
↓一応こんなコマンドもある。列挙できるので完全一致の候補が複数あるときはこれを使うといい
http://ahkwiki.net/Ifin

完全一致
If var in 4
部分一致
If var contains 4
282名無しさん@お腹いっぱい。 (アウアウエーT Sae3-qdxO)
垢版 |
2017/04/13(木) 07:17:28.04ID:Q5j/vPyKa
>>281
列挙で使えるのはいいですね。
勉強になります。
2017/04/13(木) 10:31:28.83ID:o6na/omi0
v1.1.25.00でhotkeyコマンドが実行中でも変更したり無効にできるようになってたのか
2017/04/15(土) 08:19:36.47ID:QH+TqQ4Q0
object:=object()
object["hoge","髭"]:="hige"
object["hoge","禿"]:="hage"
object.Remove(["hoge","禿"])

こういう配列のキーを削除したいのですが失敗してしまいます
どういう書き方をすればいいんでしょうか?
2017/04/15(土) 09:22:22.47ID:H9uISqAv0
>>284
禿げしく分かりにくい例えだなw

; --- 単純配列 ---
arr := ["a", "b"]
arr.RemoveAt(1)
MsgBox % arr.1 arr.2 ; b

; --- 連想配列 ---
arr := {a: "a", b: "b"}
arr.Remove("a")
MsgBox % arr.a arr.b ; b
return
2017/04/15(土) 09:52:46.72ID:H9uISqAv0
arr := {"A1": {"B2": "hige"
        , "C2": "hage"}} ; 試すなら全角スペース消してね
arr["A1"].Remove("C2")
MsgBox % arr["A1"]["C2"]
2017/04/15(土) 10:09:40.47ID:QH+TqQ4Q0
わかりにくくてすいません!
arr["A1"].Remove("C2")
object["hoge"].Remove("禿")
でできました! ありがとうございました!
2017/04/17(月) 00:06:22.68ID:7SRx3NSj0
ずーっと何時間もループ作業させてると、そんなに負荷の掛かる処理でもないのに処理落ちしてることがあるな
2017/04/17(月) 13:54:24.03ID:m7tnAiWt0
AHKにF5を押した時の様なコマンドはありますか?
今は該当ウィンドウにF5をControlSendしてリフレッシュしていますが、F5と同等のWinコマンドがあれば使ってみたいです。
2017/04/17(月) 17:10:53.64ID:w3gDyj0g0
>>289
うーんエスパーするとブラウザなどにF5をControlSendで更新してるって意味かな?
「F5と同等のWinコマンド」と言っても更新は各ソフトごとで割り当てられてるものだからWinコマンドなんて無い

全然違うこと言ってるならこれ以上はエスパースレにでも行くかもう少し人に伝わる書き方してくれ
2017/04/17(月) 18:29:56.84ID:m7tnAiWt0
>>290
ああ、確かにF5が更新に割り当てられているとは限らないですね。
これは馬鹿な質問でした。
2017/04/18(火) 00:10:08.60ID:Z1GczGkp0
お尋ねさせてください。
ahkファイルに以下のように記述してスペースキー+アルファベットにカーソルキーを割り当てているのですが、専用うpろだのClipboardHistory.ahkの履歴メニュー上ではなぜかカーソル移動できません。

SetTitleMatchMode, 2
#include %A_ScriptDir%\IME.ahk
Space & i::send {Blind}{Up}
Space & k::send {Blind}{Down}
Space & j::send {Blind}{Left}
Space & l::send {Blind}{Right}


キーボードのカーソルキーを直接入力するとカーソル移動できるのですが、なぜAutoHotkeyからだとうまくいかないのかが分かりかねます。
どなたかお分かりになる方がおられましたら教えていただけないでしょうか。

以下は環境です。
OS: Windows7 HomePremium 64-bit
AutoHotkey: Ver.1.1.25.01 (Unicode 64-bit)
ClipboardHistory.ahk: Ver.1.3.2
2017/04/18(火) 00:27:07.75ID:tLB4uyFd0
>>292
自分もやり方があるなら知りたいです
Sendplayだと動くけど他で不具合出るから
できればsendで動く方法が知りたいです
2017/04/18(火) 00:31:45.29ID:DnrWvvF80
>>292
最低限のコードと必要なリックぐらい貼ったら?
2017/04/18(火) 00:32:03.78ID:DnrWvvF80
リンク
2017/04/18(火) 00:33:18.23ID:Z1GczGkp0
今メモ帳を開いていて気付いたのですが、スペースキー+アルファベットによるカーソル移動ですとClipboardHistory.ahkの履歴メニューにフォーカスが行かないようです。
ClipboardHistory.ahkの履歴メニューが表示されたまま、その背後の文面上をカーソルが上下左右に移動しています。
また、この状態でキーボードのカーソルキーを押すと、文面上のカーソルとは別にClipboardHistory.ahkの履歴メニュー上を上下にカーソル移動するようになります。

スペースキー+アルファベットによるカーソル移動がうまくいかないのはフォーカスの問題のようです。
どうすればClipboardHistory.ahkの履歴メニューにフォーカスを送ることが可能になるのでしょうか?
2017/04/18(火) 00:35:43.06ID:Z1GczGkp0
>>294
失礼しました。
ClipboardHistory.ahkのうpろだのリンクです。
ttp://ux.getuploader.com/autohotkeyl/download/121/ClipboardHistory.ahk 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2017/04/18(火) 00:47:11.07ID:DnrWvvF80
そもそも履歴メニューというものがどれのことを言っているのかわからない
タスクトレイの右クリックメニューのことを言っているのか
ClipboardHistoryウィンドウなのか
そのウィンドウ右クリックメニューなのやら
2017/04/18(火) 01:41:15.44ID:peglwBmD0
>>297
ちょっと見てみたけど、ClipboardHistory.ahk のホットキーを定義してる部分が AHK からの Send に反応してないみたい
なので

#InputLevel 1
Space & i::send {Blind}{Up}
Space & k::send {Blind}{Down}
Space & j::send {Blind}{Left}
Space & l::send {Blind}{Right}
#InputLevel 0

とすればいけたよ
2017/04/19(水) 00:07:22.37ID:K9MJisAG0
>>298
分かりにくくて申し訳ございません。
Ctrlキーのダブルプッシュで表示されるメニューのつもりでした。

>>299
教えていただいた方法でAHKからカーソル移動できるようになりました。
#InputLevelという機能については全く存じ上げておりませんでしたのでとても勉強になりました。
どうもありがとうございました。
301名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
垢版 |
2017/04/19(水) 03:13:48.12ID:NqPXmlz00
なぜBlockInputが聞かないのか原因がわかりません。

blockinput,on
sleep,3000
blockinput,off

たった3行のスクリプトですが何が原因でしょうか?
302名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
垢版 |
2017/04/19(水) 03:28:23.38ID:NqPXmlz00
もしやと思い管理者権限で走らせたら動作しました。
http://ahkwiki.net/BlockInput
このページには書いてないけどAHK使いには常識なんでしょうか?
ちなみに環境はWin10です。
2017/04/19(水) 12:27:49.33ID:eKndVJ3d0
AHKに限らず、管理者権限を要求しないけど管理者権限起動しないと不具合のあるアプリは結構あるようですよ。
304名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
垢版 |
2017/04/19(水) 16:32:59.64ID:NqPXmlz00
>>303
あまり深く考えず付き合うことにします。動いたからよしと。
2017/04/19(水) 18:32:35.56ID:FSuwMycm0
公式のドキュメントにはちゃんと記載があるよ。日本語のドキュメントは全然メンテされてないから、
出来れば公式の方を見た方がいい
306名無しさん@お腹いっぱい。 (ワッチョイ 0b01-93S+)
垢版 |
2017/04/19(水) 22:51:48.59ID:NqPXmlz00
英語で探せば解決すること多いですよね。情報量が断然。
今回は安易にここで聞いてしまいました。今後がんばります
2017/04/20(木) 09:19:43.12ID:HeaoQ4hM0
英語読めないので
ほぼROMですが
ここでの情報は助かりますし、ヒントになります
ありがとうございます
2017/04/21(金) 09:19:01.64ID:YRNVrPJF0
新規環境にインストールしたときはとりあえず>>8の対策パッチを入れてるな
2017/04/21(金) 10:31:38.58ID:DiD/cJtZ0
UI Accessはインストーラのオプションから任意で追加するようになったからテンプレの>>8は修正しないといかんね
2017/04/21(金) 19:48:32.93ID:bzf8ojMU0
そう言えばRS1までのWindows10だと、レジストリからUACを無効にするとストア系のアプリが起動出来なかったけど、RS2からは起動出来るように修正されたね。
311名無しさん@お腹いっぱい。 (ワッチョイ 4377-mkSu)
垢版 |
2017/04/23(日) 12:18:00.71ID:hj5/SbKN0
Firefoxのブックマークウィンドウに表示されている項目を編集したいのですが、
Sendでキーを送っても期待通りに受け取って処理してくれずに、
未編集の項目が残ってしまうことがしばしばあります。

具体的には、「名前(N)」のテキストボックスにフォーカスがある状態で
  Send +{Tab} ; テキストボックスのすぐ上のグリッドにフォーカス
  Send {Down} ; 次の項目へ
  Send !l^a^c ; 「URL(L)」のテキストボックスにフォーカスして内容をコピー
といったコードを書いてループで回しているのですが、特にメモリ負荷・CPU負荷が高いと、
Sendした通りの順序で動いてくれないことがよくあります。
たとえば、{Down} を2つ続けて受け取ってしまって1行飛ばしたり、
^a^c でテキストボックスではなくその上のグリッドを全選択・コピーしたり
(で、その状態で ^v を受け取って、グリッドの中身が丸々二重になったり)、
+{Tab} を2つ続けて受け取ってウィンドウ左側のツリー部分にフォーカスが行ったりします。

現在は勘に頼ってSleepを随所に入れているのですが、こういう操作をわざわざ
AHKで書いてループで回すのには当然理由がある(=対象の項目数が多い)わけで、
あまりに時間がかかるのも困りものです。

で、キー操作ではなく、ウィンドウ上のコントロールに対して直接メッセージを送りたいと思って
Window Spyで調べてみても、Windows以外のOSの版と共通のソースで書かれているせいか、
マウスカーソルをウインドウ上のどこに置いても、「Control Under Mouse Position:」の枠に
それらしきものが何も出てくれません。

…何かいいアイデアはないでしょうか?
訳あって、ブックマークをjsonファイルに書き出して外部のツールで編集する方法は使えません。
2017/04/25(火) 20:48:21.48ID:xtXfnML00
日本語OSで
capslockキーのリリースの検知(またはUp状態であることの確認)ってやる方法ない?
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況