X



AutoHotkey スレッド part28

レス数が1000を超えています。これ以上書き込みはできません。
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
垢版 |
2020/04/03(金) 18:35:06.00ID:/YRSlUCD0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/

■日本語解説等
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
2021/04/28(水) 12:48:52.16ID:Gl3LCGKoM
>>951
だからこそ、質問の回答として「AHK以外のキーボードユーティリティを利用しているケース」を提示しているのでは?
2021/04/28(水) 14:37:45.00ID:iL2tIK4D0
>>950
AHKの他にキーボード操作を弄るようなアプリは使っていません。
2021/04/28(水) 16:12:08.37ID:URQMs02G0
>>953
オレには何が原因なのか全く分からんが、↓のアラート出すスクリプトで監視してなるべく事故を防ぐとか?
押しっぱなしが発生したら、(全ての)修飾キーを強制的にkey up発生させるスクリプト実行させる…とかすれば良いかも

AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182

オレのところでは監視はしてないが修飾キー押しっぱなしになったら全ての修飾キーを強制的にkey up発生させるスクリプト実行させてるな
最近は殆ど発生しないが以前は発生する時はよく発生した
2021/04/28(水) 19:23:29.67ID:BiXI0ALD0
>>949
Ctrlと勘違いしてない?

Ctrl + F
win7、win10 > 検索ボックスを選択する。

Windows ロゴ キー + F
win7 > コンピューターを検索する
win10 > フィードバック Hub
2021/04/28(水) 20:03:36.31ID:iL2tIK4D0
>>955
使っているのがwin8.1なので
win+F で画面右側に検索チャームが出ました。
2021/04/28(水) 20:28:07.04ID:iL2tIK4D0
>>954
ありがとうございます。
リンク先の監視コードは全体的に三項演算しだらけでよくわからないのですが特に

%A_LoopField% := !GetKeyState(A_LoopField) ? 0 : !%A_LoopField% ? A_TickCount : %A_LoopField%

とあるのですが、組み込み変数 A_LoopField を%%で囲んでいる?
何をしているのでしょうか?
2021/04/28(水) 20:53:54.76ID:3LX+b2WA0
>>957
http://ahkwiki.net/Expression#.E5.A4.89.E6.95.B0
2021/04/28(水) 20:55:49.88ID:mpIUcCvd0
A_LoopField == "Shift" だとしたら
Shiftという名の変数に値を入れるという意
2021/04/29(木) 08:57:35.41ID:prAhD1c50
>>958,959
ありがとうございます、なんとなくわかりました。

例えば A_LoopField == "Shift" なら

・shiftが押されていなければ変数shiftに0を代入
・shiftが押されている && 1つ前のループ時にshift==0(押されていなかった) ならshiftに現在の時刻を代入
・shiftが押されている && 1つ前のループ時にshift!=0(既に押されて時刻が代入されている) ならshiftに代入されている時刻をそのまま再度代入

のような感じですか。
2021/05/02(日) 16:46:27.83ID:wn8avSxn0
>>954
全ての修飾キーを強制的にkey up発生させるスクリプトというのは
Send, {Ctrl up}
Send, {Alt up}
Send, {Shift up}
のように、Up部分だけを修飾キー分用意しているスクリプトでしょうか?

自分も修飾キーが押しっぱなしになったときの解決策として、上記のような修飾キーをkey upさせるスクリプトを
作ってみたのですが、押しっぱなしが発生したときに実行しても、押しっぱなしが直りません
参考までに、どんなスクリプトか教えていただけると助かります
2021/05/02(日) 17:08:54.37ID:xc+wC1u10
>>961
Reload
2021/05/02(日) 17:15:52.41ID:aDwq6xL60
>>962
押しっぱなしバグはreloadじゃ直らんだろ
2021/05/02(日) 21:28:21.08ID:B1Q5M49c0
いつの間にかAutoGUIが統合開発環境になっとる
2021/05/04(火) 09:56:41.23ID:njFyJL7D0
書けない?
2021/05/04(火) 09:59:08.22ID:njFyJL7D0
ごめん、書けた
カレンダーをキャレット位置に表示して、OKを押したら
日付を貼り付けるコードで、メモ帳では機能するのですが、
それ以外のプログラムではエラーが出て機能しません。

どこを修正したらよいでしょうか?
教えてください!
2021/05/04(火) 10:00:26.58ID:njFyJL7D0
966続き

CoordMode Caret, Screen

Gui, Add, MonthCal, vDate
Gui, Add, Button, Default Section gDateTime_OK, OK
Gui, Add, Button, gDateTime_Cancel, Cancel
Gui Show, x%A_CaretX% y%A_CaretY%
return
2021/05/04(火) 10:01:21.57ID:njFyJL7D0
966続き2

DateTime_OK:
Gui,Submit
FormatTime, timeString, %Date%, M月d日(dddd)
backup := ClipboardAll
Clipboard = %timeString%
Send, ^v
Sleep, 120
Clipboard := backup
Sleep, 120
ExitApp
2021/05/04(火) 10:10:36.80ID:PNnTOH6w0
>>758
2021/05/04(火) 12:10:52.22ID:s2nPXSWe0
>>967
の下から3行目を
Gui, Add, Button, gCancel, Cancel
にしたら動くっぽいけど
2021/05/04(火) 18:02:58.40ID:njFyJL7D0
>>970
貼り付けミスでした。すいません。。
下記のコードは入れております。

メモ帳では動くのですが、他のプログラムでは
起動出来ないので原因がわかりません。。

DateTime_Cancel:
GuiClose:
GuiEscape:
ExitApp
2021/05/05(水) 07:07:40.04ID:rw7ViL+Y00505
エラーが出るタイミングとエラーの内容を書いた方が良いんじゃないかな?
2021/05/05(水) 07:09:30.60ID:rw7ViL+Y00505
あと、
Gui Show, x10 y10
で実験してみるとか
2021/05/05(水) 07:24:48.11ID:ZjnKJoI+00505
>>973
Gui Show, x10 y10
上記のコードでは、どのアプリでも機能しますが、
キャレット位置にGuiを出現させたいと思っております。
エラー内容です。キャレット位置が所得出来てない気がするのですが
メモ帳では機能するので、原因がわからず困ってます。

Error: Invalid option.
Specifically: x y
Line#
011: Gui,Add,Button,Default Section gDateTime_OK,OK
012: Gui,Add,Button,gDateTime_Cancel,Cancel
---> 013: Gui,Show,x%A_CaretX% y%A_CaretY%
014: Return
017: Gui,Submit
2021/05/05(水) 07:31:04.70ID:rw7ViL+Y00505
>>974
原因は「キャレットが取得できないアプリがある」で決定
対策としては取得できない時は、適当な数字を入れてやる
って感じかな
2021/05/05(水) 14:31:15.11ID:OMWkZoSZ00505
>メモ帳では機能するのですが、それ以外のプログラムではエラーが出て機能しません。
エラーが出るウインドウ名をボカシて言わないからここまで長引くんだよなぁ
おそらくブラウザとかだろうな…あ、エクスプローラ(ファイラーの)もファイル名変更してる時のedit部分は
フォーカス失うとエラーは出ないが日付の貼り付けは出来ないね(実験してみた)
2021/05/05(水) 19:32:13.51ID:y8HnxM5v00505
>>974
キャレット位置が取得できない場合も当然あるので、その場合の条件づけをする
自分ならカーソル位置に表示するかな

CoordMode, Mouse, Screen
MouseGetPos, X, Y
IfNotEqual, A_CaretX,, Gui, Show, X%A_CaretX% Y%A_CaretY% NA
Else, Gui, Show, X%X% Y%Y% NA
2021/05/06(木) 06:12:47.03ID:IpGIgdhl0
>>975
>>976
機能しないプログラムはVSCODEやThunderbirdのメール本文でした。
キャレット位置は結構所得出来ないものなのですね。
>>977
コードを参考にして、現在はGUIをアクティブウィンドウの中央へ
WinMoveで無理やり動かしすようにしました。
このスレでは色々勉強させてもらってます。本当にありがとうございました!
2021/05/06(木) 06:42:34.90ID:6akc82bA0
両方共まさにブラウザですやん
VSCodeはElectron(Chromium)だし
980名無しさん@お腹いっぱい。 (ワッチョイ 1776-dxvU)
垢版 |
2021/05/07(金) 01:43:53.56ID:N0s4CMiq0
>>979
ブラウザはキャレット位置の所得が難しいんですね。
ClipboardHistoryはAHKで記述されてると思うのですが、
これはキャレット位置が所得できてますよね。
コードを見てみたのですが、さっぱりわかりませんでしたw
2021/05/07(金) 10:26:02.87ID:Jc/RA02G0
ClipboardHistoryってblank-noteってページのやつ?
ベクターからDLして実行してみたけどVSCodeのキャレット位置は取れてなくない?
うちではマウスカーソル位置でポップアップする
Thunderbirdは知らんけどFirefoxもマウス位置だったよ
982名無しさん@お腹いっぱい。 (ワッチョイ 1776-dxvU)
垢版 |
2021/05/07(金) 19:19:02.41ID:N0s4CMiq0
>>981
おっしゃる通り、blank-note氏のClipboardHistoryです。
確かにキャレット位置は所得出来てなかったですね。
設定でキャレット位置出現にしてもVSCODEやThunderbirdはマウス位置でした。
勘違いしてすいません。。
AHKではキャレット位置所得が難しいことがはっきりわかりました。
わざわざご確認をいただきありがとうございました。
2021/05/07(金) 19:40:36.31ID:PkMhsdta0
どうもいいことなんだが気になってしょうがない

Xキャレット位置所得(しょとく)
〇キャレット位置取得(しゅとく)
2021/05/08(土) 13:20:41.19ID:V1CBVyGD0
1.1.33.09 - May 8, 2021
2021/05/10(月) 09:31:57.89ID:tkvybksK0
JP配列のノートに自宅ではUS配列を繋げてるんですが
JP用スクリプトとUS用スクリプトをグローバルホットキーで切り替えるにはどうしたらいいですか?
イメージとしてはShift+F12でJPとUSをトグルして切り替えるような感じです
キーボードを認識して自動切替が理想ですけどそれはさすがに無理そうなので
986名無しさん@お腹いっぱい。 (ワッチョイ 5b76-09q6)
垢版 |
2021/05/10(月) 10:55:41.81ID:EcBlDnNB0
>>985
動作確認済み。
is_usはAuto-executeセクションで定義されたし。
[AutoHotkey.ahk]
is_us := false
#If, is_us==false
#Include, us.ahk
#If, is_us!=false
#Include, jp.ahk
#If
[jp.ahk]
0::MsgBox, jp
[us.ahk]
0::MsgBox, us
987名無しさん@お腹いっぱい。 (ワッチョイ 5b76-09q6)
垢版 |
2021/05/10(月) 10:56:42.14ID:EcBlDnNB0
>>986
usとjpが意味上で逆なのは見逃していただいて
2021/05/10(月) 12:59:01.15ID:fhBe8vfI0
#If (!isUsKeyboard)
; jp用スクリプト

#If (isUsKeyboard)
;us用スクリプト

#If
+F12:: isUsKeyboard := !isUsKeyboard


JPとUSでスプリクト切り替える意図が書かれてないけど
単純にOSのキー配列設定はJPのままでUSキーボードを使いたいってことなら
ULE4JISおすすめ
2021/05/10(月) 13:19:17.18ID:tkvybksK0
>>986
これはどこにis_usの切り替えを書けばいいですか?

>>988
目的は、US配列の場合はLAlt、JP配列の場合は無変換キーを使ってijklでカーソル移動をしようとしています

試しに以下を書きましたがロード時にJP、USのメッセージボックスが立て続けに出るだけで
それ以降shift f12を押してもメッセージボックスが出てきません

#If (!isUsKeyboard)
Msgbox, JP

#If (isUsKeyboard)
Msgbox, US

#If
+F12:: isUsKeyboard := !isUsKeyboard
2021/05/10(月) 14:17:57.39ID:fhBe8vfI0
まずは#Ifとホットキーのヘルプ読んできて
http://ahkwiki.net/-If
http://ahkwiki.net/Hotkeys

>988ではトグルの +F12::を#If の外に置いてるからShift+F12でメッセージ表示したいならこう
#If
+F12::
isUsKeyboard := !isUsKeyboard
msgbox,% "isUsKeyboard : " isUsKeyboard
Return

USとJPそれぞれの#If範囲内の挙動を確認したいなら>986のようにホットキー作って
#If (!isUsKeyboard)
0::Msgbox, JP
#If (isUsKeyboard)
0::Msgbox, US

Includeでファイル分けるかは好み(やってることは>986も>988も同じ)
LAlt or 無変換 のカーソル移動は面倒なことになりそうな予感
2021/05/10(月) 16:11:41.73ID:JLK/LB300
>>988,990
---------------------
#If (isUsKeyboard)
Msgbox, US
                    ←ここを空けて
#If                  ←こことくっ付ける
+F12:: 〜             ←ここをくっ付ける
---------------------
横から悪いが、教えるんなら↑みたいな紛らわしい書き方しない方が良いんでは?
2021/05/10(月) 16:20:34.08ID:tkvybksK0
>>990
動きました
ありがとうございます
USとJPで共通の位置にあるのがLAltと無変換でホームポジションから動かさなくてよいのでそうしようと思った次第です
2021/05/10(月) 16:39:53.44ID:JLK/LB300
>>991
>>988,990
スマン、wikiでもそんな書き方してるね

>例3) 文脈に依存しないホットキー
>
>#If
>Esc::ExitApp

自分はいつも↓のように一セットで考えてるので…
---------------------
#If (ほげほげ)
 〜
#If
---------------------
2021/05/10(月) 16:43:49.86ID:JLK/LB300
>>993訂正
---------------------
#If (ほげほげ 1)
 〜
#If (ほげほげ 2)
 〜
#If
---------------------
2021/05/10(月) 18:33:28.31ID:fhBe8vfI0
#endifとみなすか新しい#If定義とみなすかって話?
Ahkには#endifの記法はないので、あくまで #If からが次の塊って認識



次スレ立てられなかったんで誰かお願い
(全部貼ると怒られるので>1の変更箇所抜粋)

AutoHotkey スレッド part29

!extend::vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

■前スレ
AutoHotkey スレッド part28
https://egg.5ch.net/test/read.cgi/software/1585906506/
2021/05/11(火) 17:34:36.72ID:urafLeni0
パート17は使わない?
2021/05/12(水) 07:45:32.25ID:+UgAidei0
以下新しいテンプレです。ミスで立てられなくなってしまったので、どなたかスレ立てをお願い致します。
!extend:checked:vvvvvv:1000:512
!extend:checked:vvvvvv:1000:512
!extend:checked:vvvvvv:1000:512
↑スレ立てする時は3行にして下さい

■配布元
https://autohotkey.com/download/

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

■日本語解説等
AutoHotkey Wiki
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/

■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/

■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/cGhVqtYT
※テンプレここまで
998名無しさん@お腹いっぱい。 (アウアウクー MM73-gUNg)
垢版 |
2021/05/12(水) 10:56:01.57ID:A+FNYKxRM
AutoHotkey スレッド part29
http://egg.5ch.net/test/read.cgi/software/1620784546/
2021/05/12(水) 19:33:50.73ID:dkkMHnnS0
>>998
ありがたや
2021/05/12(水) 19:37:06.88ID:BjvrHBjW0
>>998
おつ
1000
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 404日 1時間 2分 1秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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