X



AutoHotkey スレッド part26
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 (ワッチョイ a34a-9jjH)
垢版 |
2018/04/25(水) 18:08:09.39ID:LmrG+Efz0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

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

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

■日本語解説等
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)
0253名無しさん@お腹いっぱい。 (ワッチョイW d209-ccFr)
垢版 |
2018/06/19(火) 00:52:17.09ID:OxIVLmPa0
タスクトレイ右にあるソフトウェアを右クリックしてそのメニューの上から二番目をクリックする、
といった動作をAutohotkeyですることはできるんでしょうか?
昔そういう単機能のソフトウェアがあったように思うのですが忘れてしまいました。
>>251 地獄に落ちろ
0257名無しさん@お腹いっぱい。 (ワッチョイ 3163-m0US)
垢版 |
2018/06/19(火) 13:55:13.23ID:0cmVsDTa0
SoundBeep有能

SoundBeep,400,25 ; 何かが無効になったときに鳴らす
SoundBeep,1000,25 ; 何かが有効になったときに鳴らす

とりあえずIME ON/OFFやその他に組み込んでみたが安心感が増す
人前ではうるさくて使えないだろうが

これのLEDバージョン作ってみたいがプログラマブルUSB LEDって2万とかするんだな…
300円位でないのか
0260名無しさん@お腹いっぱい。 (ワッチョイ 31b2-/RsH)
垢版 |
2018/06/20(水) 07:37:19.98ID:ha/OsVg60
IE11でボタンをクリックした後、反応の有無を判断できる方法はありますか?
クリック→無反応→クリック…roop
クリック→反応有→roop break
想定している似たような状況は、ビジー状態の通販サイトの「商品カゴへ入れる」ボタンを成功するまでクリックする。

OS:Windows10(1803) Pro 64bit
AutoHotkey(x64) 1.1.29.01
0262260 (ワッチョイ 31b2-/RsH)
垢版 |
2018/06/20(水) 16:07:09.18ID:ha/OsVg60
>>261
レスありがとうございます。
表示は変わりませんが、特徴的な音が出ます。
表示の変化に関して指摘して頂いたので、Sound関係の変化に関してコマンドを探してみましたが、使えそうなのがないです。
0263名無しさん@お腹いっぱい。 (ワッチョイ 8187-Bw3Y)
垢版 |
2018/06/20(水) 16:45:56.19ID:K//20RcR0
判断する方法ではないけど
ボタンを押してから離すまでの時間を長くすれば反応するようになるのでは?
SendならSetkeydelayで
Setkeydelay,100,200

もしくは
send,{left down}
sleep,200
send,{left up}

clickなら
click,left,down
sleep,200
click,left,up
0264260 (ワッチョイ 31b2-/RsH)
垢版 |
2018/06/20(水) 17:37:47.93ID:ha/OsVg60
>>263
レスありがとうございます。
試してみます。
ただ、ビジー状態に対応できるスクリプトを組みたいので、サイトがビジー状態でないと試せません。
報告は早くて数日後になります。
0266260 (ワッチョイ 1fb2-E6HK)
垢版 |
2018/06/21(木) 13:46:05.91ID:uo6bOHK00
>>265
いえ、ブラウザは固まってる状態です。
その状態で酷い時は、数秒に一度、一瞬クリックできる状態になる時があって、その隙にクリックしたいのです。
0267名無しさん@お腹いっぱい。 (ワッチョイ 1f63-DJU/)
垢版 |
2018/06/21(木) 15:01:33.74ID:VVK4xcOd0
ポップアップメニューを表示して戻り値にキーを返す関数
https://paste.ofcode.org/cpAPU8WT64bJd4WWJCiPS4

testcode()
{
menu=
(
ファイル(&F)
編集(&E)
検索(&S)

終了
)
ret := ShowPopupMenu(menu)
if ret=F
msgbox,ファイル処理
if ret=E
msgbox,編集処理
if ret=S
msgbox,検索処理
if ret=5 ; &がない場合は数値で返す
msgbox,終了処理
if ret=
msgbox,キャンセルされた
}
0270260 (ワッチョイ 1fb2-E6HK)
垢版 |
2018/06/22(金) 21:12:40.61ID:PUo1zf840
>>268
確かにIEの操作はAHKでやるより、IEから直接の方が確実なような気がしますね…。

>>263
少しスリープの時間を長めにしましたが、軽いビジー状態なら結構いけますね。
正直、長押しでいけるとは思ってもいませんでしたからびっくりしました。

とりあえず、長押しでしのいで、将来的にはVBAでIEを直接操作する方向で考えたいと思います。
予定していた方法とは異なりますが、そこそこどうにかなりそうなので、これで締め切らせて頂きます。
皆さんありがとうございました(o*。_。)oペコッ
0276名無しさん@お腹いっぱい。 (ワッチョイ ff5c-3fpe)
垢版 |
2018/06/27(水) 18:25:58.86ID:hg8rqnbu0
hensuu = 111,aaa,222,bbb
iniwrite, %hensuu%, test.ini, test, test

iniwrite, 111`,aaa`,222`,bbb, test.ini, test, test

こんな事が出来るなんて知りませんでした。
どちらでもできました、ありがとうございます。
0277名無しさん@お腹いっぱい。 (ワッチョイ 292c-JFU2)
垢版 |
2018/07/02(月) 03:06:06.99ID:g0LGh7eu0
ATOKの日付変換が便利なんだけど、使いたいフォーマットがない。
例えば "yyyy_mmdd" とか。
now対象だけならahkで作れそうなきがするけど、ATOKみたく「あした」「あさって」とか
「げつようび」とかで、前後の日をサポートするとなると大変そう。
こんな日付変換に対応したものってありますか?
0284名無しさん@お腹いっぱい。 (タナボタ 47a7-sule)
垢版 |
2018/07/07(土) 09:50:28.34ID:qwGCuEP300707
>>283
言葉足らずでした、AHKのGUIコマンドの話です
原文のリファレンスを読むとデフォルトはGetStockObjectのDEFAULT_GUI_FONTの事だとは思うのですが
他環境のフォント情報がなかなか見つからず質問した次第です

> Omit the last two parameters to restore the font to the system's default GUI typeface, size, and color.

Gui, Font,, メイリオ
Gui, Add, Text,, あいうえおABCDEabcde (メイリオ)
Gui, Font,, MS UI Gothic
Gui, Add, Text,, あいうえおABCDEabcde (MS UI Gothic)

A_GuiFont := GuiDefaultFont()
A_GuiFontSize := A_LastError

Gui, Font
Gui, Add, Text,, %A_GuiFont%`t%A_GuiFontSize% (デフォルト)
Gui Show
Return

GuiDefaultFont() { ; By SKAN www.autohotkey.com/forum/viewtopic.php?p=465438#465438
hFont := DllCall( "GetStockObject", UInt,17 ) ; DEFAULT_GUI_FONT
VarSetCapacity( LF, szLF := 60*( A_IsUnicode ? 2:1 ) )
DllCall("GetObject", UInt,hFont, Int,szLF, UInt,&LF )
hDC := DllCall( "GetDC", UInt,hwnd ), DPI := DllCall( "GetDeviceCaps", UInt,hDC, Int,90 )
DllCall( "ReleaseDC", Int,0, UInt,hDC ), S := Round( ( -NumGet( LF,0,"Int" )*72 ) / DPI )
Return DllCall( "MulDiv",Int,&LF+28, Int,1,Int,1, Str ), DllCall( "SetLastError", UInt,S )
}
0290名無しさん@お腹いっぱい。 (ワッチョイ ea67-LQig)
垢版 |
2018/07/15(日) 09:50:14.97ID:bqpX/mGQ0
関数内でループをさせて、そのループのA_indexを使ったことをさせたいんですが、A_indexを使ったことというのを関数内で何度も使うのでその記述を簡略化したいんですが
どうすればいいですかね?やりたことは下記のようなことなんですが、labelとgosubで動くものなのかがよくわからないでいます

test()
{
loop,10
{

label:
tooltip,%A_index%
return

gosub,label
sleep,500
gosub,label
sleep,500
gosub,label
sleep,500
}
return
}
0292名無しさん@お腹いっぱい。 (ワッチョイ 66f3-/Z5b)
垢版 |
2018/07/15(日) 21:19:24.01ID:p+q5mhPf0
>>290
サブルーチン部分をloop外に出せば動くとは思うが、正直何をしたいかよく分からん
同じA_indexで同じ処理を3回してるから、その部分をloopで回せば簡略化できると思うが…

test() {
loop,10 {
count := A_index
loop,3 {
gosub,label
sleep,500
}

}
return

label:
tooltip,%count%
return
}

長いので次レスで
0293名無しさん@お腹いっぱい。 (ワッチョイ 66f3-/Z5b)
垢版 |
2018/07/15(日) 21:19:59.91ID:p+q5mhPf0
続き

それとも、こんなことか?

test() {
loop,10 {
gosub, label1
gosub, label2
gosub, label3
}
return

label1:
tooltip,%A_index%
sleep,500
tooltip,
return
label2:
MsgBox,%A_index%
sleep,500
return
label3:
Clipboard := A_index
MsgBox,Clipboard は %Clipboard%
sleep,500
return
}

以上、かなり適当
0297名無しさん@お腹いっぱい。 (ワッチョイ 9fcf-H0hI)
垢版 |
2018/07/20(金) 15:09:10.38ID:wv55im470
>>296
もしWin7のUAC設定を一番下にしてオフにしてるならばWin10に移行後にUAC絡みで気を付ける必要があるかも
Win7ではUAC一番下にするだけでほぼ機能しなくなるけどWin10では一番下にしても完全にはオフにならないので
必要に応じてスクリプトを管理者権限で実行したり、標準権限で実行したりを気を付けなきゃならない
元からWin7でUACオンにして使ってるなら特に使い勝手は変わらないと思う
0299名無しさん@お腹いっぱい。 (ワッチョイ fff3-agN6)
垢版 |
2018/07/20(金) 16:20:15.17ID:IY43ug2o0
>>296
自分はahk以外にもWSHやAutoItも使ってるので参考になるか分からないが…

スクリプトでレジストリにアクセスしようとしてもブロックされまともに動かなかったので、
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
の"EnableLUA"=dword:00000001 → "EnableLUA"=dword:00000000
にしてUACを無効化した

自分はwin7 32bitからwin10 64bitにしたけど、特に大掛かりなスクリプトの書き換えはしなかったような気がするが、
win7時代に動いていたスクリプトがwin10で動かなくなったのはあったな
このスレにあったヤツだったか忘れたが、ウインドウに穴開けてデスクトップを見るスクリプトだった
他人作だし使う機会も少なかったのでもう使用はしていない…
0302名無しさん@お腹いっぱい。 (ワッチョイ fff3-agN6)
垢版 |
2018/07/20(金) 23:46:35.78ID:IY43ug2o0
情報サンクス

>>300
>ストアアプリに不具合出るしMS的にはストアアプリ推し
自分としては別に使う気はないからどうでも良いかなぁ
win10使う上で必須のアプリがあるなら考えるけども…

>>301
UI Access っつうのちょっと調べた限りでは、フォルダ限定される?
自分はCドライブにソフトやスクリプトは殆ど置かないので、UI Access有効化は余り意味がないかもしれない
0303名無しさん@お腹いっぱい。 (ワッチョイ 77d0-pvuh)
垢版 |
2018/07/22(日) 10:19:40.82ID:OCDGBqGi0
なぜ日本語wikiのキーリストで
変換:vk1Csc079のように記載されているのでしょうか?
実際,スクリプトにはvk1Cと記載しないと動きませんよね?
誤解を招くような気がする(実際に自分も戸惑った)のですが,これにはなにか理由があるのですか?
0304名無しさん@お腹いっぱい。 (ワッチョイ 1787-H0hI)
垢版 |
2018/07/22(日) 10:58:23.54ID:AMD77juC0
>>303
v1.1.24まではvc○○sc○○の記述が可能だった
v1.1.27で修正されてvk○○またはsc○○の片方しか記述出来なくなった
v1.1.28で以前の仕様(vc○○sc○○が可能)に戻ったらしいけど
俺はv1.1.24からアップデートしていないので未確認
0305名無しさん@お腹いっぱい。 (ワッチョイ 77ac-H0hI)
垢版 |
2018/07/23(月) 21:15:15.12ID:M4VJIdNm0
いや、v1.1.28でも最新のv1.1.29.01でも「vk○○sc○○」の記述はエラー出ますよ
今も「vk○○」か「sc○○」の片方のみ可能なのでwikiを直さないと新規の人には分かりにくいだろうね
0308名無しさん@お腹いっぱい。 (ワッチョイ ff7c-HghU)
垢版 |
2018/07/25(水) 04:35:30.78ID:XXshHs+p0
すいません質問させて下さい

https://superuser.com/questions/1269772/windows-explorer-shortcut-to-go-to-next-sibling-folder

上のサイトのスクリプトはエクスプローラ上で同階層フォルダ間を移動するものですがあくまで英語圏のためのものであり
日本語のフォルダ名だとエクスプローラの表示順通りに移動できませんがどうすればいいでしょうか

Windows XP以降のソート順は特殊でShlwapi.dllのStrCmpLogicalW()というAPIを使う必要があるらしいのですが

Windows 7 64bit
Autohotkey(x64) v1.1.22.09
0309名無しさん@お腹いっぱい。 (ワッチョイ 9f56-3Iwm)
垢版 |
2018/07/25(水) 14:19:24.59ID:tDovQ0SL0
>>308
一旦兄弟フォルダを全部取得してからフォルダ名でソートすればいいんじゃないか、ということで自分でも使用したいので作った
Win10で動作確認
https://pastebin.com/sZVcY14F
オリジナルに変更を加えた部分はある程度コメントを入れてあるので詳細はそっちで

それと、親フォルダのソート状況を推察するのは難(*1)があるので、移動の順番は名前で昇順ソートされた状態を想定してる
別ウィンドウで親フォルダを日付や名前の降順でソートして表示していて、移動してみたら順番が違う!というのは諦めて

(*1)
親フォルダのソート状況を推察できる状況
・一つのエクスプローラーウィンドウで親フォルダを表示している
厳しいとき
・親フォルダを表示していない
・複数のウィンドウで親フォルダを開いていて、それぞれソート状況が異なる。(どちらを選択するのか?)
0310308 (ワッチョイ ff7c-HghU)
垢版 |
2018/07/25(水) 15:49:51.80ID:XXshHs+p0
>>309
質問者ですがwindows7でも動作確認しました
兄弟フォルダ間の移動なんて簡単て思ってたらとんでもなかったw
前提条件を認識した上で使わせてもらいます
ありがとうございました
0312名無しさん@お腹いっぱい。 (ワイモマー MM43-2Hkg)
垢版 |
2018/07/28(土) 17:20:36.99ID:pDAfKZEBM
こんなの聞くの申し訳ないんですがTrayTIpが動きやせん
調べでもわからなくて困った

windows10 1803 AHKL1.1.29.01(64bit)
#NotTrayIcon使用なし
全文が長くなるとTrayTIpがwin上で反映されない
LOGだと指令でてる&短い文でテストすると問題なし
コンパイルすると動いてたが更に全文長くしたらコンパイルしてもTrayTIpでない

うわーん
0314名無しさん@お腹いっぱい。 (ワッチョイ 4691-tjON)
垢版 |
2018/07/31(火) 02:10:13.15ID:GTD+3eTh0
下記サンプルコードではタスクバー上の空きスペースクリック時メニューが出てしまうので
メニューを出さずにアイコン上か空きスペースかの当たり判定ができましたら教えてください

■サンプルコード
中クリックでアプリ閉じ
問題点…空きスペースクリック時のメニュー

;タスクバー上
#If MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1")
 MButton::
  Send {RButton}
  Sleep, 250
  if WinExist("ジャンプ リスト ahk_class DV2ControlHost")
   Send {Up}{Enter}
  else
   Send {Esc}
 return
#If

MouseIsOver(WinTitle, ClassNN:="") {
 MouseGetPos,,, hWnd, ControlNN
return (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 : WinExist(WinTitle " ahk_id " hWnd) && ClassNN = ControlNN)
}
0315314 (ワッチョイ 4691-tjON)
垢版 |
2018/08/01(水) 01:43:23.52ID:tCZRzMJu0
サムネイル有無だとメニューは出ないがサムネイルがないとミスってしまう
SendMessageなどでの当たり判定や、そもそも閉じるのに右クリック→上→Enterではない案(AHKで)などありましたら教えてください

■サムネイル有無判定
Sleep, 250
if !WinExist("ahk_class TaskListThumbnailWnd")
 return
0317名無しさん@お腹いっぱい。 (ワッチョイ 4691-tjON)
垢版 |
2018/08/01(水) 21:50:53.68ID:tCZRzMJu0
>>316さん
Acc_GetRole()関数利用で希望する動作になりました
今までACC.ahkはテンプレで紹介されているのは知っていましたが、用途が分からずインスコしていませんでした
めちゃ便利ですね。教えていただきありがとうございました
0319名無しさん@お腹いっぱい。 (ワッチョイ b391-0Uuo)
垢版 |
2018/08/02(木) 23:21:29.21ID:SOQUJBoF0
いまさらながらオミトロンのバイパス状態の見分け方が分かったので記念カキコ

;Proxomitron バイパス
1 Up::
 SavedDHW := A_DetectHiddenWindows
 DetectHiddenWindows, On
 ControlGet, BypassSt, Enabled,, Web ページ・フィルタ, ahk_class PrxTronCls
 BypassSt ? ToolTip("Bypass On") : ToolTip("Bypass Off")
 PostMessage, 0x111, 1007,,, ahk_class PrxTronCls
 DetectHiddenWindows, %SavedDHW%
return

;ToolTip() ttp://pastebin.com/uHuBttNb
0320名無しさん@お腹いっぱい。 (ワッチョイ 7f91-0Uuo)
垢版 |
2018/08/03(金) 21:43:37.48ID:pHE6KlnQ0
Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
Acc_GetName()とAcc_GetRole()の併用でWM_NCHITTESTではだめなタイトルバーのボタン上の正確な位置判定など
あらためて教えていただいた>>316さんには感謝

ACC.ahk ttp://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0321名無しさん@お腹いっぱい。 (ワッチョイWW b305-Q1aY)
垢版 |
2018/08/04(土) 02:18:49.52ID:H2OE/J7G0
acc.ahkが便利そうなのでググったら日本語解説ページがなく
クルマのワーゲンの機能らしい
accはオートクルーズコントロールみたいなのだが
ahkはよくわからない
ムキになって検索しまくり
ようやくヒットする
BMWも搭載してるようで動画で確認
クルマの下からチンコがでてきた
違う!
0322名無しさん@お腹いっぱい。 (ワッチョイ 0387-S2Kv)
垢版 |
2018/08/04(土) 20:08:36.57ID:mW/OGX1W0
>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick AHKで 貼り付け を
0323名無しさん@お腹いっぱい。 (ワッチョイ 0387-S2Kv)
垢版 |
2018/08/04(土) 20:11:05.28ID:mW/OGX1W0
すいません途中で送信してしまいました

>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick を使わずに AHKで 貼り付け を
実行させることは可能でしょうか?
もしできるならどのように書けば良いのでしょうか?
0324名無しさん@お腹いっぱい。 (ワッチョイ cff3-J0hL)
垢版 |
2018/08/04(土) 22:48:25.99ID:KKkpi8nV0
自分が見つけたのは↓だけど、同じもの?

Acc library (MSAA) and AccViewer download links - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?t=26201
の「AccPack.zip」
https://autohotkey.com/boards/download/file.php?id=4049&;sid=696fb8e1246e615c3ce9d136c98f2810
に含まれる「Acc.ahk」

あと、「COM.ahk」というのも同時に必要なのだろうか?
ここ↓のでOK?
COM Standard Library - Page 44 - Scripts and Functions - AutoHotkey Community
https://autohotkey.com/board/topic/21142-com-standard-library/page-44?hl=com.ahk#entry529640

検証もせず、レスしてスマソ
0326名無しさん@お腹いっぱい。 (ワッチョイ 8f91-0Uuo)
垢版 |
2018/08/05(日) 21:22:05.24ID:T6bMKT0H0
>>324
COM機能はいまは標準実装されているので不要
いつかはCOMが使えるようになりたいなぁ

>>320
> Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
と書いたけど、どこでもおもしろいほどテキスト取得できますね
いままでClipy、NNScanText、コピット!、CopitX使っていたけどおさらばしました
0328名無しさん@お腹いっぱい。 (ワッチョイ 4356-E6D4)
垢版 |
2018/08/06(月) 04:24:03.14ID:+DjLc0mw0
入力支援の利くエディタを使うしかないんじゃないかな…。
実行時に未定義のメソッドを呼んだときエラーを出すなら
class ErrorUndefineMethod
{
__Call(name)
{
throw Exception("This method is not defined." (name != "" ? " : " name : ": "), -1)
}
}
こんな感じの基底クラスを継承するなりすればいいけど、たぶん言ってるのはコーディング時の話だよね
0329名無しさん@お腹いっぱい。 (プチプチW 83ad-v3SI)
垢版 |
2018/08/08(水) 16:55:10.42ID:Wo1vgWVl00808
google chromeでは、A_caretYでキャレット位置が取れないのですが、他になにか方法はないでしょうか?
ctrl-wにてタブ閉じは生かしつつ、入力シーンでは前単語削除に割り当てたいのですが…
0332名無しさん@お腹いっぱい。 (ワッチョイ 2b3e-QxOT)
垢版 |
2018/08/18(土) 02:35:10.55ID:flWGLe7T0
r::send 7

このrを右クリックにしたいのですが何を入力すればいいのでしょうか
よろしく
0334名無しさん@お腹いっぱい。 (ワッチョイ 8b04-hE18)
垢版 |
2018/08/22(水) 11:48:18.04ID:xeghXmwt0
ウインドウがAとBの2つあるとします。
Aをマウスでクリックしてアクティブにして

ControlClick, x100 y100

とすると、ウインドウAの100、100の位置をちゃんとクリックします。
ところが、ウインドウBをマウスでクリックしてからスクリプトで、

WinActivate, ウインドウのA
ControlClick, x100 y100
return

とすると、なぜかウインドウAの100、100の位置をクリックされません。また、リターンで戻るとウインドウBが
アクティブになっています。

WinActivate, ウインドウのA
MouseClick, left, 100, 100

とすればちゃんとクリックされます。また、ウインドウBがアクティブの状態で、

WinActivate, ウインドウのA
Sleep, 5000
ControlClick, x100 y100
return

とやってスリープ中にマウスでウインドウAを手動でアクティブにしてやってもダメです。なぜでしょうか。
0335名無しさん@お腹いっぱい。 (ワッチョイ 8b04-hE18)
垢版 |
2018/08/22(水) 12:00:43.76ID:xeghXmwt0
ちなみに、x100 y100のところにあるのはボタンなのですがそのボタンのClassNNを使って、
ControlClick, x100 y100
の代わりに
ControlClick, classNNの名前
でやってもダメでした。 ウインドウAを最初にアクティブにしてからなら問題ありません。
0336名無しさん@お腹いっぱい。 (ワッチョイ 9fc6-Yt49)
垢版 |
2018/08/22(水) 12:06:53.85ID:Tq1tthei0
試してないけど
WinActivateしただけじゃLast Found Windowが記録されないからじゃね
ControlClickは指定されたウィンドウをクリックするコマンド
必ずアクティブウィンドウをクリックするMouseClickとは違う

WinActivate, ウインドウのA
WinWaitActive, ウインドウのA ; ←ここでLast Found Windowを書き換える
ControlClick, x100 y100

もしくは

ControlClick, x100 y100, ウインドウのA ; ← 省略しないでウィンドウを指定する
0337名無しさん@お腹いっぱい。 (ワッチョイ 8b04-hE18)
垢版 |
2018/08/22(水) 12:23:41.78ID:xeghXmwt0
WinWaitActiveを入れて出来ました。
WinWaitActiveは一瞬で終わりました。
Sleep, 5000を入れてその間に手動でウインドウAをクリックしても出来なかったのがよくわかりませんが
とりあえず、これで行くことにします。
0339名無しさん@お腹いっぱい。 (ワッチョイ 3587-axIE)
垢版 |
2018/08/23(木) 01:17:55.45ID:E69zRD1X0
youtubeのプレイヤー画面の座標を取得する方法はあるでしょうか?

最近youtubeの仕様が変わって再生する元動画のアスペクト比によってプレイヤー画面のの大きさも変化してしまい
プレイヤー内の設定ボタンなどの座標が動画ごとにずれてしまいます
0341名無しさん@お腹いっぱい。 (ワッチョイ 3587-axIE)
垢版 |
2018/08/23(木) 11:02:03.29ID:E69zRD1X0
>>340
プレイヤーの高さ h によって挙動を変えたいので

if(h > 500){ }

のように書きたいのですがその h をどうやって取得すれば良いのでしょうか?

Acc.ahk を眺めると

Acc_Location(Acc, ChildId=0, byref Position="") { ; adapted from Sean's code
try Acc.accLocation(ComObj(0x4003,&x:=0), ComObj(0x4003,&y:=0), ComObj(0x4003,&w:=0), ComObj(0x4003,&h:=0), ChildId)
catch
return
Position := "x" NumGet(x,0,"int") " y" NumGet(y,0,"int") " w" NumGet(w,0,"int") " h" NumGet(h,0,"int")
return {x:NumGet(x,0,"int"), y:NumGet(y,0,"int"), w:NumGet(w,0,"int"), h:NumGet(h,0,"int")}
}

なんかそれらしいのが書いてあるのですがどう使えば良いか全く分からないです、、
当方 java で hello world したことあるぐらいの知識しかないです
0343名無しさん@お腹いっぱい。 (ワッチョイ 3587-axIE)
垢版 |
2018/08/23(木) 12:44:31.29ID:E69zRD1X0
>>342
サンプルを参考にfirefoxだと

#include Acc.ahk

^b::
h := % Acc_GetLocation()["h"]
MsgBox,%h%
return

Acc_GetLocation(x="",y=""){
Acc := Acc_ObjectFromPoint(ChildId,x,y)
return Acc_Location(Acc,ChildId,Location)
}

のように書いたら動きました
ありがとうございました
0344名無しさん@お腹いっぱい。 (ワッチョイ 6aec-4dUf)
垢版 |
2018/08/24(金) 05:53:49.88ID:8BBrzI5s0
1.1.30.00 - August 22, 2018

Fixed SendInput/SendPlay to restore DownR/remapped modifiers.

Increased limit of hotkeys per script from 1000 to 32762.

Changed commands which accept On/Off/Toggle to also accept 1/0/-1 (where documented).

Improvements to debugger (DBGp) support:

Added support for the -d (stack depth) option.
Added (DBGp-only) .<base> pseudo-property to resolve ambiguity.
Fixed debugger to avoid unsupported re-entry during break state.
Fixed DBGp command parser to support quoted parameters.
0345名無しさん@お腹いっぱい。 (アウアウウーT Saa1-vl9i)
垢版 |
2018/08/24(金) 11:51:29.97ID:PobDvvRka
質問させて頂きたい事があります

ゲーム等のバックグラウンドでは動作が止まる、もしくは動作はする物のControlSendを受け付けなくなるウィンドウにおいて
タイトルバーで左クリック押下⇒winキー⇒左クリックを離すという操作を行うと
アプリ側にアクティブであると誤認させられるのかバックグラウンドで動作し、ControlSendで操作可能になります

この疑似アクティブ状態をAutoHotkeyで再現しようとすると上記のクリックやwinキーの操作を実際に行わせるしかないでしょうか
それとも直接的に上記状態にするような方法があるでしょうか
なお、win7で確認しており、win10等でもできるかは不明です
0347名無しさん@お腹いっぱい。 (ワッチョイ 66ec-wF79)
垢版 |
2018/08/25(土) 15:41:21.65ID:3RTHsCRA0
ド素人ですみません。
新しくインストールしたら使用できなくなりました。
今まで使用できたものが出来たくなっているみたいなのですが
どの様に直したらいいでしょうか?

貰いものなので中身は、分かっておりません。

宜しくお願い致します。

vkF2sc070::Send {-} ; [ひらカタ]縮小
AppsKey::Send {+} ; [menu]拡大

#############################
^AppsKey::
WinGet, active_id, ID, A
ChangeTF(active_id,33025) ;Period +
return
^vkF2sc070::
WinGet, active_id, ID, A
ChangeTF(active_id,33026) ;Period -
return
0349名無しさん@お腹いっぱい。 (ワッチョイ 66ec-wF79)
垢版 |
2018/08/25(土) 16:35:58.51ID:3RTHsCRA0
>>348
ありがとうございます。起動しました(^▽^)/
0350名無しさん@お腹いっぱい。 (ワッチョイ 6663-axIE)
垢版 |
2018/08/25(土) 20:16:30.95ID:Z3REYl2m0
質問です。

やりたいこと
aの長押し(0.5秒以上)でctrl+c

作ってみたものの、コピーできたりできなかったり、
ctrl+aが出力されたり、
0.5秒以上推し続けているのにaが出力されたりします。

どうかご教授ください。

$a::
KeyWait, a, T0.5
if ErrorLevel
send,^c
else
send,a
keywait,a
return
0351名無しさん@お腹いっぱい。 (ワッチョイ aadb-PcWx)
垢版 |
2018/08/25(土) 21:22:09.82ID:vYU0ROV20
>>350
そのまま試したけどウチでは問題無く動くなぁ
見た感じも特に間違ってないと思うし
ただaが本来はキー押した時入力だけどkeywaitで離した時入力になるから
文章入力時に常駐させるのは厳しいw
■ このスレッドは過去ログ倉庫に格納されています

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