17/10/30 22:34:34.80 BusKigX60.net
>>297
回答ありがとうございます。およそ次のような枠組みになることはわかりました。
AppsKey::
Flag += 1
If Flag =1
{
「コマンド1」
Return
}
If Flag =2
{
略
Return
}
Flag = ;3回目変数をカラ
Return
「コマンド1」に関してURLリンク(ahkwiki.net)を参照すると
Loop
{
Send {w down}
sleep 30
}
Send {w up}
のように書くのかと思いましたが、 loopを脱出する条件やAppsKey:: Flag += 1などを考えるとわかりません。
サーチが不足しているかも知れませんが、どうかお助け願います。
313:名無しさん@お腹いっぱい。
17/10/31 00:01:07.53 IArYTqnO0.net
>>301
何をやりたいのか良く分からないんだが>>295の
1回目と2回目押した時の「長押し」って押しっぱなし状態で固定して
3回目押したときにwと8を離すってことじゃないの?
314:名無しさん@お腹いっぱい。
17/10/31 05:01:26.49 7gNoBxwg0.net
ahk初心者です。よろしくお願いします。
環境(win10 64bit、AHK v1.1.26.01)
最初にアクティブだった窓で再生したスクリプトが違う窓に切り替えた後でも、バックグラウン
ドの最初の窓で終了(動作)させたくて、下記を書いたのですが反応なしです(IEなら動作しま
した)。chromeやoperaをWintitle指定でControlsendをさせる方法がありましたら教えてください
r::
WinGetTitle, title, Yahoo! JAPAN
ControlSend, ahk_parent, {f5}, Yahoo! JAPAN
Sleep, 2000
ControlSend, ahk_parent, {f5}, Yahoo! JAPAN
Sleep, 2000
ControlSend, ahk_parent, {f5}, Yahoo! JAPAN
return
315:名無しさん@お腹いっぱい。
17/10/31 09:19:18.89 HXbL+oKY0.net
>>303
WingetClassを使おう
>>301
脱出条件が書けないのは動作イメージがあいまいだからでは?
「長押し」をどういう挙動にしたいのか考えてみて
n秒以上押下 なのか AppsKey離されるまで押下 なのか等
316:名無しさん@お腹いっぱい。
17/10/31 10:31:49.91 7gNoBxwg0.net
>>304
回答ありがとうございます
下のをやっても反応なしでしたorz
諦める系なのかな?。。
;r::
DetectHiddenWindows, on
WinGetClass, Chrome_WidgetWin_1, A
ControlSend, ahk_parent, {f5}, Yahoo! JAPAN
return
r::
WinGetClass, Chrome_WidgetWin_1
ControlSend, Chrome_RenderWidgetHostHWND1, {f5}, Yahoo! JAPAN
return
317:名無しさん@お腹いっぱい。
17/10/31 12:48:17.99 HXbL+oKY0.net
タイトルやclass名が固定でわかってるときはGetしなくていいよ
とりあえずウィンドウ指定の方法からわかってなさ
318:そうなのでwikiを読もう http://ahkwiki.net/Window (別タブではなくあくまで別窓という前提で) 確認してみたがアクティブ化後は効くけど非アクティブ時は効かない この手の挙動のアプリはControlSendでは無理な場合が多い WinActivate, Yahoo! JAPAN ahk_class Chrome_WidgetWin_1 ControlSend, Chrome_RenderWidgetHostHWND1, {f5}, Yahoo! JAPAN ahk_class Chrome_WidgetWin_1
319:275
17/10/31 16:35:05.33 zqELyNoa0.net
SysListView32ですが、値をとってくるのはGetContorolを使えば出来るのですが
リストの任意の場所の値をセットすることって出来ますか
今はその場所へmousemoveでカーソルを移動してクリックさせて
Sendで値を入れるみたいなことをリストのひとつひとつにしているのですが、時間がとてもかかります
320:275
17/10/31 16:36:10.72 zqELyNoa0.net
→ControlGet
321:名無しさん@お腹いっぱい。
17/10/31 19:20:47.45 7gNoBxwg0.net
>>306
無理なんですね・・・
わざわざ確認とスクリプト、ありがとうございました
322:名無しさん@お腹いっぱい。
17/11/01 13:04:59.67 oLVxkSWa0.net
新しいPCでahkファイルへのD&Dで引数が正常に取れないと思ったら8.3形式のファイル名が無効になってた
Win10ではシステムドライブ以外のフォーマットは8.3形式のファイル名の無効がデフォになったのかな?
323:名無しさん@お腹いっぱい。
17/11/01 22:15:18.71 0XbH3Oow0.net
>>302
解決しました。指摘通り単に一回目がSend {w down}...etcで動作しました。
動作チェックがテキストエディタ上のみで、またその挙動が物理キーを押し続けた場合と違ってwがリピートされなかったため、
仕様を誤認していました。混乱させてしまい申しわけありませんでした。
アドバイスくださった方々、ありがとうございました。
324:275
17/11/02 11:23:34.64 F6tfVhm+0.net
AHKで、任意のウインドウのWinTitleを変えることって出来ますか
325:名無しさん@お腹いっぱい。
17/11/02 11:58:51.92 aI4Kc6yj0.net
>>312
出来ます
326:名無しさん@お腹いっぱい。
17/11/02 14:38:27.28 gLmdbRIP0.net
```
result2 := VarSetCapacity(point, 64, 0x00)
result := DllCall("kernel32\GlobalMemoryStatusEx", "Ptr", &point, "int")
lasterror := Dllcall("GetLastError")
ListVars
msgbox
```
このようなものを書いたのですが、GlobalMemoryStatusExが失敗しているようで、
Global Variables (alphabetical)
--------------------------------------------------
0[1 of 3]: 0
ErrorLevel[1 of 3]: 0
lasterror[2 of 3]: 87
point[0 of 32]:
result[1 of 3]: 0
result2[2 of 3]: 64
と表示されてます。
error codeの87は"パラメータが正しくない"だそうです。なにがだめなのでしょうか?
環境はwin8.1 64 のAutoHotkeyU64.exeです。
プログラム言語やスクリプトはAutoHotkey以外ほとんどやった事がないです。
327:名無しさん@お腹いっぱい。
17/11/02 15:00:05.60 k9JkDB2u0.net
>>314
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
NumPutで構造体のdwLengthを指定しないとだめでしょ
328:名無しさん@お腹いっぱい。
17/11/02 15:02:04.54 VfmNp1pV0.net
dwLength
The size of the structure, in bytes. You must set this member before calling GlobalMemoryStatusEx.
329:名無しさん@お腹いっぱい。
17/11/02 17:44:56.54 gLmdbRIP0.net
>>315
ありがとうございます!解決しました。
```
result2 := VarSetCapacity(point, 64, 0x00)
NumPut(64, point , 0, "int")
result := DllCall("kernel32\GlobalMemoryStatusEx", "Ptr", &point, "int")
;dwLength := NumGet(point, 0, "Int")
dwMemoryLoad := NumGet(point, 4, "Int")
ullTotalPhys := NumGet(point, 8, "Int64")
ullAvailPhys := NumGet(point, 16, "Int64")
ullTotalPageFile := NumGet(point, 24, "Int64")
ullAvailPageFile := NumGet(point, 32, "Int64")
ullTotalVirtual := NumGet(point, 40, "Int64")
ullAvailVirtual := NumGet(point, 48, "Int64")
;ullAvailExtendedVirtual := NumGet(point, 56, "Int64")
MsgBox,
(
メモリ使用率:%dwMemoryLoad%`%
全物理メモリ:%ullTotalPhys%B
利用可能メモリ:%ullAvailPhys%B
ページング可能な最大ファイルサイズ:%ullTotalPageFile%B
現在ページング可能なファイルサイズ:%ullAvailPageFile%B
全仮想メモリ:%ullTotalVirtual%B
利用可能仮想メモリ:%ullAvailVirtual%B
)
```
330:名無しさん@お腹いっぱい。
17/11/03 14:40:06.50 l+MEYLy90.net
これはバグでしょうか。 ツールチップなのですが
下記のスクリプトで、tipwindowというのを表示させてこれをアクティブにして
ActiveWindowsInfoを見てもWindowTitleのところに
tipwindow
というのが出てきません。にもかかわらず
WinGet, aid, ID, tipwindow
WinGetTitle, t1, ahk_id %aid%
とすると拾えて、t1にはtipwindowと入っています
これにExcludeTitleを加えて
WinGet, aid, ID, tipwindow,,ahk_exe AutoHotkey.exe
WinGetTitle, t1, ahk_id %aid%
とすると取れないだろうと思ったのですが、これでも
t1には、tipwindow
が入ってきます。 なぜでしょうか
idでもpidでも同じ結果です
^a::
ToolTip, tipwindow, 100, 500, 2
WinSet, AlwaysOnTop, On, ahk_class tooltips_class32
WinGet, aid, ID, tipwindow,,ahk_exe AutoHotkey.exe
WinGet, apid, PID, tipwindow,,ahk_exe AutoHotkey.exe
WinGetTitle, t1, ahk_id %aid%
WinGetTitle, t2, ahk_pid %apid%
MsgBox aid=%aid%`napid=%apid%`nt1=%t1%`nt2=%t2%
return
331:名無しさん@お腹いっぱい。
17/11/03 14:46:15.58 l+MEYLy90.net
あ、AHKのバージョンは、v1.1.24.04です
ToolTip, tipwindow, 100, 500, 2の最後の2にはなんの関係もありません。これはなしでも同じ結果です
332:名無しさん@お腹いっぱい。
17/11/03 16:03:16.16 bkVry8BK0.net
#If MouseIsOver("ahk_class Shell_TrayWnd")
このコードがwikiにありますが
タスクバー上で、Wheelの左右が効かないのはなぜでしょうか?
333:名無しさん@お腹いっぱい。
17/11/03 16:58:12.94 oAKaFRrm0.net
>>318
少し試してみた感じだと、Tooltipの内容をタイトルとして取得できるのは同一のプロセス内だけっぽい?
AWIは別スクリプトだから取れてないのかと
あとExcludeTitleにはahk_??は使えなかったような
334:名無しさん@お腹いっぱい。
17/11/03 17:24:02.39 l+MEYLy90.net
>>321
ToolTipsのときは、ActiveWindowsInfoのWindowTitleには出てないのに
WinGet等で取れるっていうのがなんとも気持ち悪いです
デバッグするときにあれって思う
335:名無しさん@お腹いっぱい。
17/11/03 17:29:54.20 l+MEYLy90.net
ああ、ActiveWindowsInfoっていうのは
Window Spyのことね
336:名無しさん@お腹いっぱい。
17/11/03 17:45:24.63 AEQ8+teS0.net
>>318
WindowSpyがTooltipの内容をタイトルとして拾えないのは昔から仕様扱いだったと思う。
ahkとWindowSpyの両方から全く同じコードでGetWindowText()を呼び出しても、
ahkからしか取得できないので、OSの仕様じゃねーの?という扱いだったような。
ahkのcppソースのコメントにWM_GETTEXT()とGetWindowText()のどちらを使うかってのが説明してあって、
WindowSpy改造すればタイトルとして取得できるけど、問題のほうが多そうということで仕様扱い。
まあ、tooltipにはタイトルなんてない、で誰も困らないような。
337:名無しさん@お腹いっぱい。
17/11/03 18:03:00.03 l+MEYLy90.net
>>324
複数のアプリを立ち上げていて、そのWinTitleがたとえば
アプリ1
アプリ2
アプリ3
となっていて、ToolTipsにアクティブになってる同じタイトル名を表示する、ということをしたのですよ
で、WinGet, v, PID, アプリ1
ってやったら、なぜかAutoHotkey.exeのPIDを取ってきたのです
で、なんで? ってなって今回の話になりました
ToolTipsはWindowSpyで見たらタイトルにはなかったのでテキストに入ってるのかと思ってて
原因究明にめっちゃ時間がかかりました。まさかToolTipsのPIDを取って来てたなんて思っても
いなかった
結局、こういう場合、WinTitleからは確実にアプリ1のPIDをとることが出来ません
現状ではアプリ1のexe名を憶えておいて、それを利用するとかしか出来ません
ExcludeTitleも使えないなんてなあ
でもexe名もWinTitleからは得られないんですよね。AutoHotkey.exeになっちゃうから
338:名無しさん@お腹いっぱい。
17/11/03 18:14:40.56 AEQ8+teS0.net
>>325 やろうとしたことは大まかにわかったけど詳細がわからないので解決できるのか知らないけど、 WinGet使う前にtooltip非表示にしてしまえばいいのでは?
340:名無しさん@お腹いっぱい。
17/11/03 18:25:55.44 l+MEYLy90.net
>>326
WinGetで取る前にtooltip非表示にして取ってから
再度表示にする、ということですね
非表示にすると取らなくなるのかな
でも可能性はありますね
でもなあ、ExcludeTitleが使えたら解決するんですけどねえ
ahk_XXのときは使えないとか、なんでやねんw
今日は疲れました
341:名無しさん@お腹いっぱい。
17/11/03 18:37:53.97 l+MEYLy90.net
>>324
>まあ、tooltipにはタイトルなんてない、で誰も困らないような。
それとここですが、結局、Tooltipsの場合は、そこに表示されている内容も
WinTitleになる、ということですね。でもWindowSpyには出ないので要注意です
ほんとこれこそちょっとしたTIPSになりましたw
342:名無しさん@お腹いっぱい。
17/11/03 19:28:22.49 oAKaFRrm0.net
ActiveWindowInfo.ahkをモジュール化して組み込んだら
自分のtooltipはちゃんとタイトル表示されるようになったわ
343:名無しさん@お腹いっぱい。
17/11/05 14:42:30.14 lmZ+8dDx0.net
>>325
俺も似たようなことやってるけど
「アクティブウィンドウ:t1」みたいに表示させてたおかげで無自覚回避できてたようだな
というか真面目な話、バグとして報告していい案件なんじゃないの
344:名無しさん@お腹いっぱい。
17/11/05 23:42:34.65 mfJuW1tS0.net
>>325
>ToolTipsにアクティブになってる同じタイトル名を表示する
この部分がよく分からないんだけど、アクティブになってるウインドウのPIDを取得して、
それを元にウインドウタイトルを取得して、
そのタイトルをtooltipに表示する
ということだろうか?
だとしたら、
^a::
WinGet, v, PID, A
WinGetTitle, title, ahk_pid %v%
ToolTip, % title, 100, 500, 2
return
というのは?
wingetにおけるPIDの説明には
PID 条件に一致する一番最初(前面)のウィンドウのPID(プロセスID)。
となっており、「一番最初(前面)」というのは必ずしも「アクティブ」とは限らないと思うんだが…
間違っていたらスマン
345:名無しさん@お腹いっぱい。
17/11/06 08:39:10.84 +3FFCnlR0.net
1.app1というアプリが起動してあり、さらに
2.tooltipにapp1と表示させてた状況で
3.WinGetでタイトルがapp1のappを釣ろうとしたら、tooltipの中身のほうにひっかかった
という話でしょ。
346:名無しさん@お腹いっぱい。
17/11/06 17:03:32.17 whGphSg+0.net
で、そのとき
appとtooltipを区別して釣ることができない、ということ
347:名無しさん@お腹いっぱい。
17/11/06 18:29:26.02 M//XmyI50.net
タイトル指定でツールチップを除外したいだけなら普通にやりようあるけど
あまり相手したくない感じの人だから関わらないほうがいいかな
348:名無しさん@お腹いっぱい。
17/11/07 11:44:49.50 C4uwBzlx0.net
TrayTip の Seconds って機能してるのかな
10 も 30 も変わりないように感じるけど
349:名無しさん@お腹いっぱい。
17/11/07 12:02:59.88 wPhF9P5t0.net
Note: This parameter has no effect on Windows Vista and later.
350:名無しさん@お腹いっぱい。
17/11/07 12:06:09.50 FUUC0b2I0.net
>>335
本家ヘルプによるとvista以降で機能しない
>>334
横からだけどよかったら触りだけ教えて
351:名無しさん@お腹いっぱい。
17/11/07 13:05:31.04 C4uwBzlx0.net
>>336
>>337
書いてあったんですね、ごめんなさい。
ありがとうございます。
352:名無しさん@お腹いっぱい。
17/11/07 17:19:49.83 SgV85eZs0.net
>>337
ahk_class ^(?!tooltips_class32$)
353:名無しさん@お腹いっぱい。
17/11/08 12:57:11.90 FQHhkSa+0.net
>>339
その正規表現の意味がわからなかったけど試したらできたわありがとう
正規表現の勉強しなおしてくる
354:名無しさん@お腹いっぱい。
17/11/08 21:20:19.90 Aynw/XIa0.net
aaa()
{
実行文字列
}
で読み込んだ関数が
この後に
v::
while (GetKeyState("v","p") )
{
aaa()
}
return
で読み込めないのなんでだ…
aaaの実行ラインは
v::
の後に書き込むと問題なく動いてる
1.関数化できてない?
2.引数できてない?
あまり恥ずかしい内容なので中身を詳しく書けませんが
原因として考えられることがあれば教えてください
355:名無しさん@お腹いっぱい。
17/11/08 21:50:37.38 D9XhZkru0.net
よーわからんがとりあえずtooltipで試しすとちゃんと動くので
恥ずかしい内容の中身に問題があるのでは?
v::
while (GetKeyState("v","p") )
{
aaa()
}
tooltip
return
aa(){
tooltip,aaa
}
356:名無しさん@お腹いっぱい。
17/11/08 23:12:20.37 Aynw/XIa0.net
>>342
確かにtooltipで動かすと問題なく作動してますね
中を確認してみます
ありがとうございます
357:名無しさん@お腹いっぱい。
17/11/10 00:56:44.09 far4pfand.net
1つの処理だと問題ないんですが
a::
の中と
b::
の中に
同じ処理を入れようとすると
Duplicateエラーが出るのは同じ関数を使っているから?
対応策はありますか?
358:名無しさん@お腹いっぱい。
17/11/10 01:37:54.01 a/DVTS050.net
記述を隠したがるやつ妙に増えたな
359:名無しさん@お腹いっぱい。
17/11/10 03:14:31.48 U5SA2Xv00.net
a::
goto label1
label1:
return
b::
goto label1
label1:
return
だとエスパー
360:名無しさん@お腹いっぱい。
17/11/10 05:39:27.48 a1txFjAv0.net
最近、AHKが動かないソフトが増えている気がするけど、俺だけかな?
トライアル版を試したこれも動かなかった。
HippoEDIT
URLリンク(www.hippoedit.com)
俺のバージョンはv1.1.22.04。OSはWin7 64bit。
外国ののソフトは動かないのが多い気がする。
361:名無しさん@お腹いっぱい。
17/11/10 09:21:13.07 rAX5gFmOa.net
一年半まえに使い始めたわいので
v1.1.23.05やで
最新の
v1.1.26.01
試してみたらどうや
アプデって言っても置き換えるだけだし
362:名無しさん@お腹いっぱい。
17/11/10 18:02:19.75 a/s4mTF+0.net
>>344
>>347
AHKの「なにが」動かない?
書かなければ「分からない」
363:名無しさん@お腹いっぱい。
17/11/10 18:23:39.05 a1txFjAv0.net
>>349
ホットキーが無視されてしまいます。v1.1.26.0.1でも同様です。キーをフックする優先順位がAHKよりも高いような印象です。
皆様はいかがでしょうか?
最近、海外のソフトでは案外ひんぱんに経験します。AHKを管理者権限でインスコすればいいのかな?
364:名無しさん@お腹いっぱい。
17/11/10 18:33:22.48 e6Htw9YT0.net
管理者権限で試すのはインストールではなくスクリプトの起動では
365:名無しさん@お腹いっぱい。
17/11/10 18:38:52.24 a/s4mTF+0.net
>>350
問題が起こる最小限のスクリプトを書いていれば話がスムーズに進む
F1::MsgBox フックなし
$F2::MsgBox フックあり
フックの有無
管理者権限 >>10
366:名無しさん@お腹いっぱい。
17/11/10 18:38:58.39 uMNzoQ5c0.net
質問が頓珍漢過ぎて、さすがに釣りとしかw
367:名無しさん@お腹いっぱい。
17/11/10 18:43:51.83 a1txFjAv0.net
>>351
おお、動きました。ありがとうございました。
管理者権限で起動する方法は↓にありましたので早速やってみます。
管理者権限で実行しなければいけない常駐アプリのスタートアップ設定方法
URLリンク(tanweb.net)
368:名無しさん@お腹いっぱい。
17/11/10 19:04:38.60 a1txFjAv0.net
>>352
私はいわゆるSpaceFNをやっていまして、それがSpace押下でSpaceが入力されて困っていました。
何故外国のマイナーなソフトだとこういう現象が起きるのか不思議ですね。定番のソフトでは経験したことありませんでした。
369:名無しさん@お腹いっぱい。
17/11/10 22:15:32.90 Oslygo4n0.net
windows APIのABM_SETSTATE messageを使って「タスクバーを自動的に隠す」をオンにしたいのですが、 APPBARDATA構造体のlP
370:aramメンバーには何を入れればいいのでしょうか?また、hWndメンバーに入れるのはタスクバーのハンドルということでいいのでしょうか?
371:名無しさん@お腹いっぱい。
17/11/11 01:35:11.41 gMztQec90.net
ABS_ALWAYSONTOP = 0x0002
ABS_AUTOHIDE = 0x0001
372:名無しさん@お腹いっぱい。
17/11/11 07:52:33.31 IBbBqaBiM.net
>>357
よろしければ出典を
373:名無しさん@お腹いっぱい。
17/11/11 16:56:54.15 F5Z3qywF01111.net
「タスクバーを自動的に隠す」とは全く違う内容だが、こんなのあったの思い出した
1 Hour Software by Skrommel - DonationCoder.com
URLリンク(www.donationcoder.com)
【RunAndHide】
#NoEnv
#SingleInstance,Force
#NoTrayIcon
SetWinDelay,0
IfWinExist,ahk_class Shell_TrayWnd
{
WinHide,ahk_class Shell_TrayWnd
WinHide,Start ahk_class Button
}
Else
{
WinShow,ahk_class Shell_TrayWnd
WinShow,Start ahk_class Button
}
374:名無しさん@お腹いっぱい。
17/11/11 17:01:34.05 F5Z3qywF01111.net
>>359
あ
「Start」は「スタート」と日本語にしないとスタートボタンに適用されないはず
ま、どうでもいいけどスレ汚しスマン
375:名無しさん@お腹いっぱい。
17/11/11 19:12:22.78 r2k0ryN301111.net
>>358
スレリンク(software板:7番)のマンドクセがすげー便利だからブクマしとくといい
>■リンク等
>AutoHotkey メモ - Principia
>URLリンク(principia.s54.xrea.com)
>なまず日記
>URLリンク(www.tierra.ne.jp)
>eamatの日記
>URLリンク(d.hatena.ne.jp)
>1 Hour Software by Skrommel - DonationCoder.com
>URLリンク(www.donationcoder.com)
>Rosetta Code (さまざまな処理を各種プログラム言語で書いた場合の比較)
>URLリンク(rosettacode.org)
>
>以下公式フォーラムより
>URLリンク(www.autohotkey.com) Tips N Tricks
>URLリンク(www.autohotkey.com) ListViewで大きな画像を扱いたい
>URLリンク(www.autohotkey.com) GUIで標準のもの以外を使いたい
>URLリンク(www.autohotkey.com) GUIを手軽に作りたい
>URLリンク(www.autohotkey.com) DllCallで定数調べるのマンドクセ
>URLリンク(www.autohotkey.com) コンパイルユーティリティ%28Compile_AHK II)
>URLリンク(www.autohotkey.com) HIDを直に読んで、キーボードやマウスの拡張ボタンの状態を得たい
>URLリンク(www.autohotkey.com) Windowsのイベントをフックして色々やりたい
>URLリンク(www.autohotkey.com) ShellFolder() : エクスプローラのPathおよび選択ファイルを取得
>URLリンク(www.autohotkey.com) ShellDesktop() : デスクトップで選択されたファイルを取得
>URLリンク(www.autohotkey.com) ポップアップメニューの情報を得る
昔はテンプレにあったんだがいつの間にか消えてたんだな
376:名無しさん@お腹いっぱい。
17/11/12 12:55:49.04 8syapqkm0.net
ジョイスティックの傾き検出して逆にキーボード操作に置き換えるスクリプトが出来たけど需要ある?
G13使用とかでジョイスティックの傾きで歩き、走りを検出できるようにしたもの
Fallout4用に作ったけどジョイスティックが使えないゲームとか、他にも応用が効くはず
あるならうpします
377:名無しさん@お腹いっぱい。
17/11/12 13:08:15.48 WM9jBImW0.net
JTKで間に合ってます
378:名無しさん@お腹いっぱい。
17/11/12 13:58:55.86 zqxC5E00a.net
内部的にどうしてんのかは見てみたいからうぷっていいのよ
379:名無しさん@お腹いっぱい。
17/11/12 14:31:21.01 RFK/5/nu0.net
ブロ
380:グとかにアップして、アドレス貼ってくれる方が読みやすいから好き。
381:名無しさん@お腹いっぱい。
17/11/12 17:34:26.63 8syapqkm0.net
アップしてみました
JTKまがいなジョイスティックの傾き入力をキーボードに変換するということをAutohotkeyでやりたいという人
興味があればどうぞ
URLリンク(ux.getuploader.com) 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
382:名無しさん@お腹いっぱい。
17/11/12 18:50:56.86 BMyO5Iwfa.net
入力角度まで検出できんのか
ありがてえありがてえ
JTKより好みにキーコンフィグできそうだ
383:名無しさん@お腹いっぱい。
17/11/12 21:23:05.65 PxES/4Ifa.net
この設定ってAHKで実現できますかね..?
URLリンク(qiita.com)
緑文字の「Ctrlキーと(SandSの)Shiftキーを押しながら」のところが実現できるのか...
384:名無しさん@お腹いっぱい。
17/11/12 21:24:18.65 0k5Ffqyx0.net
JTKで出来るのになんでこんなもの作ったのかというと
JTKの特殊入力のアナログレベルによって切り替えるってところに不満があったから
多分、座標のXYの傾きだけで長方形判定してる。斜め入力時のときに誤操作が起きるって理由から
コッチは半径を求めてそれを目安にすることにした
それと内部的にキーおしっぱループの処理がわかってないのが怖い、連打してるかもしれないから
なので作った
385:名無しさん@お腹いっぱい。
17/11/12 21:28:02.68 PRQr2sD50.net
>>361
ありがとうございます。もう少し調べてみます。
386:名無しさん@お腹いっぱい。
17/11/12 22:24:35.47 0k5Ffqyx0.net
URLリンク(ux.getuploader.com)
>>366のものを二軸対応しました。ゲームパッドは二軸が主流でしたね。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
387:名無しさん@お腹いっぱい。
17/11/12 23:49:57.26 8jWLb8S60.net
>>371
右スティックの軸はゲームパッドによってZ/Z回転だったり
X回転/Y回転だったりモデルによって異なるぞ
388:名無しさん@お腹いっぱい。
17/11/12 23:53:32.89 0k5Ffqyx0.net
>>372
ああ、そうか、そうなっちゃうともうデバッグonにして動いてるパラメーターから同じ要領で変更してください。
関数化してもよかったか
389:名無しさん@お腹いっぱい。
17/11/13 00:03:39.23 HPvoCD+z0.net
そのうち角度計算、半径計算は関数化してもう少しシンプルに各軸設定出来るようにします。お待ち下さい
390:名無しさん@お腹いっぱい。
17/11/13 00:05:12.60 4HU28rAR0.net
いや別に要らんけど
391:名無しさん@お腹いっぱい。
17/11/13 00:10:45.51 mG2uBOBH0.net
ジョイなんとかは自分とこだと暴発しておっかないから使うのやめたなあ
392:名無しさん@お腹いっぱい。
17/11/13 00:16:44.83 jtVf8kaUa.net
三角関数とか半径計算とか思いつかなかったしめんどくさいことを代わりにやってくれただけでも俺としては助かったか
これだけあれば無理にバージョンアップしなくてもええで
軸情報さえ与えればいいからな
GPDwin用に使わせてもらうわ
393:名無しさん@お腹いっぱい。
17/11/13 01:55:06.59 9Yyb7OWG0.net
Menuで出すホップアップメニューがたまに外クリックしても消えなかったりするんだけど対策とかある?
394:名無しさん@お腹いっぱい。
17/11/13 04:56:43.07 DdvhQXaH0.net
>>378
対策は知らんけど、消す方法ならある
loop, 5 {
ifwinexist
break
winactivate, ahk_class #32768
send, {alt}
}
395:名無しさん@お腹いっぱい。
17/11/13 05:03:16.68 DdvhQXaH0.net
ifwinexist
じゃなくて
ifwinnotexist, ahk_class #32768
396:名無しさん@お腹いっぱい。
17/11/13 07:42:55.30 GHdXBXoe0.net
>>378
ポップアップメニュー表示中は、S
397:etTimerの割り込みでさえ出来なくなるので、 ポップアップメニューを別AHKにして呼び出さないと、表示後の対策は何も出来ない。
398:名無しさん@お腹いっぱい。
17/11/13 11:33:02.31 MpwXGRWu0.net
使ってたフリーソフトがたびたび落ちるから、似たようなの自作して安定してたけど
元がmigemo対応してたんで、こっちにも組み込んでみたら落ちるようになったつらい
399:名無しさん@お腹いっぱい。
17/11/13 16:43:29.88 fTwFmDsma.net
#usehook
^b::
send,^a
return
^a:: ;コピー
send,^c
return
^bでコピーのスクリプトを動かす方法ってないですか?Goto、Gosubは使わないで
400:名無しさん@お腹いっぱい。
17/11/13 17:12:12.27 1/94+gPG0.net
何がしたいのかさっぱりわからん
401:名無しさん@お腹いっぱい。
17/11/13 17:19:11.52 CsIQdQOr0.net
この手の質問にあるあるだな
何をしたいのか具体的に書かずに、省略した謎コードを添削させるという
402:名無しさん@お腹いっぱい。
17/11/13 17:54:41.25 fTwFmDsma.net
なぜそうしたいのかなんて書く必要ねーからだろアホ
403:名無しさん@お腹いっぱい。
17/11/13 17:56:04.52 fTwFmDsma.net
質問に答えねーでケチつけるだけのゴミがでてくることこそあるある
404:名無しさん@お腹いっぱい。
17/11/13 18:07:11.52 GHdXBXoe0.net
クイズ問題だと思って答えれば良いってことだな。
405:名無しさん@お腹いっぱい。
17/11/13 18:10:32.01 GHdXBXoe0.net
^b::
^a::
send,^c
return
406:名無しさん@お腹いっぱい。
17/11/13 19:13:13.64 uV0ePfEm0.net
いやいやそこでクイズに答えてしまうと質問者は己のコードミスに気が付かないまま終わるで
send,^a はどこ行っちゃったんですかねぇ
407:名無しさん@お腹いっぱい。
17/11/13 19:19:50.16 uV0ePfEm0.net
ああ^cと^a間違えてるわけじゃなくてソフトウェアホットキー有効にしたいのね
#usehook外せばいいんじゃないすか
408:383
17/11/13 20:15:26.75 fTwFmDsma.net
>>389
すいませんその方法も使えないんです。
>>391
そうですソフトウエアホットキーを使いたいということです。
ですが#usehookや$がないと無限ループがおこるとかリスクがあるみたいなのでもう少し調べてなかったらあきらめます。
ありがとうございました。
409:名無しさん@お腹いっぱい。
17/11/13 21:47:08.56 uV0ePfEm0.net
無限ループ起こるのは
^a:: send,^a
とかやった場合だよ
A_ThisHotkeyと同じものをsendしたい場合だけ ラベルに$つければいいだけじゃね
410:名無しさん@お腹いっぱい。
17/11/14 23:10:37.76 5FT+P57l0.net
ダメだ。マウスエミュレーションじゃゲーム上でカメラ動かないわ
何が条件なんだろう
411:名無しさん@お腹いっぱい。
17/11/17 20:21:21.45 v4vSzIoOa.net
3つを一度に比較ってできませんか?
space::
a:=10
b:=20
c:=30
z:=(a < c > b)
tooltip,%z%,600,800
return
412:名無しさん@お腹いっぱい。
17/11/17 21:19:49.16 /dyoxVd70.net
そういう関数を作ればいい
413:名無しさん@お腹いっぱい。
17/11/17 21:26:38.63 Bg65fQp30.net
ここ2,3か月前に同じような質問見たな
まああれは質問というか文句言いに来て恥かいただけだったが
414:名無しさん@お腹いっぱい。
17/11/18 00:44:39.76 9bPtI36B0.net
and使うのが嫌ってこと?
まとめて一行で書く方法が分からないってこと?
415:名無しさん@お腹いっぱい。
17/11/18 01:29:01.86 /66QZllda.net
だいぶ説明不足でしたすいません。
3つの数字は常に変動してて、ホットキー押したときにそのとき一番大きい値のを選択するってことがしたいです。
ifを沢山書けばできるけど一行でやる方法ないかなあと調べたのですが分からず。
一つ増えまして4つで比較ができればいいのですが。
416:名無しさん@お腹いっぱい。
17/11/18 02:02:09.20 s0iz+kxI0.net
z := (a >= b ? a : b) >= ( c >= d ? c : d ) ? (a >= b ? a : b) : ( c >= d ? c : d )
1行で書けるけど、1年後とかに見たら何をやってるのか分かり難いので
ifで書いといたほうが視認性はいいんじゃないかな
417:名無しさん@お腹いっぱい。
17/11/18 02:03:39.21 9bPtI36B0.net
参考演算子使えばやれないこともないが素直にif書くほうが楽だと思うわ
418:名無しさん@お腹いっぱい。
17/11/18 02:04:14.18 9bPtI36B0.net
おっとかぶった
419:名無しさん@お腹いっぱい。
17/11/18 02:26:47.34 vo5Qrzy00.net
可変長引数を取るmax関数でも定義すればいいじゃない
Max(params*) {
t := params[1]
Loop % params.MaxIndex() - 1 {
b := params[A_Index + 1]
t := t > b ? t : b
}
Return t
}
a := 10
b := 20
c := 30
d := 40
MsgBox % Max(a, b, c, d)
Return
420:名無しさん@お腹いっぱい。
17/11/18 07:53:06.18 DK0R+z7u0.net
>>403
これはすばらしい。 こんなこと出来たんだ
421:名無しさん@お腹いっぱい。
17/11/18 09:51:33.02 73eJM4Pl0.net
integer限定でよければこういう方法も
Max_integer(params*) {
o := object()
Loop % params.MaxIndex() {
o[params[a_index]] := true
}
Return, o.MaxIndex()
}
422:名無しさん@お腹いっぱい。
17/11/18 15:19:43.22 KK0M+Lkna.net
質問です
対話形式プログラムの自動化ってできるんでしょうか?
コマンドプロンプトに対してControlSendで送ることは出来ても
返答メッセージの読み取り方が分かりません。
423:395
17/11/18 17:29:00.55 9x5Xxm/fa.net
>>400
>>403
>>405
おー、すごい
できるようになりましたありがとうございました。
ahkを一年以上使ってるけどwiki読んだり検索して似たようなことやってる人のスクリプトを見てもわからなくてちょっと改変して移植もできない場合が多すぎて自分のポンコツぶりが悲しいw
424:名無しさん@お腹いっぱい。
17/11/19 10:41:23.26 Z14m3kUG0.net
>>406
uwscは doscmd で出来るけど、ahkでは試そうとしたこと無いので出来るかどうか解らない
425:名無しさん@お腹いっぱい。
17/11/19 12:25:42.07 S3PDgYNS0.net
>>406
大昔に無理やり実装してた人はいた、オリジナルANSI版の頃のだからたぶん今だと動かないと思うが
ここの プロセスを起動して標準出力を読み書き
URLリンク(lukewarm.s101.xrea.com)
最近のだとこの辺とか?
AutoHotKey_Lで、標準出力を得る方法。
URLリンク(poimono.exblog.jp)
単純に出力見たいだけだったらファイルにリダイレクトしちゃうのが簡単だけど
(書き込み規制に引っかかるので全角化)
RunWait, cmd.exe /c es.exe 検索文字列>temp.tmp,,Hide /UseErrorLevel
FileRead,var,temp.tmp
msgbox,%var%
426:名無しさん@お腹いっぱい。
17/11/19 13:05:22.35 TLd+5rvh0.net
|clip
427:名無しさん@お腹いっぱい。
17/11/19 16:27:40.09 wn0nPePn0.net
>>406
例えば rmdir を使ってフォルダとその中にあるファイルを削除する場合
app := ComObjCreate("WScript.Shell").Exec(ComSpec)
app.StdIn.WriteLine("rmdir /s D:\DeleteMe") ; D:\DeleteMe と DeleteMe フォルダの中にあるファイルを削除するコマンド
W
428:hile (1) { ; DeleteMe フォルダの中に一つでもファイルやフォルダがないと無限ループするから注意 msg .= app.StdOut.Read(1) ; ReadLine だとこちらの入力待ちの時にデッドロックする If (InStr(msg, "よろしいですか (Y/N)?")) { MsgBox % msg app.StdIn.WriteLine("Y") ; 確認を求められたので y を入力して削除を実行 break } } app.StdIn.WriteLine("exit") Return こちらの入力待ちになるまでの処理は色々なやり方があると思う
429:名無しさん@お腹いっぱい。
17/11/19 16:56:27.05 X7pjzKSy0.net
URLリンク(autohotkey.com)
430:406
17/11/20 09:16:01.49 r9poHEzN0HAPPY.net
いろんなご意見ありがとうございます!
>>408
対話型には向いてなさそうな…
>>409
url一つ目のやつは試してみたけどahk_lだと動きませんでした
url二つ目のやつはout of memoryとでて、こっちもダメでした😭
>>411
これです!
なるほどこうやってCOMオブジェクトを使うんですね
すごい勉強になりました
>>412
原理的には411とほぼ一緒みたいですね
WINAPIはいまだにさっぱりよくわかりません
高速でControlSendを使うと
キーボードからの入力がたまにロックされて使えなくなってしまうことがあったので
COMオブジェクトで直接読み書きできるならそれにこしたことないですね
431:名無しさん@お腹いっぱい。
17/11/22 03:26:57.07 DaaBsnMY0.net
キーの長押しすり抜け病って修正されてるのかな?
未だなら早よ!
これがちゃんとできないとカーソル移動とか怖くてAHKは使えないんだよ
致命的な不具合だ!
432:名無しさん@お腹いっぱい。
17/11/22 06:40:23.02 ee0mAgGh0.net
一生治らないから諦めろ
433:名無しさん@お腹いっぱい。
17/11/23 11:33:48.10 IP8Uaqwm0.net
>>415
こんなポンコツよく使ってると感心する 信じられないw
もちろんこれがゆえにkeyhacに移行したわ!
434:名無しさん@お腹いっぱい。
17/11/23 12:32:45.22 AEqjMUC50.net
>>416
ハイハイ二度と来るなよ
435:名無しさん@お腹いっぱい。
17/11/23 12:36:42.73 6CZftXIg0.net
ここ数年で作ったものを見返してみたら全くホットキーと関係ないものばかり
なんで俺はAHKを使ってるんだろう…?
436:名無しさん@お腹いっぱい。
17/11/23 14:25:49.30 ekf0KvoP0.net
>>416
>>246
437:名無しさん@お腹いっぱい。
17/11/23 14:48:38.73 S1ijK/CVM.net
ちょっとしたファイル操作とかでもahkでやろうとする癖は付いてしまってるな
本来ならbatやwshあたりでやればいいんだろうけど
438:名無しさん@お腹いっぱい。
17/11/23 21:58:00.87 IP8Uaqwm0.net
本当にAHKは使いもんにならんのよ!
キーログを見るツールとかを立ち上げてAHKの動作を確認したんだが
スクリプトがまともに動かんのよ、ダメだろこれは!
ちゃんとフックできてないんよ、笑うわw
439:名無しさん@お腹いっぱい。
17/11/23 22:19:25.20 AEqjMUC50.net
>>421
だからもう来るなよ
頭沸いてんの?
440:名無しさん@お腹いっぱい。
17/11/23 22:38:36.55 IP8Uaqwm0.net
AHKって宗教か?
本当に改善が必要な部分を指摘してるのにまともに考えられないの?
だよ
441:名無しさん@お腹いっぱい。
17/11/23 23:07:41.31 AEqjMUC50.net
>>423
お前こそ宗教なの?
気持ち悪いから早く消えろよ
442:名無しさん@お腹いっぱい。
17/11/24 00:16:07.99 uAE0Il4A0.net
すり抜けとか押しっぱなしの指摘なんて散々されてると思ってたけど、そうでも無いの?
443:名無しさん@お腹いっぱい。
17/11/24 00:28:07.79 VrzeCVMba.net
/ヽ /ヽ
/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | ハサミ が // ___ \ ::::::::::::::|
| | 使エネーヨ | | | U :::::::::::::|
| | ヽ(`Д´)ノ.|U | | ::::::U::::|
| | >>421 | ├―-┤ U.....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
444:名無しさん@お腹いっぱい。
17/11/24 00:40:22.15 2kxbHRR30.net
いうても困らない範囲内でしか使ってないからなあ
そもキーリピート発生するキーをホットキー長押ししようとは思わんし
ahkは名前こそAutoHotkeyだがキーカスタマイズだけが目的なソフトじゃないしな
ウィンドウ制御とかいらんならahkである必要性は薄い
ソフトによって得手不得手あるんだし自分の目的に合ったもん使えばいいよ
445:名無しさん@お腹いっぱい。
17/11/24 05:53:07.19 nG64IX5N0.net
GUIについての挙動についてです
GUI,Add, GUI,Showなどで作ったウインドウ上でスペースキーを押したときの挙動
ってどこかに書いてあるでしょうか
このときに別の挙動をするように、
#IfWinActive
でこのGUIがアクティブになったときに
Space:Msgbox TEST
としても反応しないのです
で、このGUIウインドウ上でアクティブなボタンが実行されます
GUIがアクティブのときにSpaceキーで別の挙動をするようにする方法を
教えてください
446:名無しさん@お腹いっぱい。
17/11/24 05:59:36.57 FhfG+MVc0.net
AHKでは長押しカーソル移動がまともにできませんよ
ソースコードをテキストエディタで開いてカーソル移動したら
意図しない文字が入力されてしまうなんて怖くて使えませんな
447:428
17/11/24 06:10:17.36 nG64IX5N0.net
テスト用のサンプルスクリプトを作りました
スペースキーが出来ません
Gui,Add,Button,GButton1 W242 H30,ボタン1
Gui,Add,Button,GButton2 W242 H30,ボタン2
Gui,Show, , テスト
return
Button1:
MsgBox ボタン1
return
Button2:
MsgBox ボタン2
return
#IfWinActive, テスト
Space::MsgBox SPACE
Up::MsgBox UP
#IfWinActive
448:名無しさん@お腹いっぱい。
17/11/24 08:25:23.92 uAE0Il4A0.net
>>429
俺の環境でも再現できるかどうか実験したいから、そのスクリプトを書き込んでくれるとありがたい。
449:名無しさん@お腹いっぱい。
17/11/24 10:04:29.03 H9F6LVQ/a.net
伸びてると思ったら変なのが居た
450:名無しさん@お腹いっぱい。
17/11/24 11:37:55.77 L3hSVCH20.net
>>430
Spaceキーを押したらmsgboxに SPACE と表示されるよ
451:名無しさん@お腹いっぱい。
17/11/24 12:01:15.75 /KejfmoM0.net
>>429
だから使わなきゃいいだろ
思考力停止してんの?
452:名無しさん@お腹いっぱい。
17/11/24 12:07:56.16 nG64IX5N0.net
>>433
ごめんなさい。 いまやったら出来ました。おかしいな、さっきは何回やっても出来なかったのに
どうも私の環境のようです。 この質問は撤回します
453:名無しさん@お腹いっぱい。
17/11/24 12:25:49.45 QRaiE2Jja.net
2バイト文字でスクリプト書かないほうがいいぞー
454:名無しさん@お腹いっぱい。
17/11/24 12:58:05.32 RTDitcQE0.net
ネットワーク上にあるファイルをFileCreateShortcutでショートカット作りたいんですが、
処理が異常に遅いんですけど、10秒くらいかかるんですけど、何か対処法
知っていたらご教授お願いします。
455:名無しさん@お腹いっぱい。
17/11/24 13:31:37.36 V79XzJDg0.net
>>436
くわしく
456:名無しさん@お腹いっぱい。
17/11/24 13:33:56.53 RTDitcQE0.net
>>437です。
自己解決したので報告します。
FileCreateShortcut, "%filePath%", %shortcutName%
といった具合に%filePath%にはダブルクオーテーションを付ける。
以上です。
457:名無しさん@お腹いっぱい。
17/11/24 14:12:59.90 X+2EL7n0a.net
>>438
ラベル名の話。テストとか
458:名無しさん@お腹いっぱい。
17/11/24 14:55:45.26 uBW3Ah/90.net
>>431
自分は>>249じゃないが>>136試してみたら確かに"すり抜け"っ
459:つうのは発生した 例えばメモ帳でctrl押しながらhを押しっぱなしにして十数秒~数十秒そのままにしてると 文字の「h」が入力されたり「置換」ダイアログが現われたりした win7 32bit home ahk 1.1.26.01 自分はこんな操作しないから困らないな
460:名無しさん@お腹いっぱい。
17/11/24 14:57:52.80 V79XzJDg0.net
>>440
いやだから具体的に何故ダメなのか教えて
461:名無しさん@お腹いっぱい。
17/11/24 15:59:58.59 hNkbZ/Nua.net
>>442
俺が引っかかった事例としては関数呼び出しのときにエラー吐いたり、文字化け起こしたり、ファイルの保存形式によってはそのまま貼るとエラー吐いたりして二度手間になったり、コンパイルする時エラー吐いたりした
462:名無しさん@お腹いっぱい。
17/11/24 16:50:37.32 MGSGyO6j0.net
GUIのボタンです
Gui,Add,Buttonで作ったボタンの色を変えることは出来ますか
Gui, Color, Red, Blue
とかやってみたのですが、ウインドウの背景は変わってもボタンの色が
変わりません
ボタンはひとつづつ個別に色を変えたいです
オプションのBackgroundもやってみたのですが、良くわかりません
Cnもボタンのテキストの色が変わりません
463:名無しさん@お腹いっぱい。
17/11/24 17:18:51.48 jYHL/YfM0.net
>>436
UTF8だから3バイトじゃないの
464:名無しさん@お腹いっぱい。
17/11/25 00:41:35.70 LFO66Rjj0.net
7-zip32.dll使いたくて↓を参考にDllcallのめぼしいところを Astrに直してみたんですがA32.exeでしか上手くいかないです
URLリンク(mimizun.com)
U32.exeはLPCSTRの型をAStrにすると戻ってこなくなっちゃう
Strのままだと文字化けしちゃう
VarSetCapacityのポインタ回りだと思うんですがどう直したらいいかわかる方いますでしょうか
ArcGetName(){
/*** int WINAPI SevenZipGetFileName(HARC _harc, LPCSTR _lpBuffer, int _nSize) ***/
global
;;;size:=VarSetCapacity(buf,256)
;;;DllCall(ArcLibPrefix . "GetFileName",UInt,hArc,Str,buf,Int,size,Int)
size:=VarSetCapacity(buf,256*2)
DllCall(ArcLibPrefix . "GetFileName",UInt,hArc,AStr,buf,Int,size,Int)
return buf
}
465:名無しさん@お腹いっぱい。
17/11/25 01:07:14.55 g6gRHPWN0.net
憶測だけど GetFileName が UTF16 じゃなくて CP932 で返すんでしょ。だから U32 を使ってそのまま使おうとすると文字化けする
DllCall した後に、StrGet(buf, "cp932") すればいいんでない
466:名無しさん@お腹いっぱい。
17/11/25 05:36:53.80 GERaD2vLM.net
これってマウスの操作はできないんだっけ?
467:名無しさん@お腹いっぱい。
17/11/25 09:19:47.50 5xCYZF4O0.net
できる
468:名無しさん@お腹いっぱい。
17/11/25 10:20:06.46 96jiAY9X0.net
>>444
基本的にできない
応用的には超めんどい(スレリンク(software板:659番),661)
Pictureで代用するのが早いと思う
ButtonではなくCheckbox, ComboBox, DropDownList, Edit, ListBox, Radio, Textのいずれかなら以下を使うとできる
[CLASS] CtlColors - color your controls (2017-10-30)
URLリンク(autohotkey.com)
469:名無しさん@お腹いっぱい。
17/11/25 11:42:19.29 LFO66Rjj0.net
>>447
return buf
↓
return StrGet(&buf, "cp932")
でできました!
ついでに 7-zip64.dll 入れてライブラリ参照元書き換えたらU64.exeでも動きました
ありがとうございます!
470:名無しさん@お腹いっぱい。
17/11/25 11:56:20.53 lMhgyyaw0.net
たとえば、
label1:
filename=test1
gosub routine
return
label2:
filename=test2
gosub routine
return
label3:
filename=test3
gosub routine
return
と、番号が違うだけでほかは同じスクリプトが20個くらいある場合、これって
ずらっと書かないとダメなのでしょうか。 それともAHKらしく、
loop,20
{
label%A_index%:
filename=test%A_index%
gosub routine
return
}
みたいな技って使えませんか。これではダメだと思いますが。スクリプト生成まではやってくれないのでしょうか
471:名無しさん@お腹いっぱい。
17/11/25 12:00:28.80 kBt1V0zO0.net
>>452
それなら、filenameを引数にした関数で良いんじゃないかな
472:名無しさん@お腹いっぱい。
17/11/25 12:07:18.25 lMhgyyaw0.net
そう言われると思いましたが、これは一例で関数は使えないときでお願いします
スクリプトの展開まではしてくれないのですか
473:名無しさん@お腹いっぱい。
17/11/25 12:28:22.23 YtrqIety0.net
ラベルの省略はできないが処理はまとめられる
label1:
label2:
label3:
label4:
label5:
label20:
StringReplace filename, A_thisLabel,label,,ALL
gosub routine
return
ラベルごとループで作成したいなら一旦ファイルに書き出して .ahkスクリプトとして実行するしかないのでは
loop,20
{
FileAppend,label%A_index%:,temp.ahk
FileAppend,gosub routine,temp.ahk
FileAppend,return,temp.ahk
}
run,temp.ahk
474:名無しさん@お腹いっぱい。
17/11/25 12:39:03.92 lMhgyyaw0.net
>>455
なるほど、A_thisLabelを使うというのは思いつきませんでした
ちょっとやってみましたが、これは使えそうです
それと、temp.ahkを出力するやり方ですが、これもインクルードファイルを自動生成させて
それを読み込ませるという方法が出来そうですね
ahkがインクルードファイルを読み込むタイミングを確認する必要がありそうですが
ちょっと期待できそうですw
インクルードファイルがなければ自動生成させてreloadで再実行し、ファイルが出来てれば
自動生成処理は飛ばすとか
475:名無しさん@お腹いっぱい。
17/11/25 12:46:13.64 E2bEhulC0.net
いろいろわかったつもりになってるだけのことが多そうな人だから
関数が使えないと言うのもきっと思い込みなんだろう
476:名無しさん@お腹いっぱい。
17/11/25 12:49:04.66 lMhgyyaw0.net
ラベルは最初からないとエラーになってしまうのか
ならインクルードファイルではダメなのかな
でもthisLabelが使えるのは教えて頂いて助かりました
477:名無しさん@お腹いっぱい。
17/11/25 13:02:38.22 lMhgyyaw0.net
インクルードファイルを使う方法も、ラベルだけを宣言しておいたファイルを作っておいて
その後自動生成させれば出来ました。ありがとうございます
478:名無しさん@お腹いっぱい。
17/11/25 14:01:31.19 YtrqIety0.net
呼び元を動的callにすればdummyラベル処理も省けると思われ
if IsLabel(label%no%){
gosub,label%no%
}
479:名無しさん@お腹いっぱい。
17/11/25 15:17:00.90 b+uTWP1T0.net
>>431
「AutoHotkey:キー押しっぱなし病・ホットキーすり抜け病対策の研究」
URLリンク(did2memo.net)
480:名無しさん@お腹いっぱい。
17/11/26 01:39:07.12 M6Ym3I8na.net
そういえば俺の環境下だとすり抜け最近ないな
スクリプトの書き方でかなり変わるのかも
481:名無しさん@お腹いっぱい。
17/11/26 07:00:55.53 JvtGy1OW0.net
>>462
キーログソフト(インストール不要)を立ち上げて負荷を掛ける顕著に再現できる
URLリンク(kts.sakaiweb.com)
482:名無しさん@お腹いっぱい。
17/11/26 08:14:54.78 Dha5Tkpk0.net
ホットキーを押したら特定の変数をリストビューに追加する事って出来ますか?
リストビュー初期化時にLV_Addで追加する事は出来たのですが、リストが作られた後に追加する方法が分かりません。
483:464
17/11/26 08:25:47.32 Dha5Tkpk0.net
自己解決しました。
LV_Addで変数を%で囲ったらダメでした。外したらいけました><
484:名無しさん@お腹いっぱい。
17/11/26 20:16:06.88 dJtA2dZF0.net
現在のCoordModeを参照する方法ってありますか?
関数内でのみScreenにしたいのですが。
485:名無しさん@お腹いっぱい。
17/11/26 20:18:04.92 tWW84a3A0.net
A_CoordMode
486:名無しさん@お腹いっぱい。
17/11/26 20:57:46.19 dJtA2dZF0.net
A_CoordModeToolTipみたいな感じなんですね
A_CoordModeだけで試してて「出ないじゃん」とか思ってました
ありがとうございます
487:名無しさん@お腹いっぱい。
17/11/27 19:53:12.22 EWIA3ZB
488:Q0.net
489:469
17/11/27 19:56:01.38 EWIA3ZBQ0.net
すいません、
Win10 + Visual Studio community 2017 も
管理者権限だとAHKは動かなくて
管理者権限でないとAHKが動きました。
これは何なんだろう
490:名無しさん@お腹いっぱい。
17/11/28 01:35:37.31 mrDQFh/p0.net
確実にAHKがダメだから
この際、keyhacに乗り換えるのが賢明、時間が勿体無い
491:名無しさん@お腹いっぱい。
17/11/28 01:49:44.36 yiIB//of0.net
いつまでこのスレに粘着してんだよ
早く消えればいいのに
ここに居る人はkeyhacじゃ出来ない事が腐るほどあるからahk使ってんだし
492:469
17/11/28 03:26:21.76 xNQcaR7I0.net
KeyHacも試してみましたが、こちらもやはり
Visual Studioを管理者権限で実行するとキーリマップが効かないみたいですね・・
493:名無しさん@お腹いっぱい。
17/11/28 06:51:35.58 58J1MEBb0.net
>>473
一応確認しとくけど、Visual Studioそのものを操作したいなら、管理者権限が必要かもしれないのはAHKの方だぞ
AHKの側に権限が無いなら、>>469-470 は正常動作
494:名無しさん@お腹いっぱい。
17/11/28 11:52:35.53 kVU4R78e0.net
keyhac最高!!
495:名無しさん@お腹いっぱい。
17/11/28 12:13:32.39 vCAPOVUQa.net
きーはっくってのは使ったことがない
496:名無しさん@お腹いっぱい。
17/11/28 14:03:02.90 marODPdK0.net
ウインドウのハンドルを取って来て、そのウインドウ上に絵を描くことって出来ますか?
Dll等を使っても構いません
あるウインドウがあって、特定の場所がはっきりわかるように色を上書きして塗りたいのです。
既存のウインドウにデコレーションするというか
AHK以外でも、もしそういうことが出来る方法をご存じなら教えてください
497:469
17/11/28 16:51:01.37 xNQcaR7I0.net
>>474
ありがとう!解決しました!
おっしゃる通りAHKを管理者権限で実行したらVisualStudioでもきちんと動きました
498:名無しさん@お腹いっぱい。
17/11/28 17:10:30.64 Aj3x6nim0.net
URLリンク(autohotkey.com)
UIA有効じゃダメなん?
499:名無しさん@お腹いっぱい。
17/11/28 19:00:19.64 mbteePMb0.net
>>477
WinGetでハンドルが取れる
WinGetPosでウィンドウのサイズと位置が取れる
Guiでウィンドウにかぶさるようなウィンドウを作ったり画像を表示できる
WinSetでウィンドウの表示領域や透明度をいじれる
こんなとこ?
500:477
17/11/28 19:47:20.21 marODPdK0.net
>>480
とってもいいヒントを頂きました。ウインドウに直接描画するのではなく、別のウインドウを作って
それにお絵かきして上に載せるということですね。で、WinSetで表示領域を加工するとか
ちなみに、AHKのGUIで、ツールチップのようにタイトルとか枠とかのないほんとにプレーンなウインドウって
作れますか
501:名無しさん@お腹いっぱい。
17/11/28 20:41:51.03 lLg2f02R0.net
>>481
F1::
Gui, Color, 00AA00
Gui, -0x00C00000 +ToolWindow
Gui, Show, W300 H200
Return
みたいな感じかな
あとはマウスイベント透過するとかWindowの切り抜きとか透過率とかはWinsetで指定
さらにWindowの移動やサイズ変更に追従させるとか、非アクティブ時や最小化時にhideするとかの必要があればそれも考慮する必要あるかな
502:名無しさん@お腹いっぱい。
17/11/28 20:49:17.54 marODPdK0.net
>>482
すばらしい。ありがとうございました。これは参考になりました
503:名無しさん@お腹いっぱい。
17/11/28 20:50:45.05 marODPdK0.net
ああ、実際にこれ、動かして試してみましたよ。これをベースにいろいろと考えてみます
504:名無しさん@お腹いっぱい。
17/11/29 17:22:52.94 n/Ybzuan0NIKU
505:.net
506:名無しさん@お腹いっぱい。
17/11/29 23:31:00.65 Fqluvrxu0NIKU.net
MGLのジェスチャ表示が色付きだけどあれはツールチップじゃなくてGUIをツールチップっぽくしてるだけなのかな?
MGLのソース見てみたら分かるかも
507:名無しさん@お腹いっぱい。
17/11/29 23:37:42.39 GQggD9Lg0NIKU.net
>>485
progressやguiなら色やサイズを変更可能なのでTooltipとして代用可能
スレリンク(software板:134番)
508:名無しさん@お腹いっぱい。
17/11/30 15:57:06.36 S5EWhTc40.net
特定のコントロールにマウスオーバーしただけで、そのコントロールにフォーカスを移すことは出来ますか?
教えてエロいひと。
509:名無しさん@お腹いっぱい。
17/11/30 17:17:53.07 JYsA73zK0.net
1.MouseGetPosでマウス下のコントロールを取得できる
2.SetTimerで常にマウス下のコントロールを監視
3.取得したコントロールにControlFocus(必要に応じてWinActivateも追加)でフォーカスを移す
でどうだろう。スマートではないが。
510:名無しさん@お腹いっぱい。
17/11/30 18:19:12.52 S5EWhTc40.net
>>489
ありがとうございます。
本来の目的を達成する方法はあるのですが。。
マウスオーバーはトリガーに出来なさそうですね。。。
511:名無しさん@お腹いっぱい。
17/11/30 19:21:19.06 YADM5yWfd.net
再生デバイスを変更して
ポップアップに変更した端末名
が出るようなスクリプトを
Windows10でやり方教えて
いただけないでしょうか?
512:名無しさん@お腹いっぱい。
17/11/30 23:52:51.72 z9WhXSkf0.net
>>488
割りとかんたん。
タイマーでモニターしてマウスオーバーでウィンドクラスを取り続けて変数によけとく
変数内のウィンドクラスとマウスオーバーで取ったクラスが違ったらそのウィンドクラスをアクティベートする
以前作ったけどウィンドの順序が切り替わりまくってボツにした
513:名無しさん@お腹いっぱい。
17/11/30 23:54:25.60 z9WhXSkf0.net
ホットキーをトリガーにするのが嫌ならセットタイマー判定とかWhile判定でええんよって話
514:名無しさん@お腹いっぱい。
17/12/01 11:10:36.81 TiVxu/Rn0.net
Run, explorer `/select`,"%path%"
ってやるとQTTabBarで新しいウィンドウが開いてしまうから
ファイル名を指定して実行でやってるんです。下記のように。
string = explorer `/select`,"%path%"
MGU_ExecuteByFileName(string)
MGU_ExecuteByFileName(exeString){
Send, #r
WinWaitActive, ファイル名を指定して実行,, 5
MGU_PasteString(exeString)
Send, {Enter}
Return
}
MGU_PasteString(string, pasteKeys := "^v"){
Backup := ClipboardAll
Clipboard := string
Send,%pasteKeys%
Sleep, 200
Clipboard := Backup
}
っていう風にしてるんですけど、これだとたまーーに実行文字列がNullになったり
するんで、もっといい方法ないですか?
ご教授お願いします。
515:名無しさん@お腹いっぱい。
17/12/01 21:47:06.69 rX6n9K6c0.net
>>494
OHP 見た感じ COM が使えそうなんだけど、どうだろう
URLリンク(qttabbar-ja.wikidot.com)
qt := ComObjCreate("QTTabBarLib.Scripting")
qt.Open(path)
516:名無しさん@お腹いっぱい。
17/12/01 23:41:13.96 3bBdrdON0.net
>>494
QTTabBarは使ったことないのでいい加減だけど、タブブラウザみたいに
新規ウインドウで開くか新規タブで開くかオプションで設定できないのかな?
517:名無しさん@お腹いっぱい。
17/12/02 10:28:46.57 kgC/DzRO0.net
>>494です。
>>495
どうも、ファイルを選択してフォルダを開くメソッドが無いみたいなんですが、
どうでしょうか?
>>496
shellexecutehookを利用してキャプチャするにチェックをしても、別のプロセスで
フォルダーウィンドウを開くのチェックを外しても
Run, explorer `/select`,"%path%"
とすると、新規ウィンドウで開いてしまうみたいです。
あと報告�
518:ナす。 Clipboard := string の後に Sleep, 100 を入れたらNullになる症状が今のところ出ていません。
519:名無しさん@お腹いっぱい。
17/12/02 10:39:02.57 /oo7d0lg0.net
>>491
少し脱線するけど俺は「App=Device」というコマンドラインで再生デバイスを変更できるフリーソフトを使用してる
AHKとこれを組み合わせてポップアップを表示したりすればお望みのことが出来るんじゃないかな
環境によっては管理者権限で実行する必要がある
520:名無しさん@お腹いっぱい。
17/12/02 11:44:01.02 kgC/DzRO0.net
>>495
qs := ComObjCreate("QTTabBarLib.Scripting")
qs.Open("C:\Users\UserName\Documents")
aw := qs.ActiveWindow
at := aw.ActiveTab
at.SelectedItems := "Book2.xlsx"
と記述したらできました!ありがとうございました!
521:名無しさん@お腹いっぱい。
17/12/02 12:08:48.75 TChgRzeMM.net
解決したみたいだから蛇足だけど起動中のエクスプローラ(qttab)と
ahkrun、ファイル名runで管理者権限の有無が統一されてなかったとか?
ファイル名runでだけ別プロセスにならない理由がよく分からんね
522:名無しさん@お腹いっぱい。
17/12/02 15:13:06.03 kgC/DzRO0.net
>>494です。
>>500
試しに
RunAs, %USERNAME%, %PASSWORD%
Run, explorer `/select`,`"%filePath%`"
RunAs
とやっていたところを、単に
Run, explorer `/select`,`"%filePath%`"
と書き換えてみましたが、どちらとも新規ウィンドウで開いてしまいます。
コマンドプロンプトからやってみても同じでした。
ファイル名を指定して実行のexeを見てみたところ、explorer.exeとなっていた
のでこれが原因ではないでしょうか?
523:名無しさん@お腹いっぱい。
17/12/02 20:16:38.83 uHWvz9WS0.net
すみません、以下の場合に複数のキーの状態をまとめて指定する事は可能でしょうか?。
If GetKeyState("RButton", "P")
msgbox, 押されている
else
msgbox, 押されていない
この部分を
If GetKeyState("RButton" "MButton" "XButton1", "P")
とか
If GetKeyState("RButton" and "MButton" and "XButton1", "P")
とか
If GetKeyState("RButton" || "MButton" || "XButton1", "P")
とか
If GetKeyState("RButton" or "MButton" or "XButton1", "P")
とか素人なりにやってみましたが、全くダメでした。
宜しくお願いします。
524:名無しさん@お腹いっぱい。
17/12/02 20:34:40.15 cHZIOoQo0.net
やってないから動くかわかんないけど、普通に考えるなら
If( GetKeyState("RButton", "P") or GetKeyState("MButton", "P") or GetKeyState("XButton", "P") )
msgbox Hit
とか
525:名無しさん@お腹いっぱい。
17/12/02 20:58:57.20 uHWvz9WS0.net
>>503
キタ━━━(゚∀゚)━━━ !!!
キタ━━━(゚∀゚)━━━ !!!!!
顔射感激雨あられぇ!
本当にありがとうございました!
526:名無しさん@お腹いっぱい。
17/12/02 23:02:31.70 WK+VS/5y0.net
>>503
「and」や「||」や「or」を知ってるのに書式が分からないって・・・
wikiとかhelp見ないで適当にやってできないから質問した感がもの凄くあるんだが・・・
527:名無しさん@お腹いっぱい。
17/12/02 23:07:16.71 uHWvz9WS0.net
>>505
これが素人AHK使いの現実何です。
お察し下さい。
528:名無しさん@お腹いっぱい。
17/12/02 23:16:56.10 cHZIOoQo0.net
ルールブックがあってもその見方がわからんってレベルだろ
でもちょっとやれば、すぐにわかるようになるよ
529:名無しさん@お腹いっぱい。
17/12/02 23:26:20.75 uHWvz9WS0.net
はい、精進します。
530:名無しさん@お腹いっぱい。
17/12/03 07:59:09.08 QukwnooP0.net
andとorは数学の集合でやるからプログラム素人でもわかるよ。
「かつ」と「または」のことだ。縦線は初めてみたときわからんかったので
ヘルプみたが。
531:名無しさん@お腹いっぱい。
17/12/03 08:08:36.38 Y2oOWibi0.net
中学校かよここは
532:名無しさん@お腹いっぱい。
17/12/03 10:41:00.60 OIZ/xCmR0.net
>>499です。
前述した方法で行うとAHK起動後、約5分くらいで下記のエラーが出ます。
Error.File:C:\Apps\MouseGestureL\Config\MG_User.ahk
Error.Line:771
Error.Message:0x8013150B -
Source:
533: mscorlib Description: オブジェクト '/62092dc6_d0c8_47dd_803a_d87384c15e0f/sqpempia+y4xaa3s532qntda_2.rem' が切断されたか、サーバーに存在しません。 HelpFile: (null) HelpContext: 0 Error.What: Error.Extra: ActiveTab aw := qs.ActiveWindow at := aw.ActiveTab at.SelectedItems := "Book2.xlsx" を下記のように修正したりしましたがエラーが出ます。 qs.ActiveWindow.ActiveTab.SelectedItems := fileName どうもタイムアウトエラーのようなのですが、下記のページの解決策のように AHKで記述する方法がわかりません。 http://bbs.wankuma.com/index.cgi?mode=al2&namber=21484&KLOG=41 どなたか解決策をご存知の方、ご教授お願いします。
534:名無しさん@お腹いっぱい。
17/12/03 10:43:25.22 vwDuTRcl0.net
Dllがよくわかりません。詳しく説明してるサイトとかないですか
535:名無しさん@お腹いっぱい。
17/12/03 11:38:27.14 OIZ/xCmR0.net
こんなのとかどうでしょう?
URLリンク(support.microsoft.com)
536:名無しさん@お腹いっぱい。
17/12/03 18:02:34.24 Ob6koUHa0.net
>>512
VisualStudio VC++とかやらないとその世界は難しいよ
537:名無しさん@お腹いっぱい。
17/12/03 20:28:38.05 cPf87cAl0.net
winapi関係はほぼVB(A)で覚えたわ
あっちもDeclare宣言必要だから型とか調べるのによくVBの解説サイト見に言ってたわ
今だとMSDN直に見たほうが早いんだろうけど
538:名無しさん@お腹いっぱい。
17/12/03 20:52:39.69 1qkTmGRt0.net
>>512
URLリンク(sites.google.com)
539:名無しさん@お腹いっぱい。
17/12/03 23:38:28.28 3sJMVIk90.net
Mouseclick left
Sleep,aaa
mouseclick left
Sleep,bbb
.
.
Gosub,A
でgosubの処理時間をループするsleepで調整したいのですが
Gosubの処理時間を計る方法ありませんか
540:名無しさん@お腹いっぱい。
17/12/03 23:52:11.18 cPf87cAl0.net
A_TickCountとかA_Nowとか見て処理開始と処理終了で引き算すればいいよ
541:名無しさん@お腹いっぱい。
17/12/04 00:26:00.35 EgqKnQ0L0.net
>>517
; A_TickCount精度10ms
StartTime := A_TickCount
Sleep 1000
MsgBox % A_TickCount - StartTime " (ms)"
; ナノ秒の精度が欲しいなら高分解能タイマ
DllCall("QueryPerformanceCounter", "Int64*", CounterBefore)
Sleep 1000
DllCall("QueryPerformanceCounter", "Int64*", CounterAfter)
MsgBox % CounterAfter*1000 / CounterBefore " (ms)"
return
542:名無しさん@お腹いっぱい。
17/12/04 00:34:18.83 W2przMgQ0.net
StartTime := A_TickCount
Gosub,A
ElapsedTime := A_TickCount - StartTime
MsgBox, %ElapsedTime% milliseconds have elapsed.
これでも可?
543:名無しさん@お腹いっぱい。
17/12/04 00:42:07.14 W2przMgQ0.net
お二人が答えてくれてました。
ありがとうございます!
544:名無しさん@お腹いっぱい。
17/12/04 03:27:44.42 K4EOO4xA0.net
>>511
ComObjCreate("QTTabBarLib.Scripting") を使って、使う度に毎回インスタンスを取得してますか?
グローバル変数に一度取得したあと、使いまわしてたりしませんか
545:名無しさん@お腹いっぱい。
17/12/04 09:05:37.77 x7eWud6V0.net
>>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
546: := 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?
547:名無しさん@お腹いっぱい。
17/12/04 09:05:55.01 x7eWud6V0.net
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
でエラーが出るんですよね~。
理由がいまいち分かりません。
548:名無しさん@お腹いっぱい。
17/12/04 09:57:59.55 ytS1hYKF0.net
Chromeで何十ページも開いて、特定の文字(リンクになってる)をクリックする作業をしてるんですが、自動化したいです
特定の文字をクリックする方法があれば教えてください。
文字の場所はばらばらなので、場所指定のクリックは出来ません。
549:名無しさん@お腹いっぱい。
17/12/04 16:44:32.30 x7eWud6V0.net
>>524です。
結局、その箇所だけjsで対応することにしました。
原因は今も分からずです。
お騒がせしてすいませんでした。
550:名無しさん@お腹いっぱい。
17/12/05 15:13:33.43 8CvOUnVS0.net
>>525
1、最初に開くページをURLDownloadToFileでローカルにファイルとして落としていく
2、落としたファイルの中をLoop(file)、Loop,Readでループさせ、RegExMatch()で検索する
3、目的の文字列があったらRunでそのURLを開く
551:名無しさん@お腹いっぱい。
17/12/06 01:55:08.84 HOg34AwG0.net
>>527
自分には難しかったので、URLコピペして文字追加して貼り付ける方法で代用できました。
ありがとうございました。
552:名無しさん@お腹いっぱい。
17/12/06 10:06:45.47 WwbqM6o60.net
お知恵拝借したく…
getkeystateによってあるキーの押し下げ有無はとれますが そうでなく、「いま押し下げられてるキーを一覧で得る」ような方法はありますか?
ホットキーなど使用していると、自分の環境だとわりと発行されたキーがそのまま残ったりします
今まではプログラム的にキー残りがないよう試行錯誤してましたが、単純に「物理的に、残ったそのキーをもう一回押す」と直ることに気づきました
ちょうど、今押してるキーやマウスを画面表示させられるkbvというフリーソフトを見つけたので、それで一応対応はできなくはないのですが若干起動が重くて…なのでahk内でどうにか調べられたら良いなと思ったのです
553:名無しさん@お腹いっぱい。
17/12/06 12:06:47.69 DTW3oegna.net
>>529
Pはずせ
554:名無しさん@お腹いっぱい。
17/12/07 13:15:23.97 JhBoA+GN0.net
Win7です
GUIでウインドウをたくさん作ると、左下のタスクバーのAHKのところにカーソルを持っていくと
作っただけのウインドウ数のタイトルがポップアップで出てきてしまいます
邪魔なので、これを出さないようにする方法ってありますか
スクリプトは1つなので、1つのスクリプトに1つのポップアップのタイトルで十分だとおもうのですが
555:名無しさん@お腹いっぱい。
17/12/07 15:12:11.79 Q21iGqYS0.net
URLリンク(ahkwiki.net)
556:名無しさん@お腹いっぱい。
17/12/07 15:39:20.80 JhBoA+GN0.net
Ownerですか。やってみます
557:名無しさん@お腹いっぱい。
17/12/07 15:47:48.48 IxXRrrQG0.net
>>529
実験してみたよ。
AHKのSetTimerでAltキーを監視してON/OFF表示させていて、
ついさっきたまたまAltを離しているのにAlt押しっぱなし状態になった。
しかし、AHKのGetKeyState
558:ではOFF判定だった。
559:名無しさん@お腹いっぱい。
17/12/07 16:03:30.20 IxXRrrQG0.net
また同じ症状になった。
今度はON判定。
とりあえず、あてにならんわ。
560:名無しさん@お腹いっぱい。
17/12/08 00:47:16.58 2hAmoAId0.net
529です、いろいろありがとうです
キー押し下げ判定自体も精度アヤシイようだと、ちょっとアレですね
過度にahkでゴチャゴチャやらない方向で運用を見直すようにしてみます
561:名無しさん@お腹いっぱい。
17/12/08 00:58:05.77 zpL6DWI5a.net
すり抜け自体体感してないからすり抜けるすり抜けるってのが何なのかすらわからん
フックは?ディレイは?ちゃんとDown Up使ってる?Sleepも無茶な数値入れてない?
よくわからんな
562:名無しさん@お腹いっぱい。
17/12/08 08:15:37.96 Uq10ElWI0.net
Photoshopでマウスホイールのみで拡大縮小しようとして
Alt Down
Scroll Up
Alt Up
でやると、早くグリグリ回すと拡大しないときが数回に一回発生する。
Sleep入れてもダメ。
これがすり抜け?
563:名無しさん@お腹いっぱい。
17/12/08 08:40:53.67 D3cQmZala.net
それそもそもの書き方がまずいんでは
Alt押し込んでホイール離すを何度も何度も繰り返してるから操作のエミュレートになってない
Alt押し下げた状態でホイール操作を待つっていうスクリプト書かないと
564:名無しさん@お腹いっぱい。
17/12/08 09:56:51.07 lDhAMoXF0.net
>>539
キーやボタンと違ってホイールには押す/離すなんて判定は無いけど
ホイール操作の何を待つんだ?
565:名無しさん@お腹いっぱい。
17/12/08 10:04:31.07 D3cQmZala.net
wheel操作をalt downとalt upで挟めってこと
loopで出来る
566:名無しさん@お腹いっぱい。
17/12/08 10:09:13.41 lDhAMoXF0.net
>Alt押し込んでホイール離すを何度も何度も繰り返してる
この文章からして意味不明だし
567:名無しさん@お腹いっぱい。
17/12/08 10:37:25.55 D3cQmZala.net
まじか、わかってないのか
568:名無しさん@お腹いっぱい。
17/12/08 10:40:23.55 D3cQmZala.net
とりあえず続けてもわかってくれそうになさそうだから帰ったらサンプルコード書くわ
569:名無しさん@お腹いっぱい。
17/12/08 10:47:31.06 lDhAMoXF0.net
「ホイール離すを繰り返す」→そんなことはしてませんよ
なぜなら「ホイール離す」なんで動作は存在しないので
そもそも質問者が何をやろうとしてるのか分かって無さそうだけど
まあ>>538も端折らずに自分が書いたコードそのまま貼った方がいいと思うけど
570:名無しさん@お腹いっぱい。
17/12/08 11:04:48.87 lDhAMoXF0.net
>>544
的外れなサンプルとか要らんよ
俺は質問者でもなければコードなんて求めてないし
ただお前の言う「ホイール離す」とは何のことだ?って聞いただけだし
571:名無しさん@お腹いっぱい。
17/12/08 11:13:40.82 NsN4xeHW0.net
そもそも、Photoshopのオプションに「ホイールスクロールでズーム」という項目があるんだけどな。
572:名無しさん@お腹いっぱい。
17/12/08 11:28:24.09 TIXIlEDB0.net
ワロタ
573:名無しさん@お腹いっぱい。
17/12/08 11:47:56.54 3CDYarjh0.net
AHKのすり抜け問題とは関係ないが
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
574:名無しさん@お腹いっぱい。
17/12/08 12:04:33.70 iQK6bfpR0.net
釣りだったりして。
興味があったんで、541は見たいです。
575:名無しさん@お腹いっぱい。
17/12/08 12:06:49.15 zf1T1yH1M.net
すみません、538です。
出先なので、コードはうろ覚えなのですが、
実際はシフトとアルトを押しながらホイールを回す動作をしたいです。
Shift Down
Alt Down
Wheel Up(Down)
Shift Up
Alt Up
で書いています。ゆっくり回す分には動作しますが、早く回すと抜けが発生すします。
>>539が言うのはホイールを離すじゃなくてホイールを回すの間違いでは?
ホイール操作を待つってスクリプトがよくわからないので、サンプルコード待ってます。
>>549
ありがとうございます。
バージョンが違うのでできるかはわかりませんが、それはそれで参考にさせて頂きます。
576:名無しさん@お腹いっぱい。
17/12/08 12:41:25.62 lDhAMoXF0.net
>>551
だからさ、それはahkのコードじゃないから質問する際にそういう中途半端な書き方は良くないぞって意味な
で、本題だけど>>547のオプション設定で済む話ならそれが一番いいだろうけど
余談になるがShiftやAltなど修飾キーならいちいちDownとかUpとか書かずとも
WheelUp::Send, +!{WheelUp}
だけでいいんじゃね?
それでもすり抜けるならしょうがないね
>>539が言ってた「ホイール離す」は所詮そのレベルの勘違いだろうな
何を待つのかは未だによく分からんけど
577:名無しさん@お腹いっぱい。
17/12/08 12:43:13.79 NsN4xeHW0.net
>>551
Wheel Up(Down) の前後に
Sleep,50
を入れたらどうなる?
578:名無しさん@お腹いっぱい。
17/12/08 13:08:08.94 2S31fZSzM.net
>>552-553
失礼しました。
修飾キーでの記述では、そもそも全く動作しなかった記憶があります。
すり抜けも変な感じで、Shiftだけ押されてAltが押されないままホイールが回る動作をしたりします。
Sleepを入れて色々時間を調整すると、入れない時よりも失敗の頻度は改善されました。が、完全には対策できていません。
579:名無しさん@お腹いっぱい。
17/12/08 13:14:27.13 lDhAMoXF0.net
>>554
#Usehook は使ってる?
580:名無しさん@お腹いっぱい。
17/12/08 13:16:54.42 D3cQmZala.net
いやまぁ、使おうが使わまいが構わないけど、帰ったらサンプル書くよ
言いたいことが伝わってないのは気持ち悪い
581:名無しさん@お腹いっぱい。
17/12/08 13:23:15.80 2S31fZSzM.net
>>555
使い方がいまいちわからず、使ってませんでした…
>>556
>>よろしくお願いしますm(_ _)m
582:名無しさん@お腹いっぱい。
17/12/08 20:23:38.48 RT6XFZXq0.net
#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キーが連打されることになる
583:名無しさん@お腹いっぱい。
17/12/08 20:26:39.02 RT6XFZXq0.net
あ、ホットキーラベルの~は要らないわ。クセで書いちゃったけど
584:名無しさん@お腹いっぱい。
17/12/08 20:38:48.94 WwZSRzo/0.net
で、「ホイール離す」って何のこと?
585:名無しさん@お腹いっぱい。
17/12/08 20:46:42.00 Vl1WWwQG0.net
>>560
しつけーんだよ
586:名無しさん@お腹いっぱい。
17/12/08 20:53:54.83 WwZSRzo/0.net
何をキレてんだよ
少し頭冷やせ
587:名無しさん@お腹いっぱい。
17/12/08 21:04:03.00 HqbBgtaD0.net
冷やし中華はじめました
588:名無しさん@お腹いっぱい。
17/12/08 21:22:38.10 VSEzKsSRM.net
>>562
質問者はサンプル待つつもりで「よろしく」って言ってるのに、横からしつこく揚げ足とりしてるあなたの方が頭冷やすべきでしょ
589:名無しさん@お腹いっぱい。
17/12/08 21:25:44.43 WwZSRzo/0.net
>>564
横からしつこくもなにも俺は最初からその一点についてしか話してない
それなのに一人で勝手に興奮してるだけ
間違い�
590:ネら最初から間違い認めりゃいいだけなのにな
591:名無しさん@お腹いっぱい。
17/12/08 21:33:28.45 3e+Ho6oe0.net
それがしつこいって言われてるんじゃないか?
592:名無しさん@お腹いっぱい。
17/12/08 21:35:16.88 WwZSRzo/0.net
だから昼の時点でさっさと答えてりゃいいだけだろ
593:名無しさん@お腹いっぱい。
17/12/08 21:36:17.80 3e+Ho6oe0.net
お前がしつこく絡んでるようにしか見えないw
594:名無しさん@お腹いっぱい。
17/12/08 21:37:00.69 WwZSRzo/0.net
じゃあお前はなんでそんな必死に絡んでくるんだ?
595:名無しさん@お腹いっぱい。
17/12/08 21:38:55.52 HqbBgtaD0.net
冷やし中華はじめましたので...
596:名無しさん@お腹いっぱい。
17/12/08 21:40:10.88 AjW1HkCjM.net
キチガイなんだから
無視しとけよw
なんでみんなからしつこいって
言われるかわからないんだから
597:名無しさん@お腹いっぱい。
17/12/08 21:42:13.77 WwZSRzo/0.net
>>571
お前もそんな顔真っ赤にしてんなよ
598:名無しさん@お腹いっぱい。
17/12/08 21:44:12.58 HqbBgtaD0.net
冷やし中華はじめましたから!...冷やし中華はじめましたから!!!
599:名無しさん@お腹いっぱい。
17/12/08 22:32:51.68 fgs+Qvb60.net
amemiyaうっせ
600:名無しさん@お腹いっぱい。
17/12/08 23:16:41.31 3CDYarjh0.net
ワッチョイもIDも違う複数書き込みを
>一人で
>顔真っ赤
とか言い出したら要注意な
601:名無しさん@お腹いっぱい。
17/12/08 23:30:52.99 3vQpN7Oh0.net
いつまでやってんだよ
602:名無しさん@お腹いっぱい。
17/12/09 07:28:21.89 CYxvg1W8M.net
>>558
ありがとうございます。
今外出中で試せないのですが、今夜やってみます。
603:名無しさん@お腹いっぱい。
17/12/09 15:59:53.03 0ga8E3eN0.net
#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じゃないにしてもホイール回してるか回してないかの取得スクリプトならあった
これでホイール離してる状態も取得できるな
604:名無しさん@お腹いっぱい。
17/12/09 23:24:41.40 8nqZo3FbM.net
>>558
質問者です。
わざわざコードを書いて下さりありがとうございます。
今試してみたら動きました!
なるほど、ホイール回す度にalt連打されると処理がおかしくなるのですね。(処理が完了する前に次の入力が来る?)
ホイール回す間はalt押しっぱなしにするという方法は目から鱗でした。
アルゴリズムやコマンドの勉強にもなりました。これで長くAutohotkeyを愛用していけそうです。
重ねてお礼申し上げます。
605:名無しさん@お腹いっぱい。
17/12/10 15:50:48.28 Pqr6ID550.net
あるファイルがあったとして、そのファイルが書き換えられたとき、それをトリガーにある処理をしたいのです
どうしたらいいでしょうか
タイマーで1秒おきとかにファイルのプロパティーを見ながら日付の変更確認とか、そんなことをしないと
いけないのですか?
606:名無しさん@お腹いっぱい。
17/12/10 16:32:00.90 APrQc+rqM.net
ReadDirectoryChangesWとか使えばイベントドリブンにできるかもしれんけど
多分settimerでFileGetTimeし続けるほうが楽だと思う
607:名無しさん@お腹いっぱい。
17/12/11 00:43:34.72 R4P+4TIr0.net
Windows10のデスクトップはahk_class Progmanですが、一度でもWin+Tabを押すとahk_class WorkerWになります。
これを強制的にahk_class Progmanに戻す事って出来ますか?。
608:名無しさん@お腹いっぱい。
17/12/11 00:57:30.17 Wcw0iGf+a.net
できない
何故戻したいのかはわからないけど、同時に適用したいならClass判定のところをorでいいんじゃないの?
609:名無しさん@お腹いっぱい。
17/12/11 01:30:33.02 R4P+4TIr0.net
分かりました、有難うございますた。
610:名無しさん@お腹いっぱい。
17/12/11 21:58:26.99 jRSbSjCy0.net
v = aaatttaaa aは文字、tは数字
となっているとします。文字の長さ、数字の桁数は別に3ということではなく任意です
この変数vから�
611:A数字のtttだけをとってくるにはどうしたらいいでしょうか RegExMatch()とかを使うのですか。 かなりややこしくなりそうですが
612:名無しさん@お腹いっぱい。
17/12/11 22:15:06.32 jRSbSjCy0.net
文字には漢字やひらがなもあります
613:名無しさん@お腹いっぱい。
17/12/11 22:23:28.76 jRSbSjCy0.net
すいません。これで出来ました
NewStr := RegExReplace( ttl, "[^0-9]+", "")
これでいいのかな。 一応、確認したところ出来ていそうです
数字の0-9ってなにか\を使った記法ってあったような
614:名無しさん@お腹いっぱい。
17/12/11 23:12:38.47 n7RiSe0za.net
正規表現を調べるのを勧める
loopでぶん回して取得する無理矢理な方法もなくはないけど
615:名無しさん@お腹いっぱい。
17/12/14 16:25:41.48 6GnanOnj0.net
ブラウザ(IE)上で、webに設定されたドロップダウンリストに
規定値(一番上)に選択→隣接リストで同じ処理……
を5回位繰り返させようとしています。
【処理】
start地点のコントロールを選択してからHotKeyを押して処理開始。
1.ControlGetFocus
→どのコントロールでも、どのwebページでも
「Ineternet Explorer_server1」しか返ってこない。
2.Key(↑)を送ってリストを遡らせる
→TABで次のコントロールに移るを繰り返す
→Javascriptで監視されているようで、コントロールの
value変更後の処理でFocusが外れてしまい、処理が継続できなくなる。
AutoHotKey無印を使っています。
AutoHotKeyでは、そもそもブラウザ上に展開したコントロールを
直接操作することはできないのでしょうか?
616:名無しさん@お腹いっぱい。
17/12/14 17:05:48.16 e4aJwnFFa.net
javaでやりな
617:名無しさん@お腹いっぱい。
17/12/14 17:34:29.24 /wRQoE030.net
なぜAHKで無理やりやろうとするのかが謎
618:名無しさん@お腹いっぱい。
17/12/14 21:57:18.36 GqJFhkoy0.net
>>590 >>591
ショートカットキーを使って、既存のブラウザのコントロールにアクセスしたいというのが
もともとの願望でした。
(会社の基幹システムの提携作業をマクロ化したいという動機)
検索すると、HotKey制御ならAutoHotKeyらしいということがわかって、
いろいろ試行錯誤してみた次第です。
ずっとVBAで業務支援ソフトなんかを同僚のために作ってきたのですが、
HotKeyの制御はC#やVBなんかでもできるのでしょうか?
初心者ですが、VisualAtudioは最近ちょろっと触ってるので、
HotKeyを使ったブラウザ制御なんかを学べる環境を教えていただけると幸いです。
619:名無しさん@お腹いっぱい。
17/12/15 07:32:08.50 lV80xGQe0.net
>>589
| IEウインドウを最大化
| IEを最前面表示固定
| 座標100,200 を左クリック
| 1秒待つ
| 座標100,220 を左クリック
| 0.5秒待つ
| 座標300,200 を左クリック
| 1秒待つ
| 座標300,220 を左クリック
| ・・・
| IEを最前面表示固定解除
みたいなのにすればいいだろ
#スクリプト動作中はマウス、キーボードを触らない
AHKじゃなくても、マウスユーティリティー系で可能
openmausujiならソースが公開されているから、業務で使用も可能だろ
620:名無しさん@お腹いっぱい。
17/12/15 20:50:32.58 OrMVJhUA0.net
>>589
テンプレにあるACC.ahkでDoDefaultActionでいいんじゃないかな
それでできないならUI AutomationのSetFocus()でフォーカス合わせるぐらいしか思いつかないけど
UI AutomationのほうもAutoHotKeyである程度使いやすいようにされたものがどっかにあったはず
621:名無しさん@お腹いっぱい。
17/12/16 16:06:02.33 AUvdSLPQ0.net
>>593 >>594
ありがとうございます。
レスが遅くなって申し訳ありません。
上記
622:を参考に一度トライしてみます。
623:名無しさん@お腹いっぱい。
17/12/17 02:32:30.21 MdcvIGaz0.net
マウスのホイール操作全般(WheelUp WheelDown WheelLeft WheelRight)にキーを割り当てると、単純な a とか一文字でも
不定期に反応しなくなります
すり抜けとかではなく全く反応しなくなるのですが、リロードすれば直ります
右クリック、左クリック、サイドボタンでは全く問題ないです
定期的にリロードするよう書き込んだ方が良いのか、それとも
他に何か原因があるのでしょうか?
624:名無しさん@お腹いっぱい。
17/12/17 07:31:34.32 DTDP6E0d0.net
>>596
まず、余分なものをどんどん省いていって、それが再現する必要最低限のスクリプトにしてみましょう。
その結果、原因が分かって自分で解決できる場合もあるし、その最低限のスクリプトをここに書き込めば
誰かにヒントをもらえる確率が上がると思います。
625:名無しさん@お腹いっぱい。
17/12/17 08:29:26.24 MdcvIGaz0.net
>>597
WheelRight::send,a
return
これだけしか書いてないスクリプトでも急に受け付けなくなるのですが・・
626:名無しさん@お腹いっぱい。
17/12/17 09:58:02.93 ZbWlvwyg0.net
再インストールしてみるとか?
627:名無しさん@お腹いっぱい。
17/12/17 10:15:31.95 ZbWlvwyg0.net
うちの環境だと問題なく動いてるけどなぁ
628:名無しさん@お腹いっぱい。
17/12/17 11:06:05.21 pdjYZcFx0.net
一体どういう状況でソレが使いたいのかが分かれば精査しようもある
ただ言えるのは、短く書こうとして誤動作おきてるなんてことはよくある
WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return
くらいは書かないとダメかも
629:名無しさん@お腹いっぱい。
17/12/17 11:12:23.44 pdjYZcFx0.net
もうちょっというなら、キーヒストリーはちゃんと確認しよう
早すぎて抜けてるとかなら調節しないといけないわけだし、そもそもキーが送られてないとかになると、マウスとの相性まで疑ったほうが良い。
WheelLeft、Rightはうちも反応して無くて、しょうがないからF13,F14をレジストリレベルで割り当ててF13に設定してたりする
630:名無しさん@お腹いっぱい。
17/12/17 11:22:47.97 4YmA5vyY0.net
それロジマウス使ってるだけじゃねえの
631:名無しさん@お腹いっぱい。
17/12/17 11:34:53.14 fzbLbuEn0.net
LogicoolのSetpointのような他のカスタマイズ系ツールが入ってて競合していたり
仮想PC上で動かしていたりするんじゃない?
もしそうなら思考錯誤すればなんとかなったりするけど
Autohotkeyとの併用だと根本的解決は厳しいのでどこかで妥協が必要
632:名無しさん@お腹いっぱい。
17/12/17 11:39:13.82 4YmA5vyY0.net
ロジの左右スクロールはWindows標準APIじゃないから反応しないだけ
質問者の様に途中から反応しなくなると言った症状とは全く別問題
633:名無しさん@お腹いっぱい。
17/12/17 12:12:17.21 eySZ52HR0.net
その手の質問するときはちゃんと環境書いたほうがいいよ
反応しなくなるのは件のホットキーだけ?
それとも他のホットキーも全滅になるん?
リダイレクトホイール系のスクリプト入れてるけど
ブラウザとかでページの読み込みが重いとスクロール処理に遅延が生じてしまって
それ以降他のアプリ上でホイール回しても一切スクロールしなくなることはあった
ただ処理はロストしてるわけじゃなく溜まっててるだけで
数分~10分後に え今更?ってタイミングでスクロールされるけど
(win8 x64 & ahkL U64 v1.1.24 & m570)
634:名無しさん@お腹いっぱい。
17/12/17 16:53:37.57 MdcvIGaz0.net
>>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) マウスはエレコム です
635:名無しさん@お腹いっぱい。
17/12/17 17:20:03.67 DTDP6E0d0.net
>>607
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
WheelRight::send,a
このスクリプトのみを書いたAHKを実行させてみたけど、問題なく動いてるよ。
何回目のホイール右倒しで無反応になるの?
636:名無しさん@お腹いっぱい。
17/12/17 17:31:48.08 3XY+E35O0.net
>>607
とりあえず>>601は無視した方が良いぞ
ろくに確認もしてないやつだから
637:名無しさん@お腹いっぱい。
17/12/17 20:17:29.22 MdcvIGaz0.net
>>608
ありがとうございます
WheelRight::
send,{a down}
keywait,WheelRight
send,{a up}
Return
で反応しなくなるのは2回目からです
とりあえずスクリプトの頭に
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
を付けてうまくいくのか様子を見てみます
638:名無しさん@お腹いっぱい。
17/12/17 20:23:31.32 DTDP6E0d0.net
俺のロジクールマウスの場合、ホイールに関しては d のみで u の発行は無い。
ボタンのアップ待ちは無駄かもよ。
639:名無しさん@お腹いっぱい。
17/12/17 20:56:02.37 7BTXFvHJ0.net
だからホイールには「離す」なんて概念は無いって
keywait,WheelRight とか言ってるやつがアホなだけ
640:名無しさん@お腹いっぱい。
17/12/18 00:49:44.45 fHENqFFZ0.net
そもそもお前らにとってマウスは仇なの?
そこまでキーボードでやりだい心境ってどうなの?
641:名無しさん@お腹いっぱい。
17/12/18 00:56:22.46 L9Sezhe2a.net
keywaitがだめと言うならSleepでもいいぞ。とにかく押し下げて離すをエミュレートさせたほうが確実って話だから
642:名無しさん@お腹いっぱい。
17/12/18 01:09:51.37 D6Zzwcuh0.net
脳波でカーソルうごかせたら万事解決するのに
643:名無しさん@お腹いっぱい。
17/12/18 01:55:14.23 82QJfRCd0.net
>>613
お前何と戦ってんの?
全く真逆のこと言ってんだがw
644:名無しさん@お腹いっぱい。
17/12/18 11:07:38.53 dHJj4PmW0.net
>>614
>551の時は代替キーがモデファイヤ含んでたからそういう処理が必要だったけどそうでないなら助長じゃね
WheelLeft/Rightは倒してる間中リピート発生するみたいだし本来なら
WheelRight::a
だけでいいはず
書き方じゃなく環境的な問題な予感
645:名無しさん@お腹いっぱい。
17/12/18 19:44:47.33 8SoFyHAV0.net
>>610です
#NoEnv
#InstallKeybdHook
#UseHook
SendMode,Input
スクリプトの頭に上のを付けてもやっぱり不定期にホイールは反応しなくなるので
諦めます
646:名無しさん@お腹いっぱい。
17/12/19 11:49:43.42 Van3T9iO0.net
WheelScroll.ahkとかWheelaccel.ahkだと、WINDOWS10の modern UI でスクロールできないです。
MGLを使った回避はあったのですが、単体利用での回避方法を誘導していただけないでしょうか。
よろしくお願いいたします。
647:名無しさん@お腹いっぱい。
17/12/19 12:15:03.89 ZXNMo4hja.net
あれってスクロールメッセージ送ってるはずだからそれがないなら反応しないとかだったような
648:名無しさん@お腹いっぱい。
17/12/19 17:14:58.39 knaBMDJJ0.net
>>619
WheelScroll.ahk modernUI対策版を上げました
ただwin10の場合は標準でリダイレクトホイール可能ですのでもうこのスクリプトは要らないかも
URLリンク(www6.atwiki.jp)