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)
482名無しさん@お腹いっぱい。 (ワッチョイ c756-QHFH)
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するとかの必要があればそれも考慮する必要あるかな
F1::
Gui, Color, 00AA00
Gui, -0x00C00000 +ToolWindow
Gui, Show, W300 H200
Return
みたいな感じかな
あとはマウスイベント透過するとかWindowの切り抜きとか透過率とかはWinsetで指定
さらにWindowの移動やサイズ変更に追従させるとか、非アクティブ時や最小化時にhideするとかの必要があればそれも考慮する必要あるかな
483名無しさん@お腹いっぱい。 (ワッチョイ 0735-+V5r)
2017/11/28(火) 20:49:17.54ID:marODPdK0 >>482
すばらしい。ありがとうございました。これは参考になりました
すばらしい。ありがとうございました。これは参考になりました
484名無しさん@お腹いっぱい。 (ワッチョイ 0735-+V5r)
2017/11/28(火) 20:50:45.05ID:marODPdK0 ああ、実際にこれ、動かして試してみましたよ。これをベースにいろいろと考えてみます
485名無しさん@お腹いっぱい。 (ニククエ 6785-+V5r)
2017/11/29(水) 17:22:52.94ID:n/Ybzuan0NIKU tooltipの背景色を変えることは出来ますか。その方法を教えてください
486名無しさん@お腹いっぱい。 (ニククエ 87a5-3a+g)
2017/11/29(水) 23:31:00.65ID:Fqluvrxu0NIKU MGLのジェスチャ表示が色付きだけどあれはツールチップじゃなくてGUIをツールチップっぽくしてるだけなのかな?
MGLのソース見てみたら分かるかも
MGLのソース見てみたら分かるかも
487名無しさん@お腹いっぱい。 (ニククエ 0787-lrN+)
2017/11/29(水) 23:37:42.39ID:GQggD9Lg0NIKU >>485
progressやguiなら色やサイズを変更可能なのでTooltipとして代用可能
https://egg.5ch.net/test/read.cgi/software/1487149472/134
progressやguiなら色やサイズを変更可能なのでTooltipとして代用可能
https://egg.5ch.net/test/read.cgi/software/1487149472/134
488名無しさん@お腹いっぱい。 (ワッチョイ eae0-XOTX)
2017/11/30(木) 15:57:06.36ID:S5EWhTc40 特定のコントロールにマウスオーバーしただけで、そのコントロールにフォーカスを移すことは出来ますか?
教えてエロいひと。
教えてエロいひと。
489名無しさん@お腹いっぱい。 (ワッチョイ 5e7f-H0p+)
2017/11/30(木) 17:17:53.07ID:JYsA73zK0 1.MouseGetPosでマウス下のコントロールを取得できる
2.SetTimerで常にマウス下のコントロールを監視
3.取得したコントロールにControlFocus(必要に応じてWinActivateも追加)でフォーカスを移す
でどうだろう。スマートではないが。
2.SetTimerで常にマウス下のコントロールを監視
3.取得したコントロールにControlFocus(必要に応じてWinActivateも追加)でフォーカスを移す
でどうだろう。スマートではないが。
490名無しさん@お腹いっぱい。 (ワッチョイ eae0-XOTX)
2017/11/30(木) 18:19:12.52ID:S5EWhTc40491名無しさん@お腹いっぱい。 (スフッ Sd0a-rKna)
2017/11/30(木) 19:21:19.06ID:YADM5yWfd 再生デバイスを変更して
ポップアップに変更した端末名
が出るようなスクリプトを
Windows10でやり方教えて
いただけないでしょうか?
ポップアップに変更した端末名
が出るようなスクリプトを
Windows10でやり方教えて
いただけないでしょうか?
492名無しさん@お腹いっぱい。 (ワッチョイWW 2a2e-DNVt)
2017/11/30(木) 23:52:51.72ID:z9WhXSkf0 >>488
割りとかんたん。
タイマーでモニターしてマウスオーバーでウィンドクラスを取り続けて変数によけとく
変数内のウィンドクラスとマウスオーバーで取ったクラスが違ったらそのウィンドクラスをアクティベートする
以前作ったけどウィンドの順序が切り替わりまくってボツにした
割りとかんたん。
タイマーでモニターしてマウスオーバーでウィンドクラスを取り続けて変数によけとく
変数内のウィンドクラスとマウスオーバーで取ったクラスが違ったらそのウィンドクラスをアクティベートする
以前作ったけどウィンドの順序が切り替わりまくってボツにした
493名無しさん@お腹いっぱい。 (ワッチョイWW 2a2e-DNVt)
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になったり
するんで、もっといい方法ないですか?
ご教授お願いします。
ってやると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になったり
するんで、もっといい方法ないですか?
ご教授お願いします。
495名無しさん@お腹いっぱい。 (ワッチョイ 3d56-0/3r)
2017/12/01(金) 21:47:06.69ID:rX6n9K6c0 >>494
OHP 見た感じ COM が使えそうなんだけど、どうだろう
http://qttabbar-ja.wikidot.com/scripting
qt := ComObjCreate("QTTabBarLib.Scripting")
qt.Open(path)
OHP 見た感じ COM が使えそうなんだけど、どうだろう
http://qttabbar-ja.wikidot.com/scripting
qt := ComObjCreate("QTTabBarLib.Scripting")
qt.Open(path)
496名無しさん@お腹いっぱい。 (ワッチョイ 66f3-Y7/4)
2017/12/01(金) 23:41:13.96ID:3bBdrdON0497名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
2017/12/02(土) 10:28:46.57ID:kgC/DzRO0498名無しさん@お腹いっぱい。 (ワッチョイ 59d1-Dirq)
2017/12/02(土) 10:39:02.57ID:/oo7d0lg0 >>491
少し脱線するけど俺は「App=Device」というコマンドラインで再生デバイスを変更できるフリーソフトを使用してる
AHKとこれを組み合わせてポップアップを表示したりすればお望みのことが出来るんじゃないかな
環境によっては管理者権限で実行する必要がある
少し脱線するけど俺は「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"
と記述したらできました!ありがとうございました!
qs := ComObjCreate("QTTabBarLib.Scripting")
qs.Open("C:\Users\UserName\Documents")
aw := qs.ActiveWindow
at := aw.ActiveTab
at.SelectedItems := "Book2.xlsx"
と記述したらできました!ありがとうございました!
500名無しさん@お腹いっぱい。 (イルクン MM92-QUIW)
2017/12/02(土) 12:08:48.75ID:TChgRzeMM 解決したみたいだから蛇足だけど起動中のエクスプローラ(qttab)と
ahkrun、ファイル名runで管理者権限の有無が統一されてなかったとか?
ファイル名runでだけ別プロセスにならない理由がよく分からんね
ahkrun、ファイル名runで管理者権限の有無が統一されてなかったとか?
ファイル名runでだけ別プロセスにならない理由がよく分からんね
501名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
2017/12/02(土) 15:13:06.03ID:kgC/DzRO0502名無しさん@お腹いっぱい。 (ワッチョイ 6dec-Vvu7)
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")
とか素人なりにやってみましたが、全くダメでした。
宜しくお願いします。
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")
とか素人なりにやってみましたが、全くダメでした。
宜しくお願いします。
503名無しさん@お腹いっぱい。 (ワッチョイ 5d04-MbHU)
2017/12/02(土) 20:34:40.15ID:cHZIOoQo0 やってないから動くかわかんないけど、普通に考えるなら
If( GetKeyState("RButton", "P") or GetKeyState("MButton", "P") or GetKeyState("XButton", "P") )
msgbox Hit
とか
If( GetKeyState("RButton", "P") or GetKeyState("MButton", "P") or GetKeyState("XButton", "P") )
msgbox Hit
とか
504名無しさん@お腹いっぱい。 (ワッチョイ 6dec-Vvu7)
2017/12/02(土) 20:58:57.20ID:uHWvz9WS0505名無しさん@お腹いっぱい。 (ワッチョイ 66f3-Y7/4)
2017/12/02(土) 23:02:31.70ID:WK+VS/5y0506名無しさん@お腹いっぱい。 (ワッチョイ 6dec-Vvu7)
2017/12/02(土) 23:07:16.71ID:uHWvz9WS0507名無しさん@お腹いっぱい。 (ワッチョイ 5d04-MbHU)
2017/12/02(土) 23:16:56.10ID:cHZIOoQo0 ルールブックがあってもその見方がわからんってレベルだろ
でもちょっとやれば、すぐにわかるようになるよ
でもちょっとやれば、すぐにわかるようになるよ
508名無しさん@お腹いっぱい。 (ワッチョイ 6dec-Vvu7)
2017/12/02(土) 23:26:20.75ID:uHWvz9WS0 はい、精進します。
509名無しさん@お腹いっぱい。 (ワッチョイ 7d87-HgL3)
2017/12/03(日) 07:59:09.08ID:QukwnooP0 andとorは数学の集合でやるからプログラム素人でもわかるよ。
「かつ」と「または」のことだ。縦線は初めてみたときわからんかったので
ヘルプみたが。
「かつ」と「または」のことだ。縦線は初めてみたときわからんかったので
ヘルプみたが。
510名無しさん@お腹いっぱい。 (ワッチョイ 798e-dHF0)
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
どなたか解決策をご存知の方、ご教授お願いします。
前述した方法で行うと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
どなたか解決策をご存知の方、ご教授お願いします。
512名無しさん@お腹いっぱい。 (ワッチョイWW 2a2e-DNVt)
2017/12/03(日) 10:43:25.22ID:vwDuTRcl0 Dllがよくわかりません。詳しく説明してるサイトとかないですか
513名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
2017/12/03(日) 11:38:27.14ID:OIZ/xCmR0514名無しさん@お腹いっぱい。 (ワッチョイ f142-MbHU)
2017/12/03(日) 18:02:34.24ID:Ob6koUHa0 >>512
VisualStudio VC++とかやらないとその世界は難しいよ
VisualStudio VC++とかやらないとその世界は難しいよ
515名無しさん@お腹いっぱい。 (ワッチョイ 5dc6-JjO2)
2017/12/03(日) 20:28:38.05ID:cPf87cAl0 winapi関係はほぼVB(A)で覚えたわ
あっちもDeclare宣言必要だから型とか調べるのによくVBの解説サイト見に言ってたわ
今だとMSDN直に見たほうが早いんだろうけど
あっちもDeclare宣言必要だから型とか調べるのによくVBの解説サイト見に言ってたわ
今だとMSDN直に見たほうが早いんだろうけど
516名無しさん@お腹いっぱい。 (ワッチョイWW b587-5nm6)
2017/12/03(日) 20:52:39.69ID:1qkTmGRt0517名無しさん@お腹いっぱい。 (ワッチョイW 256c-Q9QQ)
2017/12/03(日) 23:38:28.28ID:3sJMVIk90 Mouseclick left
Sleep,aaa
mouseclick left
Sleep,bbb
.
.
Gosub,A
でgosubの処理時間をループするsleepで調整したいのですが
Gosubの処理時間を計る方法ありませんか
Sleep,aaa
mouseclick left
Sleep,bbb
.
.
Gosub,A
でgosubの処理時間をループするsleepで調整したいのですが
Gosubの処理時間を計る方法ありませんか
518名無しさん@お腹いっぱい。 (ワッチョイ 5dc6-JjO2)
2017/12/03(日) 23:52:11.18ID:cPf87cAl0 A_TickCountとかA_Nowとか見て処理開始と処理終了で引き算すればいいよ
519名無しさん@お腹いっぱい。 (ワッチョイ 5987-L6cJ)
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
; 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
520名無しさん@お腹いっぱい。 (ワッチョイW 256c-Q9QQ)
2017/12/04(月) 00:34:18.83ID:W2przMgQ0 StartTime := A_TickCount
Gosub,A
ElapsedTime := A_TickCount - StartTime
MsgBox, %ElapsedTime% milliseconds have elapsed.
これでも可?
Gosub,A
ElapsedTime := A_TickCount - StartTime
MsgBox, %ElapsedTime% milliseconds have elapsed.
これでも可?
521名無しさん@お腹いっぱい。 (ワッチョイW 256c-Q9QQ)
2017/12/04(月) 00:42:07.14ID:W2przMgQ0 お二人が答えてくれてました。
ありがとうございます!
ありがとうございます!
522名無しさん@お腹いっぱい。 (ワッチョイ 3d56-0/3r)
2017/12/04(月) 03:27:44.42ID:K4EOO4xA0 >>511
ComObjCreate("QTTabBarLib.Scripting") を使って、使う度に毎回インスタンスを取得してますか?
グローバル変数に一度取得したあと、使いまわしてたりしませんか
ComObjCreate("QTTabBarLib.Scripting") を使って、使う度に毎回インスタンスを取得してますか?
グローバル変数に一度取得したあと、使いまわしてたりしませんか
523名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
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?
>>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
でエラーが出るんですよね〜。
理由がいまいち分かりません。
どうでしょうか?
私の書いたソースを載せておきます。
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
でエラーが出るんですよね〜。
理由がいまいち分かりません。
525名無しさん@お腹いっぱい。 (ワッチョイ a68e-HgL3)
2017/12/04(月) 09:57:59.55ID:ytS1hYKF0 Chromeで何十ページも開いて、特定の文字(リンクになってる)をクリックする作業をしてるんですが、自動化したいです
特定の文字をクリックする方法があれば教えてください。
文字の場所はばらばらなので、場所指定のクリックは出来ません。
特定の文字をクリックする方法があれば教えてください。
文字の場所はばらばらなので、場所指定のクリックは出来ません。
526名無しさん@お腹いっぱい。 (ワッチョイ 697d-9wPJ)
2017/12/04(月) 16:44:32.30ID:x7eWud6V0527名無しさん@お腹いっぱい。 (ワッチョイ 5e7f-H0p+)
2017/12/05(火) 15:13:33.43ID:8CvOUnVS0 >>525
1、最初に開くページをURLDownloadToFileでローカルにファイルとして落としていく
2、落としたファイルの中をLoop(file)、Loop,Readでループさせ、RegExMatch()で検索する
3、目的の文字列があったらRunでそのURLを開く
1、最初に開くページをURLDownloadToFileでローカルにファイルとして落としていく
2、落としたファイルの中をLoop(file)、Loop,Readでループさせ、RegExMatch()で検索する
3、目的の文字列があったらRunでそのURLを開く
528名無しさん@お腹いっぱい。 (ワッチョイ a68e-HgL3)
2017/12/06(水) 01:55:08.84ID:HOg34AwG0529名無しさん@お腹いっぱい。 (ワッチョイWW 6dcf-Ovp+)
2017/12/06(水) 10:06:45.47ID:WwbqM6o60 お知恵拝借したく…
getkeystateによってあるキーの押し下げ有無はとれますが そうでなく、「いま押し下げられてるキーを一覧で得る」ような方法はありますか?
ホットキーなど使用していると、自分の環境だとわりと発行されたキーがそのまま残ったりします
今まではプログラム的にキー残りがないよう試行錯誤してましたが、単純に「物理的に、残ったそのキーをもう一回押す」と直ることに気づきました
ちょうど、今押してるキーやマウスを画面表示させられるkbvというフリーソフトを見つけたので、それで一応対応はできなくはないのですが若干起動が重くて…なのでahk内でどうにか調べられたら良いなと思ったのです
getkeystateによってあるキーの押し下げ有無はとれますが そうでなく、「いま押し下げられてるキーを一覧で得る」ような方法はありますか?
ホットキーなど使用していると、自分の環境だとわりと発行されたキーがそのまま残ったりします
今まではプログラム的にキー残りがないよう試行錯誤してましたが、単純に「物理的に、残ったそのキーをもう一回押す」と直ることに気づきました
ちょうど、今押してるキーやマウスを画面表示させられるkbvというフリーソフトを見つけたので、それで一応対応はできなくはないのですが若干起動が重くて…なのでahk内でどうにか調べられたら良いなと思ったのです
530名無しさん@お腹いっぱい。 (アウアウカー Sa55-DNVt)
2017/12/06(水) 12:06:47.69ID:DTW3oegna >>529
Pはずせ
Pはずせ
531名無しさん@お腹いっぱい。 (ワッチョイ 7742-LVSJ)
2017/12/07(木) 13:15:23.97ID:JhBoA+GN0 Win7です
GUIでウインドウをたくさん作ると、左下のタスクバーのAHKのところにカーソルを持っていくと
作っただけのウインドウ数のタイトルがポップアップで出てきてしまいます
邪魔なので、これを出さないようにする方法ってありますか
スクリプトは1つなので、1つのスクリプトに1つのポップアップのタイトルで十分だとおもうのですが
GUIでウインドウをたくさん作ると、左下のタスクバーのAHKのところにカーソルを持っていくと
作っただけのウインドウ数のタイトルがポップアップで出てきてしまいます
邪魔なので、これを出さないようにする方法ってありますか
スクリプトは1つなので、1つのスクリプトに1つのポップアップのタイトルで十分だとおもうのですが
532名無しさん@お腹いっぱい。 (ワッチョイWW b74e-30kq)
2017/12/07(木) 15:12:11.79ID:Q21iGqYS0533名無しさん@お腹いっぱい。 (ワッチョイ 7742-LVSJ)
2017/12/07(木) 15:39:20.80ID:JhBoA+GN0 Ownerですか。やってみます
534名無しさん@お腹いっぱい。 (ワッチョイ bf9c-aiou)
2017/12/07(木) 15:47:48.48ID:IxXRrrQG0 >>529
実験してみたよ。
AHKのSetTimerでAltキーを監視してON/OFF表示させていて、
ついさっきたまたまAltを離しているのにAlt押しっぱなし状態になった。
しかし、AHKのGetKeyStateではOFF判定だった。
実験してみたよ。
AHKのSetTimerでAltキーを監視してON/OFF表示させていて、
ついさっきたまたまAltを離しているのにAlt押しっぱなし状態になった。
しかし、AHKのGetKeyStateではOFF判定だった。
535名無しさん@お腹いっぱい。 (ワッチョイ bf9c-aiou)
2017/12/07(木) 16:03:30.20ID:IxXRrrQG0 また同じ症状になった。
今度はON判定。
とりあえず、あてにならんわ。
今度はON判定。
とりあえず、あてにならんわ。
536名無しさん@お腹いっぱい。 (ワッチョイWW d7cf-ZWEC)
2017/12/08(金) 00:47:16.58ID:2hAmoAId0 529です、いろいろありがとうです
キー押し下げ判定自体も精度アヤシイようだと、ちょっとアレですね
過度にahkでゴチャゴチャやらない方向で運用を見直すようにしてみます
キー押し下げ判定自体も精度アヤシイようだと、ちょっとアレですね
過度にahkでゴチャゴチャやらない方向で運用を見直すようにしてみます
537名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 00:58:05.77ID:zpL6DWI5a すり抜け自体体感してないからすり抜けるすり抜けるってのが何なのかすらわからん
フックは?ディレイは?ちゃんとDown Up使ってる?Sleepも無茶な数値入れてない?
よくわからんな
フックは?ディレイは?ちゃんとDown Up使ってる?Sleepも無茶な数値入れてない?
よくわからんな
538名無しさん@お腹いっぱい。 (ワッチョイWW 9f87-GgkZ)
2017/12/08(金) 08:15:37.96ID:Uq10ElWI0 Photoshopでマウスホイールのみで拡大縮小しようとして
Alt Down
Scroll Up
Alt Up
でやると、早くグリグリ回すと拡大しないときが数回に一回発生する。
Sleep入れてもダメ。
これがすり抜け?
Alt Down
Scroll Up
Alt Up
でやると、早くグリグリ回すと拡大しないときが数回に一回発生する。
Sleep入れてもダメ。
これがすり抜け?
539名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 08:40:53.67ID:D3cQmZala それそもそもの書き方がまずいんでは
Alt押し込んでホイール離すを何度も何度も繰り返してるから操作のエミュレートになってない
Alt押し下げた状態でホイール操作を待つっていうスクリプト書かないと
Alt押し込んでホイール離すを何度も何度も繰り返してるから操作のエミュレートになってない
Alt押し下げた状態でホイール操作を待つっていうスクリプト書かないと
540名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 09:56:51.07ID:lDhAMoXF0541名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 10:04:31.07ID:D3cQmZala wheel操作をalt downとalt upで挟めってこと
loopで出来る
loopで出来る
542名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 10:09:13.41ID:lDhAMoXF0 >Alt押し込んでホイール離すを何度も何度も繰り返してる
この文章からして意味不明だし
この文章からして意味不明だし
543名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 10:37:25.55ID:D3cQmZala まじか、わかってないのか
544名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 10:40:23.55ID:D3cQmZala とりあえず続けてもわかってくれそうになさそうだから帰ったらサンプルコード書くわ
545名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 10:47:31.06ID:lDhAMoXF0 「ホイール離すを繰り返す」→そんなことはしてませんよ
なぜなら「ホイール離す」なんで動作は存在しないので
そもそも質問者が何をやろうとしてるのか分かって無さそうだけど
まあ>>538も端折らずに自分が書いたコードそのまま貼った方がいいと思うけど
なぜなら「ホイール離す」なんで動作は存在しないので
そもそも質問者が何をやろうとしてるのか分かって無さそうだけど
まあ>>538も端折らずに自分が書いたコードそのまま貼った方がいいと思うけど
546名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 11:04:48.87ID:lDhAMoXF0547名無しさん@お腹いっぱい。 (ワッチョイ bf9c-aiou)
2017/12/08(金) 11:13:40.82ID:NsN4xeHW0 そもそも、Photoshopのオプションに「ホイールスクロールでズーム」という項目があるんだけどな。
548名無しさん@お腹いっぱい。 (ワッチョイ 1fe0-F7Qh)
2017/12/08(金) 11:28:24.09ID:TIXIlEDB0 ワロタ
549名無しさん@お腹いっぱい。 (ワッチョイ 57c6-F7Qh)
2017/12/08(金) 11:47:56.54ID:3CDYarjh0 AHKのすり抜け問題とは関係ないが
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
Photoshop CS6 環境設定 - 一般
Photoshop CC 環境設定 - ツール
にそれぞれ 「スクロールホイールでズーム」って項目あるよ
チェック入れとけばAlt押さなくてもホイールだけでズームできる
550名無しさん@お腹いっぱい。 (ワッチョイ 1fe0-eGgt)
2017/12/08(金) 12:04:33.70ID:iQK6bfpR0 釣りだったりして。
興味があったんで、541は見たいです。
興味があったんで、541は見たいです。
551名無しさん@お腹いっぱい。 (トンモー MMbb-GgkZ)
2017/12/08(金) 12:06:49.15ID:zf1T1yH1M552名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 12:41:25.62ID:lDhAMoXF0553名無しさん@お腹いっぱい。 (ワッチョイ bf9c-aiou)
2017/12/08(金) 12:43:13.79ID:NsN4xeHW0554名無しさん@お腹いっぱい。 (トンモー MMbb-GgkZ)
2017/12/08(金) 13:08:08.94ID:2S31fZSzM >>552-553
失礼しました。
修飾キーでの記述では、そもそも全く動作しなかった記憶があります。
すり抜けも変な感じで、Shiftだけ押されてAltが押されないままホイールが回る動作をしたりします。
Sleepを入れて色々時間を調整すると、入れない時よりも失敗の頻度は改善されました。が、完全には対策できていません。
失礼しました。
修飾キーでの記述では、そもそも全く動作しなかった記憶があります。
すり抜けも変な感じで、Shiftだけ押されてAltが押されないままホイールが回る動作をしたりします。
Sleepを入れて色々時間を調整すると、入れない時よりも失敗の頻度は改善されました。が、完全には対策できていません。
555名無しさん@お腹いっぱい。 (ワッチョイ bfa2-F7Qh)
2017/12/08(金) 13:14:27.13ID:lDhAMoXF0 >>554
#Usehook は使ってる?
#Usehook は使ってる?
556名無しさん@お腹いっぱい。 (アウアウカー Saeb-AsFQ)
2017/12/08(金) 13:16:54.42ID:D3cQmZala いやまぁ、使おうが使わまいが構わないけど、帰ったらサンプル書くよ
言いたいことが伝わってないのは気持ち悪い
言いたいことが伝わってないのは気持ち悪い
557名無しさん@お腹いっぱい。 (トンモー MMbb-GgkZ)
2017/12/08(金) 13:23:15.80ID:2S31fZSzM558名無しさん@お腹いっぱい。 (ワッチョイ 9f2e-tS3A)
2017/12/08(金) 20:23:38.48ID:RT6XFZXq0 #NoEnv
#InstallMouseHook
~*WheelDown::
~*WheelUp::
wheel := A_ThisHotkey
loop
{
If wheel contains ^,+,!,*,~,#,<,>,$
StringTrimLeft, wheel, wheel, 1
else
BREAK
}
GetKeyState, state, LAlt
If state = U
send,{blind}{LAlt Down}
sleep,30
send,{Blind}{{%wheel%}
settimer,AltRelease,-200
Return
AltRelease:
send,{Blind}{LAlt up}
Return
すまんloop監視使うよりタイマー使ったほうが簡単だった
最初はloopで全体を監視してWheelを監視して回した分だけ変数にためて
sendの回数部分に渡す予定だったけどややこしくなりそうだ
言いたかったのはこんな感じで、まずキーボード操作ならAltを押しっぱなしにしたままwheel操作をするはず
その間Altは離さないはずなんだ
これを簡単に書こうとして
send,{LAlt Down}{Wheel up}{LAlt up}
なんて書こうもんならログではホイール回すたびにAltキーが連打されることになる
#InstallMouseHook
~*WheelDown::
~*WheelUp::
wheel := A_ThisHotkey
loop
{
If wheel contains ^,+,!,*,~,#,<,>,$
StringTrimLeft, wheel, wheel, 1
else
BREAK
}
GetKeyState, state, LAlt
If state = U
send,{blind}{LAlt Down}
sleep,30
send,{Blind}{{%wheel%}
settimer,AltRelease,-200
Return
AltRelease:
send,{Blind}{LAlt up}
Return
すまんloop監視使うよりタイマー使ったほうが簡単だった
最初はloopで全体を監視してWheelを監視して回した分だけ変数にためて
sendの回数部分に渡す予定だったけどややこしくなりそうだ
言いたかったのはこんな感じで、まずキーボード操作ならAltを押しっぱなしにしたままwheel操作をするはず
その間Altは離さないはずなんだ
これを簡単に書こうとして
send,{LAlt Down}{Wheel up}{LAlt up}
なんて書こうもんならログではホイール回すたびにAltキーが連打されることになる
559名無しさん@お腹いっぱい。 (ワッチョイ 9f2e-tS3A)
2017/12/08(金) 20:26:39.02ID:RT6XFZXq0 あ、ホットキーラベルの~は要らないわ。クセで書いちゃったけど
560名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 20:38:48.94ID:WwZSRzo/0 で、「ホイール離す」って何のこと?
561名無しさん@お腹いっぱい。 (ワッチョイWW 9756-30kq)
2017/12/08(金) 20:46:42.00ID:Vl1WWwQG0 >>560
しつけーんだよ
しつけーんだよ
562名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 20:53:54.83ID:WwZSRzo/0 何をキレてんだよ
少し頭冷やせ
少し頭冷やせ
563名無しさん@お腹いっぱい。 (ワッチョイ b78e-jLfY)
2017/12/08(金) 21:04:03.00ID:HqbBgtaD0 冷やし中華はじめました
564名無しさん@お腹いっぱい。 (ブーイモ MMcf-30kq)
2017/12/08(金) 21:22:38.10ID:VSEzKsSRM >>562
質問者はサンプル待つつもりで「よろしく」って言ってるのに、横からしつこく揚げ足とりしてるあなたの方が頭冷やすべきでしょ
質問者はサンプル待つつもりで「よろしく」って言ってるのに、横からしつこく揚げ足とりしてるあなたの方が頭冷やすべきでしょ
565名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 21:25:44.43ID:WwZSRzo/0566名無しさん@お腹いっぱい。 (ワッチョイ 7fd9-qmOZ)
2017/12/08(金) 21:33:28.45ID:3e+Ho6oe0 それがしつこいって言われてるんじゃないか?
567名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 21:35:16.88ID:WwZSRzo/0 だから昼の時点でさっさと答えてりゃいいだけだろ
568名無しさん@お腹いっぱい。 (ワッチョイ 7fd9-qmOZ)
2017/12/08(金) 21:36:17.80ID:3e+Ho6oe0 お前がしつこく絡んでるようにしか見えないw
569名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 21:37:00.69ID:WwZSRzo/0 じゃあお前はなんでそんな必死に絡んでくるんだ?
570名無しさん@お腹いっぱい。 (ワッチョイ b78e-jLfY)
2017/12/08(金) 21:38:55.52ID:HqbBgtaD0 冷やし中華はじめましたので...
571名無しさん@お腹いっぱい。 (アウーイモ MM1b-mNjW)
2017/12/08(金) 21:40:10.88ID:AjW1HkCjM キチガイなんだから
無視しとけよw
なんでみんなからしつこいって
言われるかわからないんだから
無視しとけよw
なんでみんなからしつこいって
言われるかわからないんだから
572名無しさん@お腹いっぱい。 (ワッチョイ bfa2-mmNe)
2017/12/08(金) 21:42:13.77ID:WwZSRzo/0 >>571
お前もそんな顔真っ赤にしてんなよ
お前もそんな顔真っ赤にしてんなよ
573名無しさん@お腹いっぱい。 (ワッチョイ b78e-jLfY)
2017/12/08(金) 21:44:12.58ID:HqbBgtaD0 冷やし中華はじめましたから!...冷やし中華はじめましたから!!!
574名無しさん@お腹いっぱい。 (ワッチョイ b740-gcK6)
2017/12/08(金) 22:32:51.68ID:fgs+Qvb60 amemiyaうっせ
575名無しさん@お腹いっぱい。 (ワッチョイWW 57c6-KCAL)
2017/12/08(金) 23:16:41.31ID:3CDYarjh0 ワッチョイもIDも違う複数書き込みを
>一人で
>顔真っ赤
とか言い出したら要注意な
>一人で
>顔真っ赤
とか言い出したら要注意な
576名無しさん@お腹いっぱい。 (ワッチョイ ff32-HquM)
2017/12/08(金) 23:30:52.99ID:3vQpN7Oh0 いつまでやってんだよ
577名無しさん@お腹いっぱい。 (トンモー MMbb-GgkZ)
2017/12/09(土) 07:28:21.89ID:CYxvg1W8M578名無しさん@お腹いっぱい。 (ワッチョイ 9f2e-tS3A)
2017/12/09(土) 15:59:53.03ID:0ga8E3eN0 #NoEnv
#InstallMouseHook
; variable
EtatWheelDown = 1
EtatWheelUp = 1
Check_EtatWheelDown = 1
Check_EtatWheelUp = 1
Loop, ; ( or SetTimer )
{
if EtatWheelDown <> %Check_EtatWheelDown% ; Wheel Down is turn
{
Tooltip, Wheel Down is turn.
Break
}
if EtatWheelUp <> %Check_EtatWheelUp% ; Wheel Up is turn
{
Tooltip, Wheel Up is turn.
Break
}
Check_EtatWheelDown = %EtatWheelDown%
Check_EtatWheelUp = %EtatWheelUp%
}
~*WheelDown::
EtatWheelDown += 1
return
~*WheelUp::
EtatWheelUp += 1
return
ちょっと探したらgetkeystateじゃないにしてもホイール回してるか回してないかの取得スクリプトならあった
これでホイール離してる状態も取得できるな
#InstallMouseHook
; variable
EtatWheelDown = 1
EtatWheelUp = 1
Check_EtatWheelDown = 1
Check_EtatWheelUp = 1
Loop, ; ( or SetTimer )
{
if EtatWheelDown <> %Check_EtatWheelDown% ; Wheel Down is turn
{
Tooltip, Wheel Down is turn.
Break
}
if EtatWheelUp <> %Check_EtatWheelUp% ; Wheel Up is turn
{
Tooltip, Wheel Up is turn.
Break
}
Check_EtatWheelDown = %EtatWheelDown%
Check_EtatWheelUp = %EtatWheelUp%
}
~*WheelDown::
EtatWheelDown += 1
return
~*WheelUp::
EtatWheelUp += 1
return
ちょっと探したらgetkeystateじゃないにしてもホイール回してるか回してないかの取得スクリプトならあった
これでホイール離してる状態も取得できるな
579名無しさん@お腹いっぱい。 (トンモー MMbb-GgkZ)
2017/12/09(土) 23:24:41.40ID:8nqZo3FbM >>558
質問者です。
わざわざコードを書いて下さりありがとうございます。
今試してみたら動きました!
なるほど、ホイール回す度にalt連打されると処理がおかしくなるのですね。(処理が完了する前に次の入力が来る?)
ホイール回す間はalt押しっぱなしにするという方法は目から鱗でした。
アルゴリズムやコマンドの勉強にもなりました。これで長くAutohotkeyを愛用していけそうです。
重ねてお礼申し上げます。
質問者です。
わざわざコードを書いて下さりありがとうございます。
今試してみたら動きました!
なるほど、ホイール回す度にalt連打されると処理がおかしくなるのですね。(処理が完了する前に次の入力が来る?)
ホイール回す間はalt押しっぱなしにするという方法は目から鱗でした。
アルゴリズムやコマンドの勉強にもなりました。これで長くAutohotkeyを愛用していけそうです。
重ねてお礼申し上げます。
580名無しさん@お腹いっぱい。 (ワッチョイ 5745-LVSJ)
2017/12/10(日) 15:50:48.28ID:Pqr6ID550 あるファイルがあったとして、そのファイルが書き換えられたとき、それをトリガーにある処理をしたいのです
どうしたらいいでしょうか
タイマーで1秒おきとかにファイルのプロパティーを見ながら日付の変更確認とか、そんなことをしないと
いけないのですか?
どうしたらいいでしょうか
タイマーで1秒おきとかにファイルのプロパティーを見ながら日付の変更確認とか、そんなことをしないと
いけないのですか?
581名無しさん@お腹いっぱい。 (イルクン MMdf-KCAL)
2017/12/10(日) 16:32:00.90ID:APrQc+rqM ReadDirectoryChangesWとか使えばイベントドリブンにできるかもしれんけど
多分settimerでFileGetTimeし続けるほうが楽だと思う
多分settimerでFileGetTimeし続けるほうが楽だと思う
■ このスレッドは過去ログ倉庫に格納されています
