AutoHotkey スレッド part28
レス数が1000を超えています。これ以上書き込みはできません。
!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 >>951
だからこそ、質問の回答として「AHK以外のキーボードユーティリティを利用しているケース」を提示しているのでは? >>950
AHKの他にキーボード操作を弄るようなアプリは使っていません。 >>953
オレには何が原因なのか全く分からんが、↓のアラート出すスクリプトで監視してなるべく事故を防ぐとか?
押しっぱなしが発生したら、(全ての)修飾キーを強制的にkey up発生させるスクリプト実行させる…とかすれば良いかも
AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182
オレのところでは監視はしてないが修飾キー押しっぱなしになったら全ての修飾キーを強制的にkey up発生させるスクリプト実行させてるな
最近は殆ど発生しないが以前は発生する時はよく発生した >>949
Ctrlと勘違いしてない?
Ctrl + F
win7、win10 > 検索ボックスを選択する。
Windows ロゴ キー + F
win7 > コンピューターを検索する
win10 > フィードバック Hub >>955
使っているのがwin8.1なので
win+F で画面右側に検索チャームが出ました。 >>954
ありがとうございます。
リンク先の監視コードは全体的に三項演算しだらけでよくわからないのですが特に
%A_LoopField% := !GetKeyState(A_LoopField) ? 0 : !%A_LoopField% ? A_TickCount : %A_LoopField%
とあるのですが、組み込み変数 A_LoopField を%%で囲んでいる?
何をしているのでしょうか? A_LoopField == "Shift" だとしたら
Shiftという名の変数に値を入れるという意 >>958,959
ありがとうございます、なんとなくわかりました。
例えば A_LoopField == "Shift" なら
・shiftが押されていなければ変数shiftに0を代入
・shiftが押されている && 1つ前のループ時にshift==0(押されていなかった) ならshiftに現在の時刻を代入
・shiftが押されている && 1つ前のループ時にshift!=0(既に押されて時刻が代入されている) ならshiftに代入されている時刻をそのまま再度代入
のような感じですか。 >>954
全ての修飾キーを強制的にkey up発生させるスクリプトというのは
Send, {Ctrl up}
Send, {Alt up}
Send, {Shift up}
のように、Up部分だけを修飾キー分用意しているスクリプトでしょうか?
自分も修飾キーが押しっぱなしになったときの解決策として、上記のような修飾キーをkey upさせるスクリプトを
作ってみたのですが、押しっぱなしが発生したときに実行しても、押しっぱなしが直りません
参考までに、どんなスクリプトか教えていただけると助かります >>962
押しっぱなしバグはreloadじゃ直らんだろ いつの間にかAutoGUIが統合開発環境になっとる ごめん、書けた
カレンダーをキャレット位置に表示して、OKを押したら
日付を貼り付けるコードで、メモ帳では機能するのですが、
それ以外のプログラムではエラーが出て機能しません。
どこを修正したらよいでしょうか?
教えてください! 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 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 >>967
の下から3行目を
Gui, Add, Button, gCancel, Cancel
にしたら動くっぽいけど >>970
貼り付けミスでした。すいません。。
下記のコードは入れております。
メモ帳では動くのですが、他のプログラムでは
起動出来ないので原因がわかりません。。
DateTime_Cancel:
GuiClose:
GuiEscape:
ExitApp エラーが出るタイミングとエラーの内容を書いた方が良いんじゃないかな? あと、
Gui Show, x10 y10
で実験してみるとか >>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 >>974
原因は「キャレットが取得できないアプリがある」で決定
対策としては取得できない時は、適当な数字を入れてやる
って感じかな >メモ帳では機能するのですが、それ以外のプログラムではエラーが出て機能しません。
エラーが出るウインドウ名をボカシて言わないからここまで長引くんだよなぁ
おそらくブラウザとかだろうな…あ、エクスプローラ(ファイラーの)もファイル名変更してる時のedit部分は
フォーカス失うとエラーは出ないが日付の貼り付けは出来ないね(実験してみた) >>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 >>975
>>976
機能しないプログラムはVSCODEやThunderbirdのメール本文でした。
キャレット位置は結構所得出来ないものなのですね。
>>977
コードを参考にして、現在はGUIをアクティブウィンドウの中央へ
WinMoveで無理やり動かしすようにしました。
このスレでは色々勉強させてもらってます。本当にありがとうございました! 両方共まさにブラウザですやん
VSCodeはElectron(Chromium)だし >>979
ブラウザはキャレット位置の所得が難しいんですね。
ClipboardHistoryはAHKで記述されてると思うのですが、
これはキャレット位置が所得できてますよね。
コードを見てみたのですが、さっぱりわかりませんでしたw ClipboardHistoryってblank-noteってページのやつ?
ベクターからDLして実行してみたけどVSCodeのキャレット位置は取れてなくない?
うちではマウスカーソル位置でポップアップする
Thunderbirdは知らんけどFirefoxもマウス位置だったよ >>981
おっしゃる通り、blank-note氏のClipboardHistoryです。
確かにキャレット位置は所得出来てなかったですね。
設定でキャレット位置出現にしてもVSCODEやThunderbirdはマウス位置でした。
勘違いしてすいません。。
AHKではキャレット位置所得が難しいことがはっきりわかりました。
わざわざご確認をいただきありがとうございました。 どうもいいことなんだが気になってしょうがない
Xキャレット位置所得(しょとく)
〇キャレット位置取得(しゅとく) JP配列のノートに自宅ではUS配列を繋げてるんですが
JP用スクリプトとUS用スクリプトをグローバルホットキーで切り替えるにはどうしたらいいですか?
イメージとしてはShift+F12でJPとUSをトグルして切り替えるような感じです
キーボードを認識して自動切替が理想ですけどそれはさすがに無理そうなので >>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 >>986
usとjpが意味上で逆なのは見逃していただいて #If (!isUsKeyboard)
; jp用スクリプト
#If (isUsKeyboard)
;us用スクリプト
#If
+F12:: isUsKeyboard := !isUsKeyboard
JPとUSでスプリクト切り替える意図が書かれてないけど
単純にOSのキー配列設定はJPのままでUSキーボードを使いたいってことなら
ULE4JISおすすめ >>986
これはどこにis_usの切り替えを書けばいいですか?
>>988
目的は、US配列の場合はLAlt、JP配列の場合は無変換キーを使ってijklでカーソル移動をしようとしています
試しに以下を書きましたがロード時にJP、USのメッセージボックスが立て続けに出るだけで
それ以降shift f12を押してもメッセージボックスが出てきません
#If (!isUsKeyboard)
Msgbox, JP
#If (isUsKeyboard)
Msgbox, US
#If
+F12:: isUsKeyboard := !isUsKeyboard まずは#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 無変換 のカーソル移動は面倒なことになりそうな予感 >>988,990
---------------------
#If (isUsKeyboard)
Msgbox, US
←ここを空けて
#If ←こことくっ付ける
+F12:: 〜 ←ここをくっ付ける
---------------------
横から悪いが、教えるんなら↑みたいな紛らわしい書き方しない方が良いんでは? >>990
動きました
ありがとうございます
USとJPで共通の位置にあるのがLAltと無変換でホームポジションから動かさなくてよいのでそうしようと思った次第です >>991
>>988,990
スマン、wikiでもそんな書き方してるね
>例3) 文脈に依存しないホットキー
>
>#If
>Esc::ExitApp
自分はいつも↓のように一セットで考えてるので…
---------------------
#If (ほげほげ)
〜
#If
--------------------- >>993訂正
---------------------
#If (ほげほげ 1)
〜
#If (ほげほげ 2)
〜
#If
--------------------- #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/ 以下新しいテンプレです。ミスで立てられなくなってしまったので、どなたかスレ立てをお願い致します。
!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
※テンプレここまで このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 404日 1時間 2分 1秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。