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/05/19(日) 22:11:49.46ID:shAc6I6q0
>>122
ホットストリングは入力されたテキストを置換するコマンドなんだからCtrlが機能しないの当たり前
ホットキーの機能と混同してないか?
2019/05/20(月) 01:33:16.42ID:1TQOMk6E0
>>123
なるほど。かといって

^@a::Send, {u+00e1}

としても使えないんですよねぇ。

^a::
If GetKeyState("@", "T")
Send, {U+00E1}
Else
XXXXX
Return

で取り敢えず ^@a::Send, {U+00E1} 状態を作れました。
同時押しではなくて時間差を認める調整は必要ですが。

ただ、これだと通常のCtrl と aで「すべて選択」が効かなくなる
のですが、@を押していない場合のElseのXXXXX部分、
どう書いたら良いのでしょう?
2019/05/20(月) 01:54:05.75ID:xmYDYS/R0
なんでわざわざそんな変な使い方しなきゃならねえんだ
^@::Send, {u+00e1}
とか
^+@::Send, {u+00e1}
とかでいいだろ
2019/05/20(月) 08:56:51.64ID:1TQOMk6E0
ですね。あとで気づきました。

^@::
If GetKeyState("a", "T")
Send, {U+00E1}
Return



^@::Send, {u+00e1}

^+@::Send, {u+00e1}

とせず ^@a にこだわるのは、あとで
^@e や ^ta とか、^+@a や ^+@e でも
使うつもりだからです。
2019/05/20(月) 12:08:02.73ID:yF4IvTXT0
話の趣旨が変わってね? 同時押しじゃなくて順次入力で認識させたかったんじゃないの?

そもそもが
[Ctrl]→[Shift]→[@]→[a] なのか
[Ctrl]+[Shift]+[@]+[a] なのか
指定がないのでようわからんが

真にやりたかったのは
[Ctrl]+[Shift]+[@]→[a] なのでは?
http://codepad.org/TkxXCpoa
2019/05/20(月) 12:37:55.01ID:yF4IvTXT0
訂正
多段ストロークでも動くようにするならこう
http://codepad.org/rW4gY0an
2019/05/21(火) 05:23:14.44ID:7W5GDYJe0
>>127
不慣れでわからないことだらけなので
まずは3〜4つのキーで目的の文字を出せるようにして、
キーの押し方はそのあとで考えようと思っていました。

リンクありがとうございます。あとで試してじっくり読んでみようと
思います。

とりあえず>120でヒントをもらったインプットを使って

^@::
Input,InputChar,C I L1 T10,{Esc},a
if ErrorLevel=Match
{
if InputChar=a
Send,{U+00E1}
}
return

としても ^@a は機能しました。数を増やしていくと何か
問題が出るのかはまだ検証してませんが。
2019/05/21(火) 05:57:15.89ID:zoAcTfZP0
>>129
>キーの押し方はそのあとで考えようと思っていました

いやそれは先にハッキリさせるべきところだろ
3キー同時押しなのか順番押しなのか、それによってやり方も全然変わってくるんだから
質問するなら正確に何をやりたいのか伝えるのが礼儀ってもんだ
でないと答える側はお前が何やりたいのか全く分からねえし話がズレてくだけ
最初にF1で切り替えとか言ってた話はどこ行ったんだよと
2019/05/22(水) 20:17:54.08ID:/ee0fjiV0
>>130
すいません。全部説明するとけっこう長くなるのと、
AHKではやりかたが変わるのかあとづけで修正が容易なのかも
はっきり知らなかったので1つずつ試行錯誤しながら質問していました。

F1の件は最低限の組み合わせを作ってテストしてうまくいきました。
F1はラテン文字以外のユニコード文字のまとまりを
複数切り替える想定のもので、^@aの話は日本語キーボードの
英数モードの拡張として試しているものです。

^@a でやっていることの全体像としては、1つのラテン文字
キーボードでできるだけ多くの音声記号つき文字や欧文で使う
合字・記号を出せるようにしようというものです。
ウィンドウズで設定できる外国語キーボードを調べるとどれも
一長一短で、また最も出せる文字が多いと思われるものでも
不足を感じたのと、どうせ切り替えるなら日本語の半角英数モードに
まとめてしまった方がいいのでは?と思いました。
@aや+@aの順次押しのようなやりかたは外国語キーボードで
使われているものです。^を加えたのは秀丸マクロで同じ事をする
場合、日本語英数モードの一部なので同じ場所が@になり、
@も残すために加えていたやり方を援用しようとしただけです。

なのでその先の話としては、^@aでアキュートつきaを出すのは
日本語キーボードの英数モードでのみにするとか、^+@aに更に
キャップスロックが加わる場合とか、英数モードへの集約に問題が
あって断念した場合、通常の言語切り替えで言語別にキーの
修正の仕方を変えられるのか?ということも調べようかと考えて
いました。

 上で教えていただいたリンクのkeysUpdateやKeysCheckや
KeysClearというのはAHKwikiには解説の項目がありませんが、
どういった物を読めば使い方がわかりますか?
2019/05/22(水) 20:23:04.87ID:MZL3QspE0
伝えるべきことを簡潔に伝えられない
これがアスペってやつか
2019/05/22(水) 21:17:29.23ID:oe8s41BQ0
動機や理由は該当の外国語キーボードとやらを知らない人には細かく書いてもわからないそれより動作仕様を簡潔にまとめよう

>128のkeysなんとか()はユーザー関数
複数にホットキーでほぼ同じことの繰り返し作業になるから纏めてあるだけ
新規.ahkに全文コピペで一通り動くように作ってあるんでとりあえず試してみて

関数についての解説はこの辺
http://ahkwiki.net/Function
2019/05/22(水) 21:38:52.02ID:1pCKYHNG0
ahkwikiって誰も更新しなくなったけどなんで?
2019/05/23(木) 11:42:50.67ID:mjktGPuh0
^ & [::Send, ^l
これが動作しないのですがどこが間違っているんでしょう
2019/05/23(木) 11:55:59.07ID:37i5KL+N0
おま環
2019/05/23(木) 17:32:46.46ID:ekgN0E6H0
ちゃんとここ押してるか?
https://i.imgur.com/1ktXRRa.png

ちなみに出力されるのはこれだぞ
https://i.imgur.com/g1EAYDF.png


コンビネーションキーは+^!#で修飾キーを追加したりは出来ない。
Ctrl+[ を指定したいなら
^[:: もしくは ctrl & [::

^ を出力したいなら
send,{^}[
2019/05/25(土) 05:32:06.78ID:MJ2GF8zW0
最後に閉じたフォルダ/ソフトを開くホットキー作りたいんですけど
閉じる前にWinGetで格納したウィンドウハンドルを保持し続けることってできますか?
2019/05/25(土) 10:04:03.67ID:6d36mUsG0
スクリプトを常駐させるなら変数に保持させることは出来る
非常駐ならiniやtxtファイルに書き出しておけばいい
2019/05/25(土) 12:21:35.07ID:GKynUIXB0
ウィンドウ閉じたらそのハンドルは破棄されるので
ハンドル保持したままにしたいなら閉じないでWinHideで非表示にして後でWinShowするしかない

完全に閉じた状態から復活(ソフト再起動)したいなら
・WinGet,...,ProcessPath でソフトのパスを覚えておく
・必要ならコマンドライン引数も取得しておく
・WinGetTitle / StatusBarGetText 等でタイトルバーやステータスバー上のフォルダパスを取得して覚えておく

で Run, %apppath% %option%
2019/05/25(土) 19:22:51.38ID:MJ2GF8zW0
>>139
>>140
アドバイスありがとうございます
しばらく時間ができたらつくってみようと思います
2019/05/27(月) 19:34:10.13ID:TeG2ijze0
MouseWithoutBordersを使って他のPCにマウスカーソルが移動している時に、
ControlSendを使ってウインドウを操作しようとするとおかしくなるのですが、何かいい対処法はないでしょうか?

MouseWithoutBordersのキーボードショートカットを使ってAHKを実行しているPCに移動させようとしても、別PCにマウスカーソルが移っている場合これも動きませんでした
2019/05/30(木) 13:21:26.98ID:jpyz9lJs0
WinCloseした時に対象ウィンドウが応答なし状態だと、次行以降のスクリプトが停止する事があります。
これを回避する方法はありますか?。
2019/05/30(木) 17:37:28.38ID:KRcnBsNi0
>>143
WinCloseしたあと Process, WaitClose や Process, Exist でプロセス終了したか確認して
もし終了してなければ Process, Close で強制終了させるとか
2019/05/30(木) 17:49:54.54ID:7Ufw480c0
LAltを2連打するとaキーを発行、押しっぱなしならALTキーを活かすという設定を作りたく書き始めたところ、

<!a::send,c ;<!で始まればなんでもいい

LAlt::
Keywait, LAlt, U
Keywait, LAlt, D T0.2
If (ErrorLevel=0) {
Send, a
}
Return

上記の様に<!で始まる無関係な一行をつけると、
この状態で何故か希望通りの動きをする事に気づきました。
例えばLALT+TAB、CTRL+ALT+DELETEも問題なく動作します。

If文に
else {
Send, b
}
を追加した場合は、何故か2連打時にもelseをすりぬけて、abと表示されますが、
ALTキー押しっぱなしの機能は有効のままです。

そして本来関係ないはずの<!を外すと記述通りの動きになります。
ちなみにLCTRLでも同じでした。この場合は冒頭が<^になります。
また普通の英数字の場合は本来の記述通りの動作しかしません。

変な言い方ですが、なぜそう動くのか分からずでして、どなたか解説願えないでしょうか。
また本来のものをシンプルな記述で完成させるとしたらどう書くのがよいでしょうか。

AHK v1.1.30.03です。
2019/05/30(木) 18:25:53.19ID:KRcnBsNi0
なぜと言われてもAHKはそういう仕様ですとしか
例えば <!a::send,c を消して
LAlt & Tab::AltTab
を追加するだけでもAlt+Tab はもちろん Alt+F4 なども使える様になるし
もっとわかりやすい例だと

LWin::Send,a

だけだと Win+R や Win+D などのショートカットが使えなくなるけど

LWin::Send,a
LWin & R::#r

と書くとWin+R はもちろんのこと、 Win+D や Win+Tab などの複数キー押しが全て使える様になる
(Winキー単押しの時だけSend,a)
修飾キーに関してはそういう仕様なんです
2019/05/30(木) 20:08:56.55ID:jpyz9lJs0
>>144
ありがとうございます。
WinClose前にタイマー起動して、指定時間経過してもプロセスが存在する時はProcessCloseするようにしました。
2019/05/30(木) 20:12:20.66ID:tGbdfQC+0
>>147
タイマー起動しなくてもProcess, WaitCloseで待ち時間指定できるよ
指定時間内に終了しなかったらProcess, Close
2019/05/30(木) 21:44:35.55ID:nVSJ01/e0
Windows 10 ver 1809 x64 + AutoHotkey 1.1.30.03 x64 を使っています
サクラエディタを AHK から起動し、確実に入力できる状態になってからキーストロークを送りたいのですが
Sleep で待つ以外にどんな方法があるでしょうか
2019/05/30(木) 21:45:37.85ID:UhMDJ/xR0
WinCloseでもWinWaitCloseでも待ち時間は指定できるけど
本来closeを待たないはずのWinCloseで止まってしまってるということは
同一スレッドでは対処不能ということかと




タイマーで別スレッド立ててやるのが(邪道だけど)一番確実じゃないかと

>>147
それが無難だろうね
2019/05/30(木) 21:47:17.16ID:UhMDJ/xR0
ごめん推敲中に書き込みボタン押しちゃった
>150は忘れて
2019/05/31(金) 08:45:22.31ID:i0vZu3Bs0
前から思ってたけどAHKって
入力デバイスの抜き差しとかBTイヤホンのドライバーいじったりすると
強制終了起きる時あるね... これって仕様?
2019/06/02(日) 08:22:08.15ID:K2f9runC0
そんなことはない
2019/06/02(日) 08:45:21.25ID:0NGkjVV40
joyキーの方はたまにだけど
BTの方はリモート制御とかのチェックボックス変更して適用するとほぼ確実に落ちるわ
しかも落ちた時、マウス制御が超鈍重になるからプログラムの終了を押すのが難しい

イヤホンが動作不安定なのが悪いんだけどさ
155名無しさん@お腹いっぱい。 (ワッチョイW 436c-q0WE)
垢版 |
2019/06/02(日) 13:37:22.12ID:fgLpX/350
よくんからんけどosクリーンインストールしたら治るんじゃない
2019/06/03(月) 05:43:40.99ID:Nn/lAMAN0
間違いねえ
2019/06/03(月) 09:12:40.86ID:PY0IUJxP0
PixelSearchで下から検索させる方法ってありますか?
イラストソフトで現レイヤーから親フォルダの特定の為に、下からPixelGetColorをループさせてるんですけど、若干遅いんですよね
左上から検索するのではなく左下もしくは右下からできると速く特定できそうなんですけど
2019/06/03(月) 09:40:34.90ID:nxrIzoAI0
Y1とY2を入れ替える

本家のドキュメントには書いてある
2019/06/04(火) 12:01:22.35ID:lwnGZ+XM0
>>158
ありがとうございます
早速試してみます
2019/06/04(火) 18:42:45.00ID:lwnGZ+XM0
入れ替えてみましたけど、Slow限定の機能なんですね
以前より遅くなりそうだったんで結局やめました アドバイスありがとうございます

それにしてもSlowは尋常じゃなく遅すぎる…
Fastがオプションじゃなくてデフォルト設定でいいんじゃないかと思いました
2019/06/04(火) 20:29:45.19ID:SfBx3yi30
ホットキーを特定のウィンドウだけで機能し、かつ特定のタイトルでは機能しないようにしたいのですが、どうすればいいかわかりません。

例えば、以下のコードでは思った通りに機能しません。
#IfWinActive ahk_exe chrome.exe
#IfWinNotActive Google
!A::Send, ^a
#IfWinNotActive
#IfWinActive

#IfWinActiveコマンドで実装は無理なのでしょうか。また他の方法でなら可能なのか教えて下さい。
2019/06/04(火) 20:41:39.23ID:wli2UBB50
>>161
#IfWinActive ahk_exe chrome.exe
だけを使って、 !A を押した時に
もしもアクティブタイトルがGoogleだったら何もしない
それ以外ならば Send, ^a
と言う条件分岐すればいいかと

#IfWinActiveと、#無しのIfWinActiveの使い方を整理して考えよう
2019/06/04(火) 20:58:58.09ID:OaQXkSrE0
#if () でand取ったらいいんちゃう
164名無しさん@お腹いっぱい。 (ワッチョイ a676-R3bS)
垢版 |
2019/06/04(火) 22:26:59.54ID:Es9oy+ZU0
日本語を含んだ文字列のバイト数を知りたいのですけど
unicode版だとStrLenは文字数を返してきます
簡単に知る方法は無いでしょうか?
2019/06/04(火) 22:47:51.14ID:jTUzc3z70
StrPut
2019/06/04(火) 23:23:28.93ID:f6UdUiHs0
>>161
WinActive()
ttp://ahkwiki.net/WinActive

#If WinActive("ahk_exe chrome.exe",, "Google")
#If
2019/06/05(水) 10:29:55.05ID:fxmk+rva0
>>137
わかりました。ありがとう。
2019/06/06(木) 17:37:34.32ID:p0DWWQ1S00606
Windows10で設定可能な解像度の取得が出来そうで出来ない。
Winの設定>システム>ディスプレイ>ここの解像度一覧の取得
わかる方お願いします。

参考ページ
https://nompor.com/2018/06/29/post-4002/
http://tokovalue.jp/function/EnumDisplaySettings.htm
2019/06/06(木) 19:42:01.81ID:mAiEbUms00606
>>162
>>163
>>166
解答ありがとうございます。
以下のコードのようにしたところ、思い通りに機能しました。

#If WinActive("ahk_exe chrome.exe") and WinActive("Google")
!a::Send, ^a
#If
2019/06/07(金) 11:14:32.49ID:0dL4X5eu0
動いたんならいいけど それChoromeかつGoogleの時しか動作しないんじゃね

>162の
>もしもアクティブタイトルがGoogleだったら何もしない
とは話違ってきてないか
2019/06/07(金) 12:13:25.60ID:AB/5CdCc0
WinActivateでアクティブにするより、Clickしたほうが高速で動作する気がするですけど
WinActivateを速くする方法ってありますか?

Clickだとペンタブと画面が近いとカーソルを乗っ取れない?というかバグる時があるから
なるべくClickさせたくないんですよね
2019/06/07(金) 12:21:08.67ID:0dL4X5eu0
まずはほんとWinActivateが遅いのか、どんくらい遅いのか検証してみたら
気がするレベルだと対策しても効果のほどを確認できないんじゃないの
2019/06/07(金) 12:23:35.63ID:0dL4X5eu0
あとペンタブとカーソル取り合いになるのはペンタブの仕様考えたら当然なので
バグじゃなくて正常動作な
2019/06/07(金) 12:36:05.08ID:AB/5CdCc0
0.11〜0.14秒だからむしろ速いとは思うんですけどClickは0.03〜0.05秒で終わると思うと遅く感じるんですよね
何回かアクティブにさせるスクリプトだとチリが積もって遅くなるというか...
2019/06/07(金) 12:41:41.50ID:Pk+QS0650
>>174
どういう計測方法?
2019/06/14(金) 00:32:15.07ID:FvBTnZwU0
設定中に変換キー効かなくなってアンインストールしても反応ないんですがこのケースご存じの方いませんか?
キーボードが英語用で認識されてないかとか物理的に壊れたのかとかどれも違うみたいで
再変換機能が使えないだけではなくキー自体が反応しないんですがこういったことはあるんでしょうか
2019/06/14(金) 00:34:43.83ID:ZQ1uaq1W0
ここはエスパースレじゃない
2019/06/14(金) 00:45:10.33ID:o4YA/Bqa0
アンインストールして再起動
それでも起こったらAHK関係ない
179名無しさん@お腹いっぱい。 (ワッチョイ 63b1-mMzj)
垢版 |
2019/06/14(金) 00:52:31.05ID:FvBTnZwU0
>>178
再起動してもダメだったのでAutoHotkey関係なしで調べてみます
ありがとうございました
2019/06/15(土) 12:55:48.17ID:R0IGa2Cr0
ahkの命令を途中まで入力したらヘルプ(引数の一覧とか)が出るみたいなテキストエディタってありますのん?
2019/06/15(土) 13:44:32.12ID:UFe75xeO0
Visual Studio Code に ahk用プラグインがいくつかあるね
VSCodeでahkを入力していないから詳しくはわからない
2019/06/15(土) 17:12:53.90ID:5czqDlcN0
前スレの950あたりから後ろを参照

AutoHotkey スレッド part26
http://egg.5ch.net/test/read.cgi/software/1524647289/950-
2019/06/15(土) 22:10:37.37ID:sR/eeJYQa
>>180
開発環境の構築
AutoHotkey用のシンタックスハイライト、オートコンプリートなどの定義ファイル
http://ahkwiki.net/Tools
2019/06/24(月) 19:21:30.12ID:CAnB0qRX0
AutoGui2.3.8からデバッガがうまく動作しない
同じ人おらんか
2019/06/24(月) 19:22:26.89ID:CAnB0qRX0
2.3.8じゃねえ2.5.8
2019/06/25(火) 18:36:07.38ID:fJAmXUdV0
wiki 見ながら書きました
メモ帳は動くのですが、秀丸は動きません 何が原因なんでしょう

メモ帳
WinActivate, ahk_class Notepad
WinMenuSelectItem, ahk_class Notepad, , ファイル, 開く
秀丸
WinActivate, ahk_class Hidemaru32Class
WinMenuSelectItem, ahk_class Hidemaru32Class, , ファイル, 開く
2019/06/25(火) 18:53:20.08ID:tmUVz3tk0
>>186
AHKスクリプトを管理者権限で実行しても動かないかな?
2019/06/25(火) 19:03:32.69ID:fJAmXUdV0
動かないです。
2019/06/25(火) 19:07:52.76ID:fJAmXUdV0
秀丸はアクティブにはなるのですが、WinMenuSelectItemの方が動かないです。
2019/06/25(火) 19:10:13.10ID:jHJHoOEZ0
ヒロシです。
2019/06/25(火) 19:25:14.41ID:tmUVz3tk0
>>188
じゃあ仕方ないね
>特殊な仕様のメニューバーを使用している場合、このコマンドで操作することは出来ない。

Sendとかでメニュー操作を代用すればいいんじゃないかな
2019/06/25(火) 19:38:45.42ID:I1hNxfkx0
ショートカットキーでどうぞ

Send ^o
2019/06/25(火) 21:24:10.16ID:uruLriSQ0
>>190
ちょっとわらった
2019/06/25(火) 22:54:58.13ID:HgfYOxLv0
秀丸はコントロールを独自にオーバーラップしてるのでメモ帳のようには扱えない
>192のようにショートカットキー投げちゃうのが簡単だと思うけど
あえてメニューを実行させたいならリソースハッカーでメニュー番号調べてWM_COMMAND を投げてやるといい

WM_COMMAND = 0x111
MENUITEM_OPEN = 4
WinActivate, ahk_class Hidemaru32Class
PostMessage, %WM_COMMAND%, %MENUITEM_OPEN%, 0, ,ahk_class Hidemaru32Class
https://i.imgur.com/P00ELZl.png

参考
https://ajinoya.hatenadiary.org/entry/20080509/1210329386
2019/06/26(水) 12:29:12.81ID:cfzOTqWJ0
>>194

ありがとうございます。 動きました。
秀丸を動かしたいわけでなくショートカットキー設定がない別のソフトを動かす勉強のつもりで
最初から動かなかったので助かりました。
196名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)
垢版 |
2019/06/26(水) 16:08:17.86ID:SU3Y3WNV0
検索ソフトのeverythingを使っていますが”クリップボードの監視機能”
がないので下記を作りました。

#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
Return

firefoxで試しましたが、検索文字をコピーすると、firefoxの画面の上に、
everythingの検索結果の画面が毎回出てきます(ちょっとうざい)。
下記改善をしたいので知恵をお貸しください。

改善したいこと:コピーは、検索のためだけじゃないので、いつもはeverythingをfirefoxの
画面の下で動かして置き、検索結果を見たい時だけ、everythingの画面をクリックして、
上に持ってきたい。見た後は、FIREFOXの画面をクリックしてeverythingの画面を下にしたい。

表示優先度を最優先にできるソフトを使ってみたが、FIREFOXの画面が常時上になり、
everythingの画面は、隠れたままになりだめでした。

AHKですがキーボード操作は使いたくなく、クリック動作だけで行う方法を教えてください。

文章力がないので、うまく伝わるといいのですが。
2019/06/26(水) 16:50:47.94ID:5afaXcPU0
>>196
ようするにEverythingをバックグラウンドにしたまま検索できればいいんだよね?
RunしないでControlSetText使う
198名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)
垢版 |
2019/06/26(水) 19:21:23.57ID:SU3Y3WNV0
>>196 です。
調べましたが、ControlSetTextの使い方が素人にはわかりません。
できたら、答えをください。
2019/06/26(水) 20:33:10.24ID:5lMSjDGm0
>>198
ここは学ぶ気無い人に答え丸々くれる人は殆どいないよ
もし学ぶ気があるならwikiのControlSetTextの使い方説明をしっかり読んで
その上でどの部分が理解できないのかを書いてくれないと
こちらも「何が分からないのか」が分からないので教えようが無いよ
2019/06/26(水) 21:37:45.44ID:fx2Owl41a
かなり根本的な問題な疑問
クリップボード監視機能はどういうときにほしいんだ?
検索結果を見たい時だけ見るのならクリップボードの監視は必要ないのでは?
Firefoxの下で動作させておく意味はあるのか?

Everythingというソフトの構造がインデクス作成用のサービスと表示用のEXEが別になっているとすればだけど
必要なときにクリップボードにある文字列を渡して起動すればいいだけなような気がするけど
そのときにRunWaitを使うようにして抜けてきたらFirefoxをアクティブにすればいい
Everythingを知らすに言っているので頓珍漢かもしれないけど
2019/06/26(水) 21:49:02.47ID:ZyitK4Lg0
everything使ってるけどクリップボードを監視させようという発想が理解できない
キーボードショートカットでコピー→クリップボード検索でいいじゃんとしか
2019/06/26(水) 22:10:21.02ID:aFqC4gPH0
自分もそう思う
>>196
>キーボード操作は使いたくなく、クリック動作だけで行う方法
というなら、長押しやロッカージェスチャーでEverything専用のものを作ればいい
文字列選択した後に、例えば右ボタン+X1ボタンで、
Ctrl+C
Clipwait
Run,〜
とかでいいんじゃないの
2019/06/26(水) 22:13:08.84ID:Yek0UStY0
そのものズバリをやりたいならControlSetTextを使う(難易度 中)
一瞬ちらついてもいいのなら直前のアクティブ(firefox)を再アクティブにする処理でごまかす(難易度 低)
バックグラウンドじゃなくて最小化で妥協するならMINオプション付きでrunする(難易度 低)

ただ願わくばクリップボードにあるものを何でもかんでもEverythingに送る必要が本当にあるのかよく考えて欲しい
>200やhttp://egg.5ch.net/test/read.cgi/software/1559369719/29,36 でも再三アドバイスされてるが
ホットキー起動で検索したい時だけEverythingに送るのがもっとも簡単でスマートな解決法だと思う
204名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)
垢版 |
2019/06/26(水) 22:38:36.80ID:SU3Y3WNV0
>>200/201/202さん
舌足らずで申し訳ない。
Aという画面(例:firefox)で出てくるワードを頻繁にコピーしてネットで調査して記録しています。
この作業の中で、調査済みかどうか判断するために検索をかけています。
この検索は連続して必要な場合と記憶で不必要と判断できる場合があります。
検索ソフトのeverythingを使う場合
@検索をかけたい文字列をコピーし
AEverythingの画面を出し
BEverythingの検索ボックスにペースト
して検索しているが、”クリップボードの監視機能”があればBの動作を
省略できるので、その方法を探しています。

---ということで、>>196の質問をしています。
2019/06/26(水) 22:47:53.45ID:aFqC4gPH0
>>204
んー、つまり>>196は、どこかしらから拾ってきたもので、そのスクリプト自体をよく分かってないってことか
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
が、
>AとBの動作を省略してることになるんだが…
AHKだけじゃなく、コマンドラインも理解しないとダメだよ
206名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)
垢版 |
2019/06/26(水) 22:56:12.36ID:SU3Y3WNV0
>>199さん
おっしゃる通りですが、
#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard% "
Return

の中で、今与えられているヒントは、RUNしないでControlSetTextを使えということだけです。
理解できたのは、everythingは起動させている状態で(構文では起動させない)
Clipboardの変化でeverythingにデータを送るということです。
ということで、
#Persistent
OnClipboardChange:
ControlSetText, Edit1, New Text Here, Untitled -
Return
まで来ましたが、Clipboardの指定と、
C:\Program Files\Everything\Everything.exeの指定をどうやってやるのか、
でつまずいています。ご指導をお願いいたします。
207名無しさん@お腹いっぱい。 (ワッチョイ 9320-F2Fz)
垢版 |
2019/06/26(水) 22:58:35.42ID:SU3Y3WNV0
>>204 さん
おっしゃる通りです。
100年早いですかねー。。。。
2019/06/26(水) 23:00:41.21ID:aFqC4gPH0
>>204
Everythingについてスレチだけど、↓読んで、-s がどういう意味なのか確認しよう
コマンドラインオプション - Everything日本語ヘルプ
ttps://sites.google.com/site/everythingjphelp/command_line_options
↓と組み合わせれば、もっと絞り込んだ検索ができるようになる
ttps://sites.google.com/site/everythingjphelp/searching

>>206
>RUNしないでControlSetTextを使えということだけです
何人も書いてる通り、その必要はないw そこから離れるべき
2019/06/26(水) 23:04:52.58ID:quYLqF180
教えて君五大要素
1. 読まない
2. 調べない
3. 試さない
4. 理解力が足りない
5. 人を利用することしか頭にない
2019/06/26(水) 23:25:22.02ID:5lMSjDGm0
>>206
wikiのサンプルコード
ControlSetText, Edit1, New Text Here, Untitled -
これはメモ帳を使った一例だよ
日本語版メモ帳の場合は最後のウィンドウタイトルはUntitled ではなく 無題 - だけどね

ウィンドウ指定の方法はwikiにリンク書いてあるからそれをちゃんと読もう
タイトルの他に、exeで指定したり ahk_class で指定したり出来る
(↑これ基本中の基本だからとても大事)

上記サンプルの Edit1 はメモ帳のテキスト入力欄のコントロールなので
Everythingの検索ボックスのコントロールはAHK付属の Window Spy で調べましょう
2019/06/26(水) 23:41:40.05ID:pGhNbyeE0
ControlSetText, Edit1, %Clipboard%, ahk_class EVERYTHING
2019/06/27(木) 19:16:56.84ID:GJMvau+Va
>>207
モチベーションのあるときほど学習効率がいいと思う
つまり今こそチャンス
213名無しさん@お腹いっぱい。 (ワッチョイ 4a20-Ij2G)
垢版 |
2019/06/27(木) 19:58:24.56ID:3ZicoPkN0
>>212さん
砂漠で道に迷っているときにこの言葉、私にとってのオアシスです。
ありがとうございます。
>>211/210さん
具体的な構文と Window Spy というキーワードで少し進めたような気がします。

#Persistent
OnClipboardChange:
ControlSetText, Edit1, %Clipboard%, ahk_class EVERYTHING
Return

でやっていますが、everythingの検索窓にClipboardの内容が入って来ません。
ほかの方々のご意見も含めて何回も何回も読んで、少しずつかみ砕いて行っています。

ControlSetTextから離れろ、というご指摘も含めて、七転八倒しています。
時間はかかりますがよろしくご指導ください。
2019/06/27(木) 20:18:57.73ID:GJMvau+Va
>>213
検索窓にキーワードが入らないのはEXEが起動してないからでは?
ウィンドウが最小化されていてもちゃんと入ったぞ
2019/06/27(木) 21:00:52.91ID:FFKBRgzw0
タスクトレイに入ってる場合は
DetectHiddenWindows, on
しないとだめかもね
2019/06/27(木) 21:01:28.47ID:FFKBRgzw0
それかあれだ管理者権限
217名無しさん@お腹いっぱい。 (ワッチョイ 4a20-Ij2G)
垢版 |
2019/06/27(木) 22:00:48.31ID:3ZicoPkN0
>>213です。
管理者権限 でした。構文はあってたようです。
おかげで実行ファイルの作り方まで覚えてしまいました。(大したことではないですが)
助言、ありがとうございました。
初めて利用しましたが、あったかいですねここのスレは。ーーー感謝!感謝!
2019/06/27(木) 22:30:09.18ID:GJMvau+Va
なるほど管理者権限か
解決したところで
こういうやり方もありではないかというやり方

Run,C:\Program Files\Everything\Everything.exe -minimized -s "%Clipboard% "

キーワードを送ると最小化するので
Everythingのウィンドウが見えている状態では違和感があるかもしれないが、
ほかのウィンドウの裏で動作しているなら
これでも実質ほぼ同じような使い方ができる
219名無しさん@お腹いっぱい。 (ワッチョイ 56be-Ij2G)
垢版 |
2019/06/28(金) 09:57:37.77ID:4QUstTnm0
結果報告です。
minimizedのほうがいいかも。
everythingの起動がいらないし、たくさんの画面が出ているときに一つでも画面を
減らしたい場合に効果があります。

ということで、最終形として下記にしました。
#Persistent
OnClipboardChange:
Run,C:\Program Files\Everything\Everything.exe -minimized -s "%Clipboard% "
Sleep,5000
Return
2019/06/28(金) 10:15:09.45ID:l/xbYwT/0
最小化でいいなら
Run,C:\Program Files\Everything\Everything.exe -s "%Clipboard%", ,MIN
でも行けるで
アプリ側にコマンドラインスイッチない時用な
2019/06/28(金) 12:26:31.85ID:ONfMFbQ2a
流れぶった切って悪いんだけど、Shutdownコマンドのオプションにある「電源を切る」ってどういう効果?Win8.1以降の電源を切るシャットダウンになるってこと?
2019/06/30(日) 10:29:26.75ID:cPd/cUyO0
AHKって、夜中の12時にリロードされるってことはありますか

なぜか、私のAHKは夜中の12時にリロードされてしまうのです。
リロードされてしまうので、デバッグをしようにもおかけようがないのですが何かいい方法はないでしょうか
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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