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

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ f977-fKjf)
垢版 |
2017/09/14(木) 11:52:40.84ID:uijNj4qb0

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

■前スレ
AutoHotkey スレッド part24
http://egg.2ch.net/test/read.cgi/software/1487149472/

■日本語解説等
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/12/04(月) 00:42:07.14ID:W2przMgQ0
お二人が答えてくれてました。
ありがとうございます!
2017/12/04(月) 03:27:44.42ID:K4EOO4xA0
>>511
ComObjCreate("QTTabBarLib.Scripting") を使って、使う度に毎回インスタンスを取得してますか?
グローバル変数に一度取得したあと、使いまわしてたりしませんか
2017/12/04(月) 09:05:37.77ID:x7eWud6V0
>>511です。
>>522
グローバル変数に代入してません。毎回取得してます。
後、mscorlib.dll ver 5.1.30514.0をダウンロードしSystem32フォルダへ投入した
ところ、エラー内容が変わりました。下記のようになります。
---------------------------
Error in #include file "C:\Apps\MouseGestureL\Config\MG_User.ahk":
0x8013150B -
Source: mscorlib
Description: IPC ポートに接続できません。指定されたファイルが見つかりません。
HelpFile: (null)
HelpContext: 0
Specifically: SelectedItems
Line#
769: }
770: dirPath := MGU_GetDirFullPath(dirPath)
771: qs := ComObjCreate("QTTabBarLib.Scripting")
772: wnd := qs.ActiveWindow
773: qs.Open(dirPath)
774: if (file = TRUE)
774: {
---> 775: wnd.SelectedItems := fileOrDirPath
776: }
777: ObjRelease(qs)
778: }
780: {
781: Try
781: {
787: if (appName = null)
Continue running the script?
524名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/04(月) 09:05:55.01ID:x7eWud6V0
AHK起動から5分くらいたってから出るエラーって言うところが気になるんですけど
どうでしょうか?
私の書いたソースを載せておきます。
MGU_OpenWithQTTabBar(fileOrDirPath, file){
if(file = TRUE){
fileName := MGU_GetFileNameFromPath(fileOrDirPath)
dirPath := MGU_GetDirPathFromPath(fileOrDirPath)
}else{
dirPath := fileOrDirPath
}
dirPath := MGU_GetDirFullPath(dirPath)
qs := ComObjCreate("QTTabBarLib.Scripting")
wnd := qs.ActiveWindow
qs.Open(dirPath)
if(file = TRUE){
wnd.SelectedItems := fileOrDirPath
}
ObjRelease(qs)
}
あと、qs.Open(dirPath)まではエラーなく進むんですけど、
wnd.SelectedItems := fileOrDirPath
でエラーが出るんですよね〜。
理由がいまいち分かりません。
2017/12/04(月) 09:57:59.55ID:ytS1hYKF0
Chromeで何十ページも開いて、特定の文字(リンクになってる)をクリックする作業をしてるんですが、自動化したいです
特定の文字をクリックする方法があれば教えてください。
文字の場所はばらばらなので、場所指定のクリックは出来ません。
526名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/04(月) 16:44:32.30ID:x7eWud6V0
>>524です。
結局、その箇所だけjsで対応することにしました。
原因は今も分からずです。
お騒がせしてすいませんでした。
2017/12/05(火) 15:13:33.43ID:8CvOUnVS0
>>525
1、最初に開くページをURLDownloadToFileでローカルにファイルとして落としていく
2、落としたファイルの中をLoop(file)、Loop,Readでループさせ、RegExMatch()で検索する
3、目的の文字列があったらRunでそのURLを開く
2017/12/06(水) 01:55:08.84ID:HOg34AwG0
>>527
自分には難しかったので、URLコピペして文字追加して貼り付ける方法で代用できました。
ありがとうございました。
2017/12/06(水) 10:06:45.47ID:WwbqM6o60
お知恵拝借したく…
getkeystateによってあるキーの押し下げ有無はとれますが そうでなく、「いま押し下げられてるキーを一覧で得る」ような方法はありますか?

ホットキーなど使用していると、自分の環境だとわりと発行されたキーがそのまま残ったりします
今まではプログラム的にキー残りがないよう試行錯誤してましたが、単純に「物理的に、残ったそのキーをもう一回押す」と直ることに気づきました
ちょうど、今押してるキーやマウスを画面表示させられるkbvというフリーソフトを見つけたので、それで一応対応はできなくはないのですが若干起動が重くて…なのでahk内でどうにか調べられたら良いなと思ったのです
2017/12/06(水) 12:06:47.69ID:DTW3oegna
>>529
Pはずせ
2017/12/07(木) 13:15:23.97ID:JhBoA+GN0
Win7です
GUIでウインドウをたくさん作ると、左下のタスクバーのAHKのところにカーソルを持っていくと
作っただけのウインドウ数のタイトルがポップアップで出てきてしまいます
邪魔なので、これを出さないようにする方法ってありますか
スクリプトは1つなので、1つのスクリプトに1つのポップアップのタイトルで十分だとおもうのですが
2017/12/07(木) 15:12:11.79ID:Q21iGqYS0
http://ahkwiki.net/Gui,Option
2017/12/07(木) 15:39:20.80ID:JhBoA+GN0
Ownerですか。やってみます
2017/12/07(木) 15:47:48.48ID:IxXRrrQG0
>>529
実験してみたよ。
AHKのSetTimerでAltキーを監視してON/OFF表示させていて、
ついさっきたまたまAltを離しているのにAlt押しっぱなし状態になった。
しかし、AHKのGetKeyStateではOFF判定だった。
2017/12/07(木) 16:03:30.20ID:IxXRrrQG0
また同じ症状になった。
今度はON判定。
とりあえず、あてにならんわ。
2017/12/08(金) 00:47:16.58ID:2hAmoAId0
529です、いろいろありがとうです
キー押し下げ判定自体も精度アヤシイようだと、ちょっとアレですね
過度にahkでゴチャゴチャやらない方向で運用を見直すようにしてみます
2017/12/08(金) 00:58:05.77ID:zpL6DWI5a
すり抜け自体体感してないからすり抜けるすり抜けるってのが何なのかすらわからん
フックは?ディレイは?ちゃんとDown Up使ってる?Sleepも無茶な数値入れてない?

よくわからんな
2017/12/08(金) 08:15:37.96ID:Uq10ElWI0
Photoshopでマウスホイールのみで拡大縮小しようとして

Alt Down
Scroll Up
Alt Up

でやると、早くグリグリ回すと拡大しないときが数回に一回発生する。
Sleep入れてもダメ。

これがすり抜け?
2017/12/08(金) 08:40:53.67ID:D3cQmZala
それそもそもの書き方がまずいんでは

Alt押し込んでホイール離すを何度も何度も繰り返してるから操作のエミュレートになってない

Alt押し下げた状態でホイール操作を待つっていうスクリプト書かないと
2017/12/08(金) 09:56:51.07ID:lDhAMoXF0
>>539
キーやボタンと違ってホイールには押す/離すなんて判定は無いけど
ホイール操作の何を待つんだ?
2017/12/08(金) 10:04:31.07ID:D3cQmZala
wheel操作をalt downとalt upで挟めってこと
loopで出来る
2017/12/08(金) 10:09:13.41ID:lDhAMoXF0
>Alt押し込んでホイール離すを何度も何度も繰り返してる

この文章からして意味不明だし
2017/12/08(金) 10:37:25.55ID:D3cQmZala
まじか、わかってないのか
2017/12/08(金) 10:40:23.55ID:D3cQmZala
とりあえず続けてもわかってくれそうになさそうだから帰ったらサンプルコード書くわ
2017/12/08(金) 10:47:31.06ID:lDhAMoXF0
「ホイール離すを繰り返す」→そんなことはしてませんよ
なぜなら「ホイール離す」なんで動作は存在しないので

そもそも質問者が何をやろうとしてるのか分かって無さそうだけど
まあ>>538も端折らずに自分が書いたコードそのまま貼った方がいいと思うけど
2017/12/08(金) 11:04:48.87ID:lDhAMoXF0
>>544
的外れなサンプルとか要らんよ
俺は質問者でもなければコードなんて求めてないし
ただお前の言う「ホイール離す」とは何のことだ?って聞いただけだし
2017/12/08(金) 11:13:40.82ID:NsN4xeHW0
そもそも、Photoshopのオプションに「ホイールスクロールでズーム」という項目があるんだけどな。
2017/12/08(金) 11:28:24.09ID:TIXIlEDB0
ワロタ
2017/12/08(金) 11:47:56.54ID:3CDYarjh0
AHKのすり抜け問題とは関係ないが
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
2017/12/08(金) 12:04:33.70ID:iQK6bfpR0
釣りだったりして。
興味があったんで、541は見たいです。
2017/12/08(金) 12:06:49.15ID:zf1T1yH1M
すみません、538です。
出先なので、コードはうろ覚えなのですが、
実際はシフトとアルトを押しながらホイールを回す動作をしたいです。

Shift Down
Alt Down
Wheel Up(Down)
Shift Up
Alt Up

で書いています。ゆっくり回す分には動作しますが、早く回すと抜けが発生すします。
>>539が言うのはホイールを離すじゃなくてホイールを回すの間違いでは?
ホイール操作を待つってスクリプトがよくわからないので、サンプルコード待ってます。

>>549
ありがとうございます。
バージョンが違うのでできるかはわかりませんが、それはそれで参考にさせて頂きます。
2017/12/08(金) 12:41:25.62ID:lDhAMoXF0
>>551
だからさ、それはahkのコードじゃないから質問する際にそういう中途半端な書き方は良くないぞって意味な

で、本題だけど>>547のオプション設定で済む話ならそれが一番いいだろうけど
余談になるがShiftやAltなど修飾キーならいちいちDownとかUpとか書かずとも

WheelUp::Send, +!{WheelUp}

だけでいいんじゃね?
それでもすり抜けるならしょうがないね

>>539が言ってた「ホイール離す」は所詮そのレベルの勘違いだろうな
何を待つのかは未だによく分からんけど
2017/12/08(金) 12:43:13.79ID:NsN4xeHW0
>>551
Wheel Up(Down) の前後に
Sleep,50
を入れたらどうなる?
2017/12/08(金) 13:08:08.94ID:2S31fZSzM
>>552-553
失礼しました。

修飾キーでの記述では、そもそも全く動作しなかった記憶があります。

すり抜けも変な感じで、Shiftだけ押されてAltが押されないままホイールが回る動作をしたりします。

Sleepを入れて色々時間を調整すると、入れない時よりも失敗の頻度は改善されました。が、完全には対策できていません。
2017/12/08(金) 13:14:27.13ID:lDhAMoXF0
>>554
#Usehook は使ってる?
2017/12/08(金) 13:16:54.42ID:D3cQmZala
いやまぁ、使おうが使わまいが構わないけど、帰ったらサンプル書くよ
言いたいことが伝わってないのは気持ち悪い
2017/12/08(金) 13:23:15.80ID:2S31fZSzM
>>555
使い方がいまいちわからず、使ってませんでした…

>>556
>>よろしくお願いしますm(_ _)m
2017/12/08(金) 20:23:38.48ID:RT6XFZXq0
#NoEnv
#InstallMouseHook
~*WheelDown::
~*WheelUp::
wheel := A_ThisHotkey
loop
{
If wheel contains ^,+,!,*,~,#,<,>,$
StringTrimLeft, wheel, wheel, 1
else
BREAK
}
GetKeyState, state, LAlt
If state = U
send,{blind}{LAlt Down}
sleep,30
send,{Blind}{{%wheel%}
settimer,AltRelease,-200
Return
AltRelease:
send,{Blind}{LAlt up}
Return

すまんloop監視使うよりタイマー使ったほうが簡単だった
最初はloopで全体を監視してWheelを監視して回した分だけ変数にためて
sendの回数部分に渡す予定だったけどややこしくなりそうだ
言いたかったのはこんな感じで、まずキーボード操作ならAltを押しっぱなしにしたままwheel操作をするはず
その間Altは離さないはずなんだ
これを簡単に書こうとして
send,{LAlt Down}{Wheel up}{LAlt up}
なんて書こうもんならログではホイール回すたびにAltキーが連打されることになる
2017/12/08(金) 20:26:39.02ID:RT6XFZXq0
あ、ホットキーラベルの~は要らないわ。クセで書いちゃったけど
2017/12/08(金) 20:38:48.94ID:WwZSRzo/0
で、「ホイール離す」って何のこと?
2017/12/08(金) 20:46:42.00ID:Vl1WWwQG0
>>560
しつけーんだよ
2017/12/08(金) 20:53:54.83ID:WwZSRzo/0
何をキレてんだよ
少し頭冷やせ
2017/12/08(金) 21:04:03.00ID:HqbBgtaD0
冷やし中華はじめました
2017/12/08(金) 21:22:38.10ID:VSEzKsSRM
>>562
質問者はサンプル待つつもりで「よろしく」って言ってるのに、横からしつこく揚げ足とりしてるあなたの方が頭冷やすべきでしょ
2017/12/08(金) 21:25:44.43ID:WwZSRzo/0
>>564
横からしつこくもなにも俺は最初からその一点についてしか話してない
それなのに一人で勝手に興奮してるだけ
間違いなら最初から間違い認めりゃいいだけなのにな
2017/12/08(金) 21:33:28.45ID:3e+Ho6oe0
それがしつこいって言われてるんじゃないか?
2017/12/08(金) 21:35:16.88ID:WwZSRzo/0
だから昼の時点でさっさと答えてりゃいいだけだろ
2017/12/08(金) 21:36:17.80ID:3e+Ho6oe0
お前がしつこく絡んでるようにしか見えないw
2017/12/08(金) 21:37:00.69ID:WwZSRzo/0
じゃあお前はなんでそんな必死に絡んでくるんだ?
2017/12/08(金) 21:38:55.52ID:HqbBgtaD0
冷やし中華はじめましたので...
2017/12/08(金) 21:40:10.88ID:AjW1HkCjM
キチガイなんだから
無視しとけよw
なんでみんなからしつこいって
言われるかわからないんだから
2017/12/08(金) 21:42:13.77ID:WwZSRzo/0
>>571
お前もそんな顔真っ赤にしてんなよ
2017/12/08(金) 21:44:12.58ID:HqbBgtaD0
冷やし中華はじめましたから!...冷やし中華はじめましたから!!!
574名無しさん@お腹いっぱい。 (ワッチョイ b740-gcK6)
垢版 |
2017/12/08(金) 22:32:51.68ID:fgs+Qvb60
amemiyaうっせ
2017/12/08(金) 23:16:41.31ID:3CDYarjh0
ワッチョイもIDも違う複数書き込みを
>一人で
>顔真っ赤
とか言い出したら要注意な
2017/12/08(金) 23:30:52.99ID:3vQpN7Oh0
いつまでやってんだよ
2017/12/09(土) 07:28:21.89ID:CYxvg1W8M
>>558
ありがとうございます。

今外出中で試せないのですが、今夜やってみます。
2017/12/09(土) 15:59:53.03ID:0ga8E3eN0
#NoEnv
#InstallMouseHook
; variable
EtatWheelDown = 1
EtatWheelUp = 1
Check_EtatWheelDown = 1
Check_EtatWheelUp = 1
Loop, ; ( or SetTimer )
{
if EtatWheelDown <> %Check_EtatWheelDown% ; Wheel Down is turn
{
Tooltip, Wheel Down is turn.
Break
}

if EtatWheelUp <> %Check_EtatWheelUp% ; Wheel Up is turn
{
Tooltip, Wheel Up is turn.
Break
}
Check_EtatWheelDown = %EtatWheelDown%
Check_EtatWheelUp = %EtatWheelUp%
}
~*WheelDown::
EtatWheelDown += 1
return
~*WheelUp::
EtatWheelUp += 1
return

ちょっと探したらgetkeystateじゃないにしてもホイール回してるか回してないかの取得スクリプトならあった
これでホイール離してる状態も取得できるな
2017/12/09(土) 23:24:41.40ID:8nqZo3FbM
>>558
質問者です。

わざわざコードを書いて下さりありがとうございます。
今試してみたら動きました!

なるほど、ホイール回す度にalt連打されると処理がおかしくなるのですね。(処理が完了する前に次の入力が来る?)
ホイール回す間はalt押しっぱなしにするという方法は目から鱗でした。

アルゴリズムやコマンドの勉強にもなりました。これで長くAutohotkeyを愛用していけそうです。
重ねてお礼申し上げます。
2017/12/10(日) 15:50:48.28ID:Pqr6ID550
あるファイルがあったとして、そのファイルが書き換えられたとき、それをトリガーにある処理をしたいのです
どうしたらいいでしょうか
タイマーで1秒おきとかにファイルのプロパティーを見ながら日付の変更確認とか、そんなことをしないと
いけないのですか?
2017/12/10(日) 16:32:00.90ID:APrQc+rqM
ReadDirectoryChangesWとか使えばイベントドリブンにできるかもしれんけど
多分settimerでFileGetTimeし続けるほうが楽だと思う
2017/12/11(月) 00:43:34.72ID:R4P+4TIr0
Windows10のデスクトップはahk_class Progmanですが、一度でもWin+Tabを押すとahk_class WorkerWになります。
これを強制的にahk_class Progmanに戻す事って出来ますか?。
2017/12/11(月) 00:57:30.17ID:Wcw0iGf+a
できない
何故戻したいのかはわからないけど、同時に適用したいならClass判定のところをorでいいんじゃないの?
2017/12/11(月) 01:30:33.02ID:R4P+4TIr0
分かりました、有難うございますた。
2017/12/11(月) 21:58:26.99ID:jRSbSjCy0
v = aaatttaaa aは文字、tは数字
となっているとします。文字の長さ、数字の桁数は別に3ということではなく任意です
この変数vから、数字のtttだけをとってくるにはどうしたらいいでしょうか
RegExMatch()とかを使うのですか。 かなりややこしくなりそうですが
2017/12/11(月) 22:15:06.32ID:jRSbSjCy0
文字には漢字やひらがなもあります
2017/12/11(月) 22:23:28.76ID:jRSbSjCy0
すいません。これで出来ました
NewStr := RegExReplace( ttl, "[^0-9]+", "")

これでいいのかな。 一応、確認したところ出来ていそうです
数字の0-9ってなにか\を使った記法ってあったような
2017/12/11(月) 23:12:38.47ID:n7RiSe0za
正規表現を調べるのを勧める
loopでぶん回して取得する無理矢理な方法もなくはないけど
589名無しさん@お腹いっぱい。 (ワッチョイ 16e6-WcAR)
垢版 |
2017/12/14(木) 16:25:41.48ID:6GnanOnj0
ブラウザ(IE)上で、webに設定されたドロップダウンリストに
規定値(一番上)に選択→隣接リストで同じ処理……
を5回位繰り返させようとしています。

【処理】
start地点のコントロールを選択してからHotKeyを押して処理開始。

1.ControlGetFocus
 →どのコントロールでも、どのwebページでも
 「Ineternet Explorer_server1」しか返ってこない。
2.Key(↑)を送ってリストを遡らせる
 →TABで次のコントロールに移るを繰り返す
 →Javascriptで監視されているようで、コントロールの
 value変更後の処理でFocusが外れてしまい、処理が継続できなくなる。

AutoHotKey無印を使っています。
AutoHotKeyでは、そもそもブラウザ上に展開したコントロールを
直接操作することはできないのでしょうか?
2017/12/14(木) 17:05:48.16ID:e4aJwnFFa
javaでやりな
2017/12/14(木) 17:34:29.24ID:/wRQoE030
なぜAHKで無理やりやろうとするのかが謎
592名無しさん@お腹いっぱい。 (ワッチョイ d2d9-w+5f)
垢版 |
2017/12/14(木) 21:57:18.36ID:GqJFhkoy0
>>590 >>591
ショートカットキーを使って、既存のブラウザのコントロールにアクセスしたいというのが
もともとの願望でした。
(会社の基幹システムの提携作業をマクロ化したいという動機)

検索すると、HotKey制御ならAutoHotKeyらしいということがわかって、
いろいろ試行錯誤してみた次第です。

ずっとVBAで業務支援ソフトなんかを同僚のために作ってきたのですが、
HotKeyの制御はC#やVBなんかでもできるのでしょうか?
初心者ですが、VisualAtudioは最近ちょろっと触ってるので、
HotKeyを使ったブラウザ制御なんかを学べる環境を教えていただけると幸いです。
2017/12/15(金) 07:32:08.50ID:lV80xGQe0
>>589

| IEウインドウを最大化
| IEを最前面表示固定
| 座標100,200 を左クリック
| 1秒待つ
| 座標100,220 を左クリック
| 0.5秒待つ
| 座標300,200 を左クリック
| 1秒待つ
| 座標300,220 を左クリック
| ・・・
| IEを最前面表示固定解除

みたいなのにすればいいだろ
#スクリプト動作中はマウス、キーボードを触らない


AHKじゃなくても、マウスユーティリティー系で可能
openmausujiならソースが公開されているから、業務で使用も可能だろ
2017/12/15(金) 20:50:32.58ID:OrMVJhUA0
>>589
テンプレにあるACC.ahkでDoDefaultActionでいいんじゃないかな
それでできないならUI AutomationのSetFocus()でフォーカス合わせるぐらいしか思いつかないけど
UI AutomationのほうもAutoHotKeyである程度使いやすいようにされたものがどっかにあったはず
595名無しさん@お腹いっぱい。 (ワッチョイ 16e6-WcAR)
垢版 |
2017/12/16(土) 16:06:02.33ID:AUvdSLPQ0
>>593 >>594
ありがとうございます。
レスが遅くなって申し訳ありません。

上記を参考に一度トライしてみます。
2017/12/17(日) 02:32:30.21ID:MdcvIGaz0
マウスのホイール操作全般(WheelUp WheelDown WheelLeft WheelRight)にキーを割り当てると、単純な a とか一文字でも
不定期に反応しなくなります
すり抜けとかではなく全く反応しなくなるのですが、リロードすれば直ります
右クリック、左クリック、サイドボタンでは全く問題ないです

定期的にリロードするよう書き込んだ方が良いのか、それとも
他に何か原因があるのでしょうか?
2017/12/17(日) 07:31:34.32ID:DTDP6E0d0
>>596
まず、余分なものをどんどん省いていって、それが再現する必要最低限のスクリプトにしてみましょう。
その結果、原因が分かって自分で解決できる場合もあるし、その最低限のスクリプトをここに書き込めば
誰かにヒントをもらえる確率が上がると思います。
2017/12/17(日) 08:29:26.24ID:MdcvIGaz0
>>597
WheelRight::send,a
return

これだけしか書いてないスクリプトでも急に受け付けなくなるのですが・・
2017/12/17(日) 09:58:02.93ID:ZbWlvwyg0
再インストールしてみるとか?
2017/12/17(日) 10:15:31.95ID:ZbWlvwyg0
うちの環境だと問題なく動いてるけどなぁ
2017/12/17(日) 11:06:05.21ID:pdjYZcFx0
一体どういう状況でソレが使いたいのかが分かれば精査しようもある
ただ言えるのは、短く書こうとして誤動作おきてるなんてことはよくある

WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return

くらいは書かないとダメかも
2017/12/17(日) 11:12:23.44ID:pdjYZcFx0
もうちょっというなら、キーヒストリーはちゃんと確認しよう
早すぎて抜けてるとかなら調節しないといけないわけだし、そもそもキーが送られてないとかになると、マウスとの相性まで疑ったほうが良い。
WheelLeft、Rightはうちも反応して無くて、しょうがないからF13,F14をレジストリレベルで割り当ててF13に設定してたりする
2017/12/17(日) 11:22:47.97ID:4YmA5vyY0
それロジマウス使ってるだけじゃねえの
2017/12/17(日) 11:34:53.14ID:fzbLbuEn0
LogicoolのSetpointのような他のカスタマイズ系ツールが入ってて競合していたり
仮想PC上で動かしていたりするんじゃない?
もしそうなら思考錯誤すればなんとかなったりするけど
Autohotkeyとの併用だと根本的解決は厳しいのでどこかで妥協が必要
2017/12/17(日) 11:39:13.82ID:4YmA5vyY0
ロジの左右スクロールはWindows標準APIじゃないから反応しないだけ
質問者の様に途中から反応しなくなると言った症状とは全く別問題
2017/12/17(日) 12:12:17.21ID:eySZ52HR0
その手の質問するときはちゃんと環境書いたほうがいいよ
反応しなくなるのは件のホットキーだけ?
それとも他のホットキーも全滅になるん?

リダイレクトホイール系のスクリプト入れてるけど
ブラウザとかでページの読み込みが重いとスクロール処理に遅延が生じてしまって
それ以降他のアプリ上でホイール回しても一切スクロールしなくなることはあった
ただ処理はロストしてるわけじゃなく溜まっててるだけで
数分〜10分後に え今更?ってタイミングでスクロールされるけど
(win8 x64 & ahkL U64 v1.1.24 & m570)
2017/12/17(日) 16:53:37.57ID:MdcvIGaz0
>>601
ありがとうございます
そのスクリプトでやってみると初めの一文字だけしか出てきません
キーヒストリーを見ると

002: Send,{a down} (0.09)
003: KeyWait,WheelRight (2.81)

で止まって Send,{a up} が送られていないようでそれ以降反応しません
WheelLeft、,WheelUp とかでも同じ挙動です

WheelRight::send,a
return
で反応しなくなるときはキーヒストリーにも何も記述されなくなってます

環境は win8 x64 & ahk v1.1.26.01(Unicode 32-bit) マウスはエレコム です
2017/12/17(日) 17:20:03.67ID:DTDP6E0d0
>>607
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input

WheelRight::send,a

このスクリプトのみを書いたAHKを実行させてみたけど、問題なく動いてるよ。
何回目のホイール右倒しで無反応になるの?
2017/12/17(日) 17:31:48.08ID:3XY+E35O0
>>607
とりあえず>>601は無視した方が良いぞ
ろくに確認もしてないやつだから
2017/12/17(日) 20:17:29.22ID:MdcvIGaz0
>>608
ありがとうございます

WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return

で反応しなくなるのは2回目からです

とりあえずスクリプトの頭に
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
を付けてうまくいくのか様子を見てみます
2017/12/17(日) 20:23:31.32ID:DTDP6E0d0
俺のロジクールマウスの場合、ホイールに関しては d のみで u の発行は無い。
ボタンのアップ待ちは無駄かもよ。
2017/12/17(日) 20:56:02.37ID:7BTXFvHJ0
だからホイールには「離す」なんて概念は無いって
keywait,WheelRight とか言ってるやつがアホなだけ
613名無しさん@お腹いっぱい。 (ワッチョイ a787-OyZG)
垢版 |
2017/12/18(月) 00:49:44.45ID:fHENqFFZ0
そもそもお前らにとってマウスは仇なの?
そこまでキーボードでやりだい心境ってどうなの?
2017/12/18(月) 00:56:22.46ID:L9Sezhe2a
keywaitがだめと言うならSleepでもいいぞ。とにかく押し下げて離すをエミュレートさせたほうが確実って話だから
2017/12/18(月) 01:09:51.37ID:D6Zzwcuh0
脳波でカーソルうごかせたら万事解決するのに
2017/12/18(月) 01:55:14.23ID:82QJfRCd0
>>613
お前何と戦ってんの?
全く真逆のこと言ってんだがw
2017/12/18(月) 11:07:38.53ID:dHJj4PmW0
>>614
>551の時は代替キーがモデファイヤ含んでたからそういう処理が必要だったけどそうでないなら助長じゃね
WheelLeft/Rightは倒してる間中リピート発生するみたいだし本来なら
WheelRight::a
だけでいいはず

書き方じゃなく環境的な問題な予感
2017/12/18(月) 19:44:47.33ID:8SoFyHAV0
>>610です
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input

スクリプトの頭に上のを付けてもやっぱり不定期にホイールは反応しなくなるので
諦めます
2017/12/19(火) 11:49:43.42ID:Van3T9iO0
WheelScroll.ahkとかWheelaccel.ahkだと、WINDOWS10の modern UI でスクロールできないです。
MGLを使った回避はあったのですが、単体利用での回避方法を誘導していただけないでしょうか。
よろしくお願いいたします。
2017/12/19(火) 12:15:03.89ID:ZXNMo4hja
あれってスクロールメッセージ送ってるはずだからそれがないなら反応しないとかだったような
2017/12/19(火) 17:14:58.39ID:knaBMDJJ0
>>619
WheelScroll.ahk modernUI対策版を上げました
ただwin10の場合は標準でリダイレクトホイール可能ですのでもうこのスクリプトは要らないかも
http://www6.atwiki.jp/eamat/pages/30.html
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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