AutoHotkey スレッド part27

■ このスレッドは過去ログ倉庫に格納されています
2019/04/20(土) 23:32:53.28ID:cTmLtZyf0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

■前スレ
AutoHotkey スレッド part26
https://egg.5ch.net/test/read.cgi/software/1524647289/

■日本語解説等
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: default:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2019/10/25(金) 13:21:15.50ID:pf2j0VqN0
タスクトレイで操作可能ってことは
非表示かもしれないがメインウィンドウが存在するので
該当のウィンドウ探し出してメニューコード送信するだけでいける
2019/10/25(金) 13:28:18.52ID:D6ouzmNa0
>>510
常駐ソフトはほとんどがWinCloseやAlt+F4送ってもトレイに収まるだけでプロセスは終了しないものが多い
だから単一のコマンドだけで終了させるには Process, Close, で強制終了するしかない
2019/10/25(金) 13:32:01.32ID:pf2j0VqN0
>>511
タスクトレイから正常終了出来るんだろ?
タスクトレイってタスクトレイ経由でメニュー操作してることになってるから
そのメニューコードさえ調べれば同様のことが出来る
当然常駐アプリで隠れるだけのコードとは別
2019/10/25(金) 13:35:38.28ID:ikMeVi52H
peerblockの切り替えにオーバーフロー通知領域のアイコンをexeで指定して
任意のクリックができるやつをわからないなりに改悪してタスクトレイに変えたけど
結局controlsendで出来た悲しい思い出
2019/10/25(金) 13:37:42.31ID:D6ouzmNa0
>>512
机上論だけ言われてもな
そのメニューコード?とやらを調べる方法は?
具体的に君はそれで常駐ソフトを終了させたことあるの?
2019/10/25(金) 13:52:17.11ID:pf2j0VqN0
>>514
そら当然あるぞ
メニューコード調べるのなんてspy++とか使えばいいだろ

つか卓上論って自分の知らないことは全てそう言うんか?
恥ずかしい奴
2019/10/25(金) 13:57:22.70ID:D6ouzmNa0
>>515
自分が知らないことを質問してるだけで恥ずかしい事でも何でもないんだが?
お前は自分が知ってることは他人もみんな知ってると思い込んでるの?
恥ずかしい奴
2019/10/25(金) 14:14:59.14ID:KsMlGNvY0
タスクトレイアプリの
クラス名ゲットなら窓コン
コマンドID(wParam)ゲットならこれ
ttp://autohotkey.com/board/topic/19754-get-info-from-context-menu/#entry130297
2019/10/25(金) 14:42:08.90ID:X3D+av6LM
机上論だなどと煽っておいて質問してるだけって言い換えるのは
端で見ていても恥ずかしいなと思いました
2019/10/25(金) 15:00:08.61ID:VlQcspiQ0
別に煽りでも何でもないと思うけどw
てか イルクン ってなんだ?w
2019/10/25(金) 15:53:47.34ID:qDdTpsamM
@モバイル君

机上論=想像だけで役立たず
どうやってやるんだよ
実際にやったことあんのかよ(ないんだろ)

自分が回答する側なら完璧に教える気無くすね
やり方書いてくれなきゃ絵に描いた餅だと諭したかったにしろ
相手を否定して貶める必要は全くなかったのでは?
2019/10/25(金) 15:59:33.13ID:R3WiHJhs0
どうでもええがな
喧嘩は他所でやれ
2019/10/25(金) 17:55:08.55ID:/0DeN9YR0
みなさんありがとうございました。
出来ましたよ


DetectHiddenWindows,on
WinGet, h, ID, ahk_exe xxx.exe

SendMessage, 0x112, 0xF060,,, ahk_id %h%

で成功しました

ahk_exe xxx.exeではダメで、ハンドルをゲットしてハンドルに対してSendMessageしないとダメみたいです
なんで??? w
まあ、ウインドウに対してじゃないとダメってことなのかな。融通が利かないよねえ
2019/10/25(金) 18:22:59.89ID:632fPeDh0
WindowsタブレットPCでタッチスクリーンの操作をAHKで検知することって可能でしょうか?
「3点タップ」や「2点上へスワイプ」などの動作にAHKで機能割り当てをしたいのですが…
2019/10/26(土) 22:38:20.60ID:hT6UEneJa
マウスが動くたびに処理を実行する、ということをしたいのですが(ウェブでいうonmousemove)
ホットキーではボタンとホイールの動きしか検出できないようです
SetTimerで短い間隔で関数を呼びまくって判定するのでしょうか?
2019/10/26(土) 23:27:15.39ID:sNP1tmoxH
SetWindowsHookExを使う
2019/10/27(日) 00:21:55.23ID:Q9w3GEG30
AHKHID.ahkでマウス移動イベント拾えるから
↓このあたりのソースを改造してInputMsg() の中身を丸ごと変えてしまばいいかと

Mouse Wheel Emulator
https://autohotkey.com/board/topic/46203-mouse-wheel-emulator/
2019/10/27(日) 01:44:26.58ID:U7U5DljM0
これのiOS版ありますか?
2019/10/27(日) 04:23:07.31ID:or1gSIZt0
>>504
ahkのclassはいろいろウンコ過ぎて使うのやめた
クラシックなCスタイルで書くのが無難
凡ミスをエラーとして検出できず誤動作するだけなんでテキストエディタでのコーディングには全く向いてない
2019/10/27(日) 07:53:43.63ID:TWLDBVf5a
>>525,526
ありがとうございます
調べてみます
2019/10/27(日) 11:46:55.90ID:I3OIYPTT0
>>529
自分も昔同じこと考えて調べたけどAHK以外何も知らないスクリプト初心者には難しすぎて挫折した
結局諦めてSetTimerとMouseGetPos使ってるよ…
2019/10/28(月) 02:14:57.75ID:EYtu/5rk0
すみません。
Google Chrome で、バックスペースで「戻る」を実現しようとして、
----
BS::Send, !{Left} ; ALT+←
----
などと書くのですが、
そうすると、入力フォームや、アドレスバーにフォーカスがあるときも、
前のページに戻ってしまいます。(当たり前ですが)

「文字入力可能な状態」でないときだけ
ホットキーが動くようにしたいのですが、どんな方法で実現できそうでしょうか?
どなたかアドバイスいただけませんでしょうか。

※ブラウザのアドオンで実現できるのはわかっていますが、
 AHKでできれば、他のブラウザでも使えるようできるので
 何卒よろしくお願いします。
2019/10/28(月) 07:09:30.37ID:7W1OpY9G0
>>531
カーソルタイプ(IBeam)やキャレット座標などの条件判定では甘いし
AHKですべき問題じゃないと思うよ
2019/10/28(月) 12:22:05.99ID:QBScBQWwH
>>531
テンプレにあるIME.ahk使えばいい
2019/10/28(月) 19:10:40.32ID:EYtu/5rk0
>>532
ありがとうございます。
文字入力の状態を簡単に判断できると期待してました、すみません。

>>533
せっかく教えていただいたのに恐縮ですが、
「文字入力可能な状態」を判定できるスクリプトをうまく書けませんでした。
IME.ahkのどの関数を使うとできるようになるか教えていただけませんでしょうか?

AHKのバージョンは、1.1.31.00
OSは、Windows10 64bit
IMEは、Microsoft IME です。
2019/10/28(月) 21:42:37.99ID:ouS0zuNbH
>>534
すまない
確認したら入力モードが"かな"かつ変換モードが"無変換"だと出来ない
そうでなければIME_GetConvMode()とIME_SetConvMode()の値がともに0で出来る……はず

あとはテンプレのACC.ahkで通知領域から取得かなあ
Nameの値が変わっているはずだから
2019/10/29(火) 01:17:09.42ID:2e9d+4+f0
>>535
すみません、できませんでした。
ローマ字入力です。
変換モードは「一般」になっていました。

IME_GetConvMode()は、基本的に"25"を返してきます。
半角全角キーでIMEの状態をOFFにしても"25"のままです。……@
通知領域の「あ」をクリックして「A」に変えると、"16"を返すようになります。……A
※@の操作では、通知領域は「A」になっていても"25"を返します。
 Aの操作の後、IMEの状態をONにするとまた"25"を返すようになります。(通知領域は当然「あ」)

IME_SetConvMode() は、引数に0x00を与えて呼び出すのでしょうか?
そうすれば、確かにそのときはIME_GetConvMode() も"0"を返すようになりますが、
実際の入力の状態は判定できないです。

思うに、
通知領域の「あ」「A」が「×」(IMEが無効です)になっているときが、
「文字入力できない状態」なので、
通知領域の情報が取得できるなら判定できそうです。
(ACC.ahkっていうので可能なのかはわかりませんが)

もっと簡単にできると甘く見てました。。
2019/10/29(火) 06:22:25.79ID:xdxELTwV0
>>536
知ったかしてごめんなさい。<(_ _*)>

IME_GetConvMode()を使えば
入力モードがかな入力(半角英数)のIMEOFF時を除いて大丈夫ですね

条件式
(IME_GetConvMode() || (!IME_GetConvMode() && IME_GET())) ⇒ Send {BS}
2019/10/30(水) 13:35:33.79ID:6Fv+a6Gfa
エクスプローラでフォルダが開かれた時に
AHKでそれをフックしてそのフォルダのパスを保存してMenuで使ったりしたいのですが
どうすればできるでしょうか?
2019/10/31(木) 16:19:19.34ID:xF1MewNvxHLWN
>>538
自分なりに考えてみた

まず、https://sites.google.com/site/agkh6mze/howto/winevent
↑ここを参考にウインドウを監視するか、settimerで監視する
次にウインドウのタイトルを取得する(フォルダオプションでタイトルにフルパス表示させるようにしとく)
これでフォルダのパスは取得できるはず

後はお好きなように
540名無しさん@お腹いっぱい。 (中止 9e76-qp9g)
垢版 |
2019/10/31(木) 22:46:12.46ID:1CPf1QEn0HLWN
RB_DLD_をAlt+Tabにしたいと思い、AltDownとTabにしましたが、左クリック時にAltUpするいい方法はありますか?
左クリックされるまでGetKeyStateの無限ループとか?LB_にAltUp用ジェスチャーは当てたくないです。
541名無しさん@お腹いっぱい。 (中止 9e76-qp9g)
垢版 |
2019/10/31(木) 22:49:05.13ID:1CPf1QEn0HLWN
>>540です
MouseGestureLの設定ですが、AutoHotKeyも併用しているので、
そちらで左ボタンの挙動を変更する方法はありますか?
Alt押下ならAltUpで行けるだろうと思ったのですがうまく行かなかったです
2019/11/01(金) 08:03:40.16ID:07Rz5AGQ0
>>540
単純に、Win+Alt とか Ctrl+Alt+Tab を起動じゃ不便?
2019/11/01(金) 08:48:01.02ID:IMkCGAbl0
試してないけど
Lbutton up:: send,{alt up}
とかじゃあかんの?

MouseGestureLとAutoHotKeyの併用というのがどういう状態か分からんし
別スクリプトとして同時に動かしてるのか
MouseGestureL.ahkをAutoHotKey.ahkに#includeしてるのかで
コンフリクト時の挙動は変わってくると思うが
544名無しさん@お腹いっぱい。 (ワッチョイ 9e76-qp9g)
垢版 |
2019/11/01(金) 16:25:04.59ID:gYvtzhMc0
回答ありがとうございます。状況説明が下手で申し訳ない。
やりたいことはまさにCtrl+Alt+Tabそのものでした・・・
そのショートカットキーを知らなかったです。赤子からやり直してきます。
545名無しさん@お腹いっぱい。 (ワッチョイ 9e76-qp9g)
垢版 |
2019/11/01(金) 16:31:09.62ID:gYvtzhMc0
しかし後学のために、Ctrlなしで実現させる方法を理解しておきたいです。

まず、併用というのは単にどちらも独立に使用しているというだけであり、
例えばMGLのジェスチャーでAltDown+Tabまで行い、左クリック時にAHKで、
Altの押下が確認されれば左クリックを送信する前にAltUpを挟む、
などできるのではないかと思った次第です。
2019/11/01(金) 16:40:49.52ID:QQqYELwt0
>>545
GetKeyState
2019/11/01(金) 22:01:08.00ID:VfugqGrn0
>>545
MGLは専用スレがあるから、ここで書くのも何だが
ヘルプ 4.4.4. 設定例-応用編- の
左ボタンを押しながら右ボタンで右のタブ、その逆で左のタブ
あたりを参考にすればやりたいことはできるんじゃないの
2019/11/03(日) 01:39:25.14ID:O7MXiPNf0
winキー+EscでDeleteに置き換えてるんだけど、どうやら
一瞬だけctrlの入力がはいってしまっているぽい。
完全にwinキーを修飾キーにするにはどうすればいいんでしょうか・・・
ちなみにワード使ってて、図を選択したときにctrlを押すと開かれる
サブメニュー?が出てきて判明しました。

;winキー単体を殺す

~LWin::
~RWin::
LWin Up::
RWin Up::
return

; Win+EscをDeleteに
#Esc::
send, {NumpadDel}
return
2019/11/03(日) 01:40:02.73ID:O7MXiPNf0
連投スマソ。
もうひとつ。winキーとRキーの同時押しがなぜかコード書いても
反応しないんだけど、これはahkの仕様(バグ?)ですか?
それとも、ハードウェアの問題でしょうか。
550名無しさん@お腹いっぱい。 (ワッチョイ 9fcf-qQ6b)
垢版 |
2019/11/03(日) 01:43:15.56ID:x4wegOmC0
まずそのコードをここに書いてみよ
2019/11/03(日) 02:02:13.23ID:O7MXiPNf0
#r::Send +
でした。すみません。
コード内で、すでに他の上記同時押しを使用してしまっているのでは?ということは確認しましたがなかったです。
2019/11/03(日) 02:28:01.13ID:T/dyPpuj0
>>548
それだけでCtrlが入る要素は何一つ無いからサブメニューが出るのは何か他の要因が重なってんだろ

ちなWINキー単押しを無効にするなら
LWin::Return
RWin::Return

すると#Esc::の表記も無効になるので
LWin & Esc::
send, {NumpadDel}
return
にすれば2キー押しは有効になる

それでもたまにスカするならレジストリでWinキーをF13などに変更して
F13 & ESC:: をDeleteにすればいい
2019/11/03(日) 02:37:18.23ID:T/dyPpuj0
>>551
文字のプラスを入力したいなら {+}
2019/11/03(日) 05:09:07.70ID:+lRV0Wb00
こういう場合真っ先に試すべきは
#r::msgbox,Send +
2019/11/03(日) 10:51:10.01ID:1hPQjtfu0
335 名前:いやあ名無しってほんとにいいもんですね[sage] 投稿日:2019/11/03(日) 10:22:35.60 発信元:211.14.222.92
【依頼に関してのコメントなど】よろしくお願いします
【板名】ソフトウェア
【スレッド名】AutoHotkey スレッド part27
【スレッドのURL】ttp://egg.5ch.net/test/read.cgi/software/1555770773/
【名前欄】
【メール欄】sage
【本文】
>>548
#MenuMaskKey
ttp://ahkwiki.net/-MenuMaskKey
2019/11/04(月) 19:46:22.84ID:9tBCOKwba
>>539
フックにとらわれて、そういう発想はなかったです
その方向でやってみます
ありがとうございました
2019/11/05(火) 13:03:57.30ID:xW6YEvnga
>>548
#MenuMaskKey
ttp://ahkwiki.net/-MenuMaskKey
2019/11/05(火) 23:01:30.91ID:R4e6EFQY0
#MenuMaskKey vk07
ほんとコレ大事よね
CapsLockの挙動で余計なものが送られて散々悩んだの思い出した
2019/11/05(火) 23:03:58.99ID:yR2cuDan0
CapsLock?それってIMEの設定変えるだけでどうにでもなるんじゃね
2019/11/09(土) 22:57:18.17ID:avm3BFlQ0
:*:A::○○

だとシフト英数でキャップスロックかけた状態でaを押しても
○○が表示されるけど、

+a::Send, ○○

だとシフト英数でキャップスロックかけてaを押してもaにしかならない。
後者の場合でも前者と同じように機能させる方法ってあるの?
2019/11/11(月) 12:48:57.08ID:FCCCmRVS01111
<ノイタミナ>PSYCHO−PASS_サイコパス_3<フジテレビか…_#01_10250104.TS
の全角を半角に変換するのってどうやるの
2019/11/11(月) 14:04:41.33ID:AdvOVrfM01111
自分はLiName+テキストエディタの変換機能でやってるが
一発でリネームできるようなバッチ作りたいなら非2バイト語圏の海外産のAHKより
nkf32とか使ったほうが楽だと思う
2019/11/11(月) 18:32:07.13ID:SIlajLB/M1111
>>560
a::
+a::
Send, ○○
return

>>561
AutoHotkey スレッド part18
https://anago.5ch.net/test/read.cgi/software/1398655195/974

半角全角変換関数 詰め合わせ
http://pastebin.com/diJWv0pw
2019/11/12(火) 00:07:42.36ID:XvJWFDxd0
あるウィンドウがアクティブなら(なんらかのポップアップされたメッセージウィンドウを想定)、
Esc以外のどんなキーを押しても、ある処理を実行するみたいなスクリプトをつくりたいんですけど、

この"どんなキーを押しても"の部分って、全部のキー羅列しないといけないんですかね?
何かいい方法ありますか?
2019/11/12(火) 05:22:26.24ID:FtqeMYVR0
>>564
#InstallKeybdHook
SetTimer
WinActive()
KeyWait()
if !GetKeyState("Esc", "P") {
 コマンド
}

KeyWait() {
 Loop {
  if (Idle > A_TimeIdlePhysical)
   break
  Idle := A_TimeIdlePhysical
  Sleep, 10
 }
}
2019/11/12(火) 21:24:09.06ID:XvJWFDxd0
>>565
あー関数とか演算子とか多用する感じなのか
普段基本的な使い方しないから勉強になった、ありがとう
2019/11/13(水) 00:42:57.36ID:NxgPOaNH0
>>563
参考になったありがとう
s := conv(s, "ABC#「」『』", "ABC# ")
って感じの変換テーブル渡すコンバータ作った
568名無しさん@お腹いっぱい。 (スププ Sda2-NlRl)
垢版 |
2019/11/19(火) 20:50:10.36ID:DwmpxaS1d
ie上でalt+speceに設定したIME切替が動かないので、ie上のaltを無効化したいんですが、どうしたら無効化しますか?試行錯誤してるんですけど、どれもダメみたいで、
2019/11/19(火) 21:43:50.75ID:g+gF+7FS0
まずその試行錯誤を書いて
570名無しさん@お腹いっぱい。 (スププ Sda2-NlRl)
垢版 |
2019/11/19(火) 22:33:48.23ID:DwmpxaS1d
もう残ってないっす
2019/11/23(土) 20:28:16.06ID:Mh7lYThn0
vimでよくある、ddや<leader>wのようなシーケンス割当をいい感じでできるLibなぞどこかにありませんでしょうか?
:*:dd:: で割り当ててみたのですが、はじめのdが入力されてしまう点と、d単体に割り当てできなくなってしまっていけてないです…
572名無しさん@お腹いっぱい。 (ワッチョイ 1976-BEIG)
垢版 |
2019/11/26(火) 22:15:06.67ID:JAmcxqSM0
obj:=[1,2,3]
ScratchPad("a", 100)
ScratchPad("b", obj)
ScratchPad("keystate:a", keystata)
ScratchPad("c", "hello")
ScratchPad("a", 500)

と実行すると
a=500 <- 最後に書き込まれた値
b=1,2,3
keystate:a=U
c=hello
というウィンドウが表示されるデバッグ用ツール作ってくださいお願いします!
ウィンドウは存在しなかったら自動で生成し
存在していたら再利用し
ユーザーはいつでも閉じても構わない感じにお願いします!
ログ系の関数だとどんどんスクロールしてしまって不便で仕方が有りません
2019/11/26(火) 22:56:43.77ID:Gvt9eacH0
自分でやれ
2019/11/26(火) 23:00:43.22ID:1c8/xZfE0
>>572
よし俺に任せろ
ちょっと待ってくれよな
2019/11/27(水) 13:51:09.12ID:CXHpBTJ60
その後
>>574の姿を見たものは居なかった
2019/11/28(木) 08:49:31.79ID:7ah9PNzD0
じゃあ替わりに俺が作るよ
>>572 待ってろよ
2019/11/28(木) 09:10:22.14ID:YQMVfgpt0
壮大なプロジェクトになってきた
578名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 09:30:29.24ID:lQjz+pHhd
>>568 もだれかお願いできないですかね
2019/11/28(木) 09:41:34.01ID:u3kK9hCK0
マジレスするとまともな回答が付かないのは質問の仕方に問題があるということ
ここはお客様サービスセンターじゃないのでそういう面倒な奴はスルーまたは適当にあしらわれるだけ
580名無しさん@お腹いっぱい。 (ワッチョイ b5cf-8b9h)
垢版 |
2019/11/28(木) 10:44:26.21ID:M99/5zSx0
回答がつかないのはこういうの
・Windows標準機能を乗っ取ろうとかバカなやつ(無謀
・それ普通に一般機能でできるけどってやつ(無知
・試したソース書かないやつ
・試してすらいないやつ
・日本語になってないやつ

すぐに回答がつくやつ
・やりたいことが明確で試したソースもついてる
・具体的な関数や文法的なアドバイスを求める内容
2019/11/28(木) 10:58:50.61ID:Q7RBzET20
試行錯誤してるってその内容書いてないは結構致命的だよね
「こうじゃない?」って言ったとして「それはもうやってみました」ってなるのが目に見える
2019/11/28(木) 11:10:45.60ID:u3kK9hCK0
あと>>568だけでは言葉足らずでやりたいことが明確ではない
場合によっては
・それ普通に一般機能でできるけどってやつ(無知
に該当してる可能性もあり得る
2019/11/28(木) 12:10:44.20ID:8Y2KV43/0
>>578
他の人も書いてるけど、その試行錯誤を書いてほしい
それとAlt+Spaceって自分には必要なキーだから潰してもいいの?と言う疑問もある
例えば、WinMinimizeで最小化を設定してもタスクバーに収まらずに変な残り方するソフトが
時々あるけど、そういう場合に Alt+Spane,Nを充てて対処してる
584名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 14:00:15.68ID:lQjz+pHhd
なるほど。質問の仕方か、、そう言われると確かに丸投げみたいな質問だな、、反省
試行錯誤したやつをまとめて、出直してきます
2019/11/28(木) 14:10:26.69ID:U/9F6nEa0
>>584
一つだけ確認しておきたいんだがaltではなくCtrl+スペースでIME切り替えするのでは駄目なのか?
それならAHKを使わずにIMEのプロパティでキー割り当て変えるだけで出来るしスマート
無理してAHKでどうこうするよりシステム本来の機能で出来ることはそっちでやった方がいい
586名無しさん@お腹いっぱい。 (スフッ Sdb2-fSRg)
垢版 |
2019/11/28(木) 19:11:05.66ID:F3zZXs0fd
>>585
CtrlとCaps入れ替え前提だよね
2019/11/28(木) 19:47:45.33ID:U/9F6nEa0
>>586
いやそんなことはしないが
普通にCtrl+スペースにIME切り替えを割り当てるだけ
altに拘らなけりゃそれだけで済む話じゃねえの
588名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 20:00:07.48ID:lQjz+pHhd
>>585
この状況の経緯です。何年もMacとMac用USキーボード使ってコマンド&スペースで入力モード変換してたけど、最近WindowsとWindows用のUSキーボードを使うことになった
589名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 20:00:44.11ID:lQjz+pHhd
>>585
最初はalt&バッククォートやコントロール&スペースで変換してたけど、常時Macと併用してることもあり、やっぱり指が慣れず、コマンドの位置にあるaltばかり押してしまうので、altとスペースを入力モード変換として使えるようにした。という感じです

エラーになったので2つに分けました。
2019/11/28(木) 20:10:55.37ID:U/9F6nEa0
>>589
そういうことならまずChangeKeyなど使いレジストリでAltとCtrlを入れ替えたほうがいいんじゃね
コピペなどもAltをCtrlとして使えるからMacに近い指の操作感になる
全てではないがMacのコマンドキーに相当する機能がWinでは概ねCtrlキーだからな
Ctrlをコマンドと同じ位置にしてしまったほうが早いだろ
そのうえでCtrl+スペースをIME切り替えに割り当てれば実際に押すのはAlt+スペースでIME切り替え出来るようになる
591名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 20:34:13.20ID:lQjz+pHhd
>>590
実はその通りで、Ctrl+cとかもalt+cで動くように設定してるんですけど、ieだけaltが制御できずコピペが不安定なんです。。change keyはレジストリいじるの怖くて何となくスルーしてたんですが、そっちのがいいんですかね、、調べてみます
592名無しさん@お腹いっぱい。 (スププ Sdb2-hYBf)
垢版 |
2019/11/28(木) 20:39:17.44ID:lQjz+pHhd
>>590
というのと、自分以外の人がこのpcを使うことを考えてAHKでの一時的な制御を考えた。という経緯もありました
593名無しさん@お腹いっぱい。 (ワッチョイ b5cf-8b9h)
垢版 |
2019/11/28(木) 20:39:54.18ID:M99/5zSx0
ChangeKeyはWin7時代に使ったけど問題なかったよ
Win10じゃ非対応だったと思うけど違ったかな
(もちろん類似ソフトはあると思う)
594名無しさん@お腹いっぱい。 (ワッチョイ 19cf-5Jli)
垢版 |
2019/11/29(金) 03:44:10.27ID:Tf3CI0sR0
質問したいです ステレオミニジャックに
イヤホンをさしたら 特定のファイルを実行する
ぬいたら別のファイルを実行するということがしたいです

以前ネットでそんなことができると見た覚えがあるのですが
ヘルプにそれらしきコマンドなどなかったです
目論見は可能でしょうか?
可能でしたら記述方法をおしえていただけませんか?
よろしくお願いします
2019/11/29(金) 23:04:50.44ID:gIwANFe0aNIKU
>>594
AutoHotkey はCOMオブジェクトを扱えると思うので
できるのではないかと思うのだが確信はない

できるとすれば
たぶん思っているよりだいぶ面倒だとは思うが
以下のような方法がある

もっといい方法があるかも知れないが、Windoows の
Core Audio インタフェースを通して状態を知ることはできる

再生デバイスの一覧とボリュームの取得
http://yamatyuu.net/computer/program/vc2013/vollist/index.html
がいいサンプルになると思う(言語はC++)

この中のボリュームに関する処理は不要だか
pProperties->GetValue(PKEY_Device_FriendlyName, &vName);
で取得したデバイス名が自分の対象としているヘッドフォンなら
DWORD stat;
HRESULT hr = pEndpoint->GetState(&stat);
(↑この行はサンプルコードには含まれていない)
でその状態を取得することができると思う
2019/11/29(金) 23:47:57.21ID:gIwANFe0aNIKU
>>595
もしかしたデバイスの下についているセッションの状態をとる必要があるかも知れない
2019/11/30(土) 00:34:19.57ID:KUmLOSnY0
環境によると思うのでよくわからんが
SoundGet,var,HEADPHONES では値取れないん?
2019/12/03(火) 20:18:24.26ID:ceEY+y+eM
ahkで和暦の日付入力って可能なの?
formattimeじゃ無理そうだけど、、、
599名無しさん@お腹いっぱい。 (ワッチョイ 9e73-YC6P)
垢版 |
2019/12/04(水) 04:05:05.50ID:nf1P/FNe0
>>598
formattimeじゃなくてFormatTimeを使う

FormatTime, today, yyyymmdd D4, LongDate
MsgBox, % today
2019/12/04(水) 23:56:35.27ID:7Klp1s8b0
>>599
できた!めちゃくちゃ助かったあんがと
2019/12/05(木) 00:33:31.68ID:izzBjhE+a
edgeがフルスクリーンかそうじゃないかって判定する方法ないですか?
IEだとかFirefoxはタイトルバー(0x00C00000)があるかどうかで判定できたんですけどedgeだとこれで判定できないので困ってます。

if tmp & 0x00C00000
{
send,{F11}
}
else
{
sleep,100
}
2019/12/05(木) 01:42:32.28ID:Jhh0ALwr0
失礼かきこめるのかな
2019/12/05(木) 01:42:38.11ID:Jhh0ALwr0
失礼かきこめるのかな
2019/12/05(木) 01:56:39.84ID:Jhh0ALwr0
連投はかんぜんに間違いでした、ずっと書き込めなかったので本文つくる前に
軽率に確認しちゃいました申し訳ない

質問なのですが

最終的に座標の色をみてなんやかんやしようというための途中段階なんですが、

ある座標(今回は100,200として)の場所の色を判定するのに第一段階として
以下のx→yで確認して確認動作としてzに組み込むという方法を以前からやっていて何の問題もなくできたのですが
今回 zで上手く hensuu :=1 と出てくれません。
別のコードも今まで同じやり方で作って正常動作できているので、動作を理解していないということはないと思うのですが
何かポカしていることありますでしょうか?

x::MouseMove, 100,200

y::
MouseGetPos,x,y,
PixelGetColor, color, %x%, %y%
return
で調べた colorの値を下に代入して(FFFFFFという値が出たとして)

z::
PixelSearch,,,100,200,102,202,0xFFFFFF,2,Fast
If ErrorLevel=0
Msgbox,hensuu :=1
else Msgbox,hensuu :=0

2019/12/05(木) 02:00:32.20ID:Jhh0ALwr0
連投すみません 修正します
大分テンパって申し訳ないです

x::MouseMove, 100,200

y::
MouseGetPos,x,y,
PixelGetColor, color, %x%, %y%
Clipboard=%x%, %y%, %color% 
return
で調べた colorの値を下に代入して(FFFFFFという値が出たとして)

z::
PixelSearch,,,100,200,102,202,0xFFFFFF,2,Fast
If ErrorLevel=0
Msgbox,hensuu =1
else Msgbox,hensuu =0
return
2019/12/05(木) 02:11:20.13ID:8EiK3bS00
>>601
普通にWinGetで判定出来るぞ
Edgeでも他のソフトでも
2019/12/05(木) 02:18:26.86ID:8EiK3bS00
>>601
あ、スマン
EdgeのフルスクってF11押した状態のことか
最大化と勘違いしてた
606はウソなので忘れて
2019/12/05(木) 02:47:51.06ID:8EiK3bS00
>>601
お詫びに代案だけど
WinGetActiveStats でEdgeのウィンドウサイズを取得してスクリーンサイズと比較するのはどうだろう
最大化の場合はボーダーラインの分だけスクリーンサイズよりウィンドウサイズが一回り大きくなるけど
フルスクならスクリーンサイズとウィンドウサイズがピッタリ同じで位置も0,0になるので判定できるかと
2019/12/05(木) 11:44:12.03ID:JQ7WcuOOa
>>608
その方法でできるようになりました、ありがとうございます!
610名無しさん@お腹いっぱい。 (ワッチョイ cb73-MVf8)
垢版 |
2019/12/07(土) 17:24:42.64ID:yB203HjY0
AutoHotkeyで他プロセスのイベントを監視したい。

例えばNotepad.exeにSendMessageを送ってプログラムを終了させたり、拡大縮小化などをさせることはできますが
逆に終了や拡大縮小化などがNotepad.exeで行われた場合に、AutoHotkey側でそれを検知して、Notepadで〇〇したタイミングにAutoHotkeyでなにかの処理をさせたいのですが、その方法がわかりません。
AHKのOnMessage関数でできないかと思ったのですが、AutoHotkeyから送信されたメッセージしか取得できないみたいなのでこの方法ではうまくいきませんでした。
WIN32 APIのSetWindowsHookExを使えばできなくもなさそうなのですが、イベントを検知させるためのDLLを自作しないのいけないみたいなので、AutoHotkeyしか使えない自分には難しいです。

いろいろ調べたのですが、結局どうしたらできるのかわかりません。
AutoHotkeyで似たようなことをしている資料やコードを知っている、もしくはなにかヒントとなるアイデアを持っていたら教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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