AutoHotkey スレッド part25 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ f977-fKjf)
垢版 |
2017/09/14(木) 11:52:40.84ID:uijNj4qb0

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

■前スレ
AutoHotkey スレッド part24
http://egg.2ch.net/test/read.cgi/software/1487149472/

■日本語解説等
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: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2017/11/25(土) 11:56:20.53ID:lMhgyyaw0
たとえば、
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
}
みたいな技って使えませんか。これではダメだと思いますが。スクリプト生成まではやってくれないのでしょうか
2017/11/25(土) 12:00:28.80ID:kBt1V0zO0
>>452
それなら、filenameを引数にした関数で良いんじゃないかな
2017/11/25(土) 12:07:18.25ID:lMhgyyaw0
そう言われると思いましたが、これは一例で関数は使えないときでお願いします
スクリプトの展開まではしてくれないのですか
2017/11/25(土) 12:28:22.23ID:YtrqIety0
ラベルの省略はできないが処理はまとめられる
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
2017/11/25(土) 12:39:03.92ID:lMhgyyaw0
>>455
なるほど、A_thisLabelを使うというのは思いつきませんでした
ちょっとやってみましたが、これは使えそうです
それと、temp.ahkを出力するやり方ですが、これもインクルードファイルを自動生成させて
それを読み込ませるという方法が出来そうですね
ahkがインクルードファイルを読み込むタイミングを確認する必要がありそうですが
ちょっと期待できそうですw
インクルードファイルがなければ自動生成させてreloadで再実行し、ファイルが出来てれば
自動生成処理は飛ばすとか
2017/11/25(土) 12:46:13.64ID:E2bEhulC0
いろいろわかったつもりになってるだけのことが多そうな人だから
関数が使えないと言うのもきっと思い込みなんだろう
2017/11/25(土) 12:49:04.66ID:lMhgyyaw0
ラベルは最初からないとエラーになってしまうのか
ならインクルードファイルではダメなのかな
でもthisLabelが使えるのは教えて頂いて助かりました
2017/11/25(土) 13:02:38.22ID:lMhgyyaw0
インクルードファイルを使う方法も、ラベルだけを宣言しておいたファイルを作っておいて
その後自動生成させれば出来ました。ありがとうございます
2017/11/25(土) 14:01:31.19ID:YtrqIety0
呼び元を動的callにすればdummyラベル処理も省けると思われ
if IsLabel(label%no%){
gosub,label%no%
}
2017/11/25(土) 15:17:00.90ID:b+uTWP1T0
>>431
「AutoHotkey:キー押しっぱなし病・ホットキーすり抜け病対策の研究」
http://did2memo.net/2013/10/03/autohotkey-ctrl-key-is-stuck/
2017/11/26(日) 01:39:07.12ID:M6Ym3I8na
そういえば俺の環境下だとすり抜け最近ないな
スクリプトの書き方でかなり変わるのかも
2017/11/26(日) 07:00:55.53ID:JvtGy1OW0
>>462
キーログソフト(インストール不要)を立ち上げて負荷を掛ける顕著に再現できる
http://kts.sakaiweb.com/keymill.html
464名無しさん@お腹いっぱい。 (ワッチョイ 7fe0-DWFp)
垢版 |
2017/11/26(日) 08:14:54.78ID:Dha5Tkpk0
ホットキーを押したら特定の変数をリストビューに追加する事って出来ますか?
リストビュー初期化時にLV_Addで追加する事は出来たのですが、リストが作られた後に追加する方法が分かりません。
465464 (ワッチョイ 7fe0-DWFp)
垢版 |
2017/11/26(日) 08:25:47.32ID:Dha5Tkpk0
自己解決しました。
LV_Addで変数を%で囲ったらダメでした。外したらいけました><
466名無しさん@お腹いっぱい。 (ワッチョイ 0767-DWFp)
垢版 |
2017/11/26(日) 20:16:06.88ID:dJtA2dZF0
現在のCoordModeを参照する方法ってありますか?
関数内でのみScreenにしたいのですが。
2017/11/26(日) 20:18:04.92ID:tWW84a3A0
A_CoordMode
468名無しさん@お腹いっぱい。 (ワッチョイ 0767-DWFp)
垢版 |
2017/11/26(日) 20:57:46.19ID:dJtA2dZF0
A_CoordModeToolTipみたいな感じなんですね
A_CoordModeだけで試してて「出ないじゃん」とか思ってました
ありがとうございます
2017/11/27(月) 19:53:12.22ID:EWIA3ZBQ0
Visual Studioで AutoHotKeyを動かす方法はないでしょうか
Win10 + Visual Studio community 2017 では動きませんでした
Win7 + Visual Studio 2013(管理者権限で実行) もダメでした
Win7 + Visual Studio 2013(管理者権限でない) はAHKきちんと動いたのが謎ですが・・
2017/11/27(月) 19:56:01.38ID:EWIA3ZBQ0
すいません、
Win10 + Visual Studio community 2017 も
管理者権限だとAHKは動かなくて
管理者権限でないとAHKが動きました。
これは何なんだろう
471名無しさん@お腹いっぱい。 (ワッチョイ 4787-sSls)
垢版 |
2017/11/28(火) 01:35:37.31ID:mrDQFh/p0
確実にAHKがダメだから
この際、keyhacに乗り換えるのが賢明、時間が勿体無い
2017/11/28(火) 01:49:44.36ID:yiIB//of0
いつまでこのスレに粘着してんだよ
早く消えればいいのに
ここに居る人はkeyhacじゃ出来ない事が腐るほどあるからahk使ってんだし
2017/11/28(火) 03:26:21.76ID:xNQcaR7I0
KeyHacも試してみましたが、こちらもやはり
Visual Studioを管理者権限で実行するとキーリマップが効かないみたいですね・・
2017/11/28(火) 06:51:35.58ID:58J1MEBb0
>>473
一応確認しとくけど、Visual Studioそのものを操作したいなら、管理者権限が必要かもしれないのはAHKの方だぞ
AHKの側に権限が無いなら、>>469-470 は正常動作
2017/11/28(火) 11:52:35.53ID:kVU4R78e0
keyhac最高!!
2017/11/28(火) 12:13:32.39ID:vCAPOVUQa
きーはっくってのは使ったことがない
2017/11/28(火) 14:03:02.90ID:marODPdK0
ウインドウのハンドルを取って来て、そのウインドウ上に絵を描くことって出来ますか?
Dll等を使っても構いません

あるウインドウがあって、特定の場所がはっきりわかるように色を上書きして塗りたいのです。
既存のウインドウにデコレーションするというか

AHK以外でも、もしそういうことが出来る方法をご存じなら教えてください
2017/11/28(火) 16:51:01.37ID:xNQcaR7I0
>>474
ありがとう!解決しました!
おっしゃる通りAHKを管理者権限で実行したらVisualStudioでもきちんと動きました
2017/11/28(火) 17:10:30.64ID:Aj3x6nim0
https://autohotkey.com/docs/FAQ.htm#uac

UIA有効じゃダメなん?
2017/11/28(火) 19:00:19.64ID:mbteePMb0
>>477
WinGetでハンドルが取れる
WinGetPosでウィンドウのサイズと位置が取れる
Guiでウィンドウにかぶさるようなウィンドウを作ったり画像を表示できる
WinSetでウィンドウの表示領域や透明度をいじれる

こんなとこ?
2017/11/28(火) 19:47:20.21ID:marODPdK0
>>480
とってもいいヒントを頂きました。ウインドウに直接描画するのではなく、別のウインドウを作って
それにお絵かきして上に載せるということですね。で、WinSetで表示領域を加工するとか
ちなみに、AHKのGUIで、ツールチップのようにタイトルとか枠とかのないほんとにプレーンなウインドウって
作れますか
2017/11/28(火) 20:41:51.03ID:lLg2f02R0
>>481
F1::
Gui, Color, 00AA00
Gui, -0x00C00000 +ToolWindow
Gui, Show, W300 H200
Return

みたいな感じかな
あとはマウスイベント透過するとかWindowの切り抜きとか透過率とかはWinsetで指定
さらにWindowの移動やサイズ変更に追従させるとか、非アクティブ時や最小化時にhideするとかの必要があればそれも考慮する必要あるかな
2017/11/28(火) 20:49:17.54ID:marODPdK0
>>482
すばらしい。ありがとうございました。これは参考になりました
2017/11/28(火) 20:50:45.05ID:marODPdK0
ああ、実際にこれ、動かして試してみましたよ。これをベースにいろいろと考えてみます
2017/11/29(水) 17:22:52.94ID:n/Ybzuan0NIKU
tooltipの背景色を変えることは出来ますか。その方法を教えてください
2017/11/29(水) 23:31:00.65ID:Fqluvrxu0NIKU
MGLのジェスチャ表示が色付きだけどあれはツールチップじゃなくてGUIをツールチップっぽくしてるだけなのかな?
MGLのソース見てみたら分かるかも
2017/11/29(水) 23:37:42.39ID:GQggD9Lg0NIKU
>>485
progressやguiなら色やサイズを変更可能なのでTooltipとして代用可能
https://egg.5ch.net/test/read.cgi/software/1487149472/134
2017/11/30(木) 15:57:06.36ID:S5EWhTc40
特定のコントロールにマウスオーバーしただけで、そのコントロールにフォーカスを移すことは出来ますか?
教えてエロいひと。
2017/11/30(木) 17:17:53.07ID:JYsA73zK0
1.MouseGetPosでマウス下のコントロールを取得できる
2.SetTimerで常にマウス下のコントロールを監視
3.取得したコントロールにControlFocus(必要に応じてWinActivateも追加)でフォーカスを移す
でどうだろう。スマートではないが。
2017/11/30(木) 18:19:12.52ID:S5EWhTc40
>>489
ありがとうございます。
本来の目的を達成する方法はあるのですが。。
マウスオーバーはトリガーに出来なさそうですね。。。
2017/11/30(木) 19:21:19.06ID:YADM5yWfd
再生デバイスを変更して
ポップアップに変更した端末名
が出るようなスクリプトを
Windows10でやり方教えて
いただけないでしょうか?
2017/11/30(木) 23:52:51.72ID:z9WhXSkf0
>>488
割りとかんたん。
タイマーでモニターしてマウスオーバーでウィンドクラスを取り続けて変数によけとく
変数内のウィンドクラスとマウスオーバーで取ったクラスが違ったらそのウィンドクラスをアクティベートする


以前作ったけどウィンドの順序が切り替わりまくってボツにした
2017/11/30(木) 23:54:25.60ID:z9WhXSkf0
ホットキーをトリガーにするのが嫌ならセットタイマー判定とかWhile判定でええんよって話
494名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/01(金) 11:10:36.81ID:TiVxu/Rn0
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になったり
するんで、もっといい方法ないですか?
ご教授お願いします。
2017/12/01(金) 21:47:06.69ID:rX6n9K6c0
>>494
OHP 見た感じ COM が使えそうなんだけど、どうだろう
http://qttabbar-ja.wikidot.com/scripting

qt := ComObjCreate("QTTabBarLib.Scripting")
qt.Open(path)
2017/12/01(金) 23:41:13.96ID:3bBdrdON0
>>494
QTTabBarは使ったことないのでいい加減だけど、タブブラウザみたいに
新規ウインドウで開くか新規タブで開くかオプションで設定できないのかな?
497名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/02(土) 10:28:46.57ID:kgC/DzRO0
>>494です。
>>495
どうも、ファイルを選択してフォルダを開くメソッドが無いみたいなんですが、
どうでしょうか?
>>496
shellexecutehookを利用してキャプチャするにチェックをしても、別のプロセスで
フォルダーウィンドウを開くのチェックを外しても
Run, explorer `/select`,"%path%"
とすると、新規ウィンドウで開いてしまうみたいです。

あと報告です。
Clipboard := string
の後に
Sleep, 100
を入れたらNullになる症状が今のところ出ていません。
2017/12/02(土) 10:39:02.57ID:/oo7d0lg0
>>491
少し脱線するけど俺は「App=Device」というコマンドラインで再生デバイスを変更できるフリーソフトを使用してる
AHKとこれを組み合わせてポップアップを表示したりすればお望みのことが出来るんじゃないかな
環境によっては管理者権限で実行する必要がある
499名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/02(土) 11:44:01.02ID:kgC/DzRO0
>>495
qs := ComObjCreate("QTTabBarLib.Scripting")
qs.Open("C:\Users\UserName\Documents")
aw := qs.ActiveWindow
at := aw.ActiveTab
at.SelectedItems := "Book2.xlsx"
と記述したらできました!ありがとうございました!
2017/12/02(土) 12:08:48.75ID:TChgRzeMM
解決したみたいだから蛇足だけど起動中のエクスプローラ(qttab)と
ahkrun、ファイル名runで管理者権限の有無が統一されてなかったとか?
ファイル名runでだけ別プロセスにならない理由がよく分からんね
501名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/02(土) 15:13:06.03ID:kgC/DzRO0
>>494です。
>>500
試しに
RunAs, %USERNAME%, %PASSWORD%
Run, explorer `/select`,`"%filePath%`"
RunAs
とやっていたところを、単に
Run, explorer `/select`,`"%filePath%`"
と書き換えてみましたが、どちらとも新規ウィンドウで開いてしまいます。
コマンドプロンプトからやってみても同じでした。

ファイル名を指定して実行のexeを見てみたところ、explorer.exeとなっていた
のでこれが原因ではないでしょうか?
2017/12/02(土) 20:16:38.83ID:uHWvz9WS0
すみません、以下の場合に複数のキーの状態をまとめて指定する事は可能でしょうか?。

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")
とか素人なりにやってみましたが、全くダメでした。
宜しくお願いします。
2017/12/02(土) 20:34:40.15ID:cHZIOoQo0
やってないから動くかわかんないけど、普通に考えるなら

If( GetKeyState("RButton", "P") or GetKeyState("MButton", "P") or GetKeyState("XButton", "P") )
msgbox Hit

とか
2017/12/02(土) 20:58:57.20ID:uHWvz9WS0
>>503
キタ━━━━━━(゚∀゚)━━━━━━ !!!
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
顔射感激雨あられぇ!
本当にありがとうございました!
2017/12/02(土) 23:02:31.70ID:WK+VS/5y0
>>503
「and」や「||」や「or」を知ってるのに書式が分からないって・・・
wikiとかhelp見ないで適当にやってできないから質問した感がもの凄くあるんだが・・・
2017/12/02(土) 23:07:16.71ID:uHWvz9WS0
>>505
これが素人AHK使いの現実何です。
お察し下さい。
2017/12/02(土) 23:16:56.10ID:cHZIOoQo0
ルールブックがあってもその見方がわからんってレベルだろ
でもちょっとやれば、すぐにわかるようになるよ
2017/12/02(土) 23:26:20.75ID:uHWvz9WS0
はい、精進します。
2017/12/03(日) 07:59:09.08ID:QukwnooP0
andとorは数学の集合でやるからプログラム素人でもわかるよ。
「かつ」と「または」のことだ。縦線は初めてみたときわからんかったので
ヘルプみたが。
2017/12/03(日) 08:08:36.38ID:Y2oOWibi0
中学校かよここは
511名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/03(日) 10:41:00.60ID:OIZ/xCmR0
>>499です。
前述した方法で行うとAHK起動後、約5分くらいで下記のエラーが出ます。

Error.File:C:\Apps\MouseGestureL\Config\MG_User.ahk
Error.Line:771
Error.Message:0x8013150B -
Source: 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

どなたか解決策をご存知の方、ご教授お願いします。
2017/12/03(日) 10:43:25.22ID:vwDuTRcl0
Dllがよくわかりません。詳しく説明してるサイトとかないですか
513名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/03(日) 11:38:27.14ID:OIZ/xCmR0
こんなのとかどうでしょう?
https://support.microsoft.com/ja-jp/help/815065/what-is-a-dll
2017/12/03(日) 18:02:34.24ID:Ob6koUHa0
>>512
VisualStudio VC++とかやらないとその世界は難しいよ
2017/12/03(日) 20:28:38.05ID:cPf87cAl0
winapi関係はほぼVB(A)で覚えたわ
あっちもDeclare宣言必要だから型とか調べるのによくVBの解説サイト見に言ってたわ
今だとMSDN直に見たほうが早いんだろうけど
516名無しさん@お腹いっぱい。 (ワッチョイWW b587-5nm6)
垢版 |
2017/12/03(日) 20:52:39.69ID:1qkTmGRt0
>>512
https://sites.google.com/site/agkh6mze/howto/dllcall
2017/12/03(日) 23:38:28.28ID:3sJMVIk90
Mouseclick left
Sleep,aaa
mouseclick left
Sleep,bbb
.
.
Gosub,A


でgosubの処理時間をループするsleepで調整したいのですが
Gosubの処理時間を計る方法ありませんか
2017/12/03(日) 23:52:11.18ID:cPf87cAl0
A_TickCountとかA_Nowとか見て処理開始と処理終了で引き算すればいいよ
2017/12/04(月) 00:26:00.35ID:EgqKnQ0L0
>>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
2017/12/04(月) 00:34:18.83ID:W2przMgQ0
StartTime := A_TickCount
Gosub,A
ElapsedTime := A_TickCount - StartTime
MsgBox, %ElapsedTime% milliseconds have elapsed.

これでも可?
2017/12/04(月) 00:42:07.14ID:W2przMgQ0
お二人が答えてくれてました。
ありがとうございます!
2017/12/04(月) 03:27:44.42ID:K4EOO4xA0
>>511
ComObjCreate("QTTabBarLib.Scripting") を使って、使う度に毎回インスタンスを取得してますか?
グローバル変数に一度取得したあと、使いまわしてたりしませんか
2017/12/04(月) 09:05:37.77ID:x7eWud6V0
>>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 := 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?
524名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/04(月) 09:05:55.01ID:x7eWud6V0
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
でエラーが出るんですよね〜。
理由がいまいち分かりません。
2017/12/04(月) 09:57:59.55ID:ytS1hYKF0
Chromeで何十ページも開いて、特定の文字(リンクになってる)をクリックする作業をしてるんですが、自動化したいです
特定の文字をクリックする方法があれば教えてください。
文字の場所はばらばらなので、場所指定のクリックは出来ません。
526名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
垢版 |
2017/12/04(月) 16:44:32.30ID:x7eWud6V0
>>524です。
結局、その箇所だけjsで対応することにしました。
原因は今も分からずです。
お騒がせしてすいませんでした。
2017/12/05(火) 15:13:33.43ID:8CvOUnVS0
>>525
1、最初に開くページをURLDownloadToFileでローカルにファイルとして落としていく
2、落としたファイルの中をLoop(file)、Loop,Readでループさせ、RegExMatch()で検索する
3、目的の文字列があったらRunでそのURLを開く
2017/12/06(水) 01:55:08.84ID:HOg34AwG0
>>527
自分には難しかったので、URLコピペして文字追加して貼り付ける方法で代用できました。
ありがとうございました。
2017/12/06(水) 10:06:45.47ID:WwbqM6o60
お知恵拝借したく…
getkeystateによってあるキーの押し下げ有無はとれますが そうでなく、「いま押し下げられてるキーを一覧で得る」ような方法はありますか?

ホットキーなど使用していると、自分の環境だとわりと発行されたキーがそのまま残ったりします
今まではプログラム的にキー残りがないよう試行錯誤してましたが、単純に「物理的に、残ったそのキーをもう一回押す」と直ることに気づきました
ちょうど、今押してるキーやマウスを画面表示させられるkbvというフリーソフトを見つけたので、それで一応対応はできなくはないのですが若干起動が重くて…なのでahk内でどうにか調べられたら良いなと思ったのです
2017/12/06(水) 12:06:47.69ID:DTW3oegna
>>529
Pはずせ
2017/12/07(木) 13:15:23.97ID:JhBoA+GN0
Win7です
GUIでウインドウをたくさん作ると、左下のタスクバーのAHKのところにカーソルを持っていくと
作っただけのウインドウ数のタイトルがポップアップで出てきてしまいます
邪魔なので、これを出さないようにする方法ってありますか
スクリプトは1つなので、1つのスクリプトに1つのポップアップのタイトルで十分だとおもうのですが
2017/12/07(木) 15:12:11.79ID:Q21iGqYS0
http://ahkwiki.net/Gui,Option
2017/12/07(木) 15:39:20.80ID:JhBoA+GN0
Ownerですか。やってみます
2017/12/07(木) 15:47:48.48ID:IxXRrrQG0
>>529
実験してみたよ。
AHKのSetTimerでAltキーを監視してON/OFF表示させていて、
ついさっきたまたまAltを離しているのにAlt押しっぱなし状態になった。
しかし、AHKのGetKeyStateではOFF判定だった。
2017/12/07(木) 16:03:30.20ID:IxXRrrQG0
また同じ症状になった。
今度はON判定。
とりあえず、あてにならんわ。
2017/12/08(金) 00:47:16.58ID:2hAmoAId0
529です、いろいろありがとうです
キー押し下げ判定自体も精度アヤシイようだと、ちょっとアレですね
過度にahkでゴチャゴチャやらない方向で運用を見直すようにしてみます
2017/12/08(金) 00:58:05.77ID:zpL6DWI5a
すり抜け自体体感してないからすり抜けるすり抜けるってのが何なのかすらわからん
フックは?ディレイは?ちゃんとDown Up使ってる?Sleepも無茶な数値入れてない?

よくわからんな
2017/12/08(金) 08:15:37.96ID:Uq10ElWI0
Photoshopでマウスホイールのみで拡大縮小しようとして

Alt Down
Scroll Up
Alt Up

でやると、早くグリグリ回すと拡大しないときが数回に一回発生する。
Sleep入れてもダメ。

これがすり抜け?
2017/12/08(金) 08:40:53.67ID:D3cQmZala
それそもそもの書き方がまずいんでは

Alt押し込んでホイール離すを何度も何度も繰り返してるから操作のエミュレートになってない

Alt押し下げた状態でホイール操作を待つっていうスクリプト書かないと
2017/12/08(金) 09:56:51.07ID:lDhAMoXF0
>>539
キーやボタンと違ってホイールには押す/離すなんて判定は無いけど
ホイール操作の何を待つんだ?
2017/12/08(金) 10:04:31.07ID:D3cQmZala
wheel操作をalt downとalt upで挟めってこと
loopで出来る
2017/12/08(金) 10:09:13.41ID:lDhAMoXF0
>Alt押し込んでホイール離すを何度も何度も繰り返してる

この文章からして意味不明だし
2017/12/08(金) 10:37:25.55ID:D3cQmZala
まじか、わかってないのか
2017/12/08(金) 10:40:23.55ID:D3cQmZala
とりあえず続けてもわかってくれそうになさそうだから帰ったらサンプルコード書くわ
2017/12/08(金) 10:47:31.06ID:lDhAMoXF0
「ホイール離すを繰り返す」→そんなことはしてませんよ
なぜなら「ホイール離す」なんで動作は存在しないので

そもそも質問者が何をやろうとしてるのか分かって無さそうだけど
まあ>>538も端折らずに自分が書いたコードそのまま貼った方がいいと思うけど
2017/12/08(金) 11:04:48.87ID:lDhAMoXF0
>>544
的外れなサンプルとか要らんよ
俺は質問者でもなければコードなんて求めてないし
ただお前の言う「ホイール離す」とは何のことだ?って聞いただけだし
2017/12/08(金) 11:13:40.82ID:NsN4xeHW0
そもそも、Photoshopのオプションに「ホイールスクロールでズーム」という項目があるんだけどな。
2017/12/08(金) 11:28:24.09ID:TIXIlEDB0
ワロタ
2017/12/08(金) 11:47:56.54ID:3CDYarjh0
AHKのすり抜け問題とは関係ないが
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
2017/12/08(金) 12:04:33.70ID:iQK6bfpR0
釣りだったりして。
興味があったんで、541は見たいです。
2017/12/08(金) 12:06:49.15ID:zf1T1yH1M
すみません、538です。
出先なので、コードはうろ覚えなのですが、
実際はシフトとアルトを押しながらホイールを回す動作をしたいです。

Shift Down
Alt Down
Wheel Up(Down)
Shift Up
Alt Up

で書いています。ゆっくり回す分には動作しますが、早く回すと抜けが発生すします。
>>539が言うのはホイールを離すじゃなくてホイールを回すの間違いでは?
ホイール操作を待つってスクリプトがよくわからないので、サンプルコード待ってます。

>>549
ありがとうございます。
バージョンが違うのでできるかはわかりませんが、それはそれで参考にさせて頂きます。
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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