!extend:checked:vvvvv:1000:512と次スレを立てる際は1行目に記入してください
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part23
http://potato.2ch.net/test/read.cgi/software/1470936221/
■日本語解説等
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)
AutoHotkey スレッド part24 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ 997d-+Qhn)
2017/02/15(水) 18:04:32.01ID:kshCKhXn051名無しさん@お腹いっぱい。 (オッペケ Sr07-ic+v)
2017/02/21(火) 12:36:27.91ID:ulZsc9y6r >>48
昔自分用に作ったウィンドウコントロールに似てる
俺のは特定のプログラムが散らかすダイアログ群がターゲットだったから
記録:
WinGet, array, List, ahk_pid %pid%,, title
n := 0, d := ""
Loop, %array% {
n++
d .= "diag" n "=" ダイアログ呼び出しキー "`t" ターゲットのid(=array%A_Index%)からタイトルと座標を`t区切りで返す関数 "`n"
}
FileAppend, [CONF]DiagMember=%n%`n[DIALOGS]`n%d%, hoge.ini
return
復元:
iniRead, DiagMember, hoge.ini, CONF, DiagMember
Loop, %DiagMember% {
iniRead, diag%A_Index%, hoge.ini, DIALOGS, diag%A_Index%, 0
StringSplit, array, diag%A_Index%, %A_Tab%
Send, %array1%
WinWait, %array2% ahk_pid %pid%
WinMove,,, %array3%, %array4%, %array5%, %array6%
}
return
のようにしてた。
ウィンドウが閉じられずに存在しているならば呼び出しキー不要だし、ウィンドウハンドルを変数名にしてそこに値を格納してAppend使わずにメモリ上で完結出来るんじゃないかな
昔自分用に作ったウィンドウコントロールに似てる
俺のは特定のプログラムが散らかすダイアログ群がターゲットだったから
記録:
WinGet, array, List, ahk_pid %pid%,, title
n := 0, d := ""
Loop, %array% {
n++
d .= "diag" n "=" ダイアログ呼び出しキー "`t" ターゲットのid(=array%A_Index%)からタイトルと座標を`t区切りで返す関数 "`n"
}
FileAppend, [CONF]DiagMember=%n%`n[DIALOGS]`n%d%, hoge.ini
return
復元:
iniRead, DiagMember, hoge.ini, CONF, DiagMember
Loop, %DiagMember% {
iniRead, diag%A_Index%, hoge.ini, DIALOGS, diag%A_Index%, 0
StringSplit, array, diag%A_Index%, %A_Tab%
Send, %array1%
WinWait, %array2% ahk_pid %pid%
WinMove,,, %array3%, %array4%, %array5%, %array6%
}
return
のようにしてた。
ウィンドウが閉じられずに存在しているならば呼び出しキー不要だし、ウィンドウハンドルを変数名にしてそこに値を格納してAppend使わずにメモリ上で完結出来るんじゃないかな
52名無しさん@お腹いっぱい。 (オッペケ Sr07-ic+v)
2017/02/21(火) 13:09:01.51ID:ulZsc9y6r >>50
その用途なら俺ならグリッド使うがその機能がないならば
昔AutoHotkeyフォーラムで拾った関数なんだがURL失念すまん
GetPointerPrecision() {
static root := "Control Panel\Mouse", sub := "MouseSpeed"
RegRead, s, HKCU, %root%, %sub%
return s
}
SetPointerPrecision(th1, th2, spd) {
static sm := 0x0004 ; SPI_SETMOUSE
VarSetCapacity(MySet, 12, 0)
InsertInteger(th1, MySet, 0) ; MouseThreshold1
InsertInteger(th2, MySet, 4) ; MouseThreshold2
InsertInteger(spd, MySet, 8) ; MouseSpeed( MouseSpeed is Not MouseSensitivity )
DllCall("SystemParametersInfo", "UInt",sm, "UInt",0, "Str",MySet, "UInt",1)
}
InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4) {
Loop, %pSize%
DllCall("RtlFillMemory", "UInt",&pDest + pOffset + A_Index-1, "UInt",1, "UChar",pInteger >> 8*(A_Index-1) & 0xFF)
}
;使用例
SetPointerPrecision(0, 0, 0) ;タブレットモード
SetPointerPrecision(6, 10, 1) ;トラックボールモード
その用途なら俺ならグリッド使うがその機能がないならば
昔AutoHotkeyフォーラムで拾った関数なんだがURL失念すまん
GetPointerPrecision() {
static root := "Control Panel\Mouse", sub := "MouseSpeed"
RegRead, s, HKCU, %root%, %sub%
return s
}
SetPointerPrecision(th1, th2, spd) {
static sm := 0x0004 ; SPI_SETMOUSE
VarSetCapacity(MySet, 12, 0)
InsertInteger(th1, MySet, 0) ; MouseThreshold1
InsertInteger(th2, MySet, 4) ; MouseThreshold2
InsertInteger(spd, MySet, 8) ; MouseSpeed( MouseSpeed is Not MouseSensitivity )
DllCall("SystemParametersInfo", "UInt",sm, "UInt",0, "Str",MySet, "UInt",1)
}
InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4) {
Loop, %pSize%
DllCall("RtlFillMemory", "UInt",&pDest + pOffset + A_Index-1, "UInt",1, "UChar",pInteger >> 8*(A_Index-1) & 0xFF)
}
;使用例
SetPointerPrecision(0, 0, 0) ;タブレットモード
SetPointerPrecision(6, 10, 1) ;トラックボールモード
53名無しさん@お腹いっぱい。 (ワッチョイ 9ec0-qUVP)
2017/02/21(火) 13:21:52.79ID:Z5KCL75j0 >>50
マウスの加速機能はついてないの?
マウスの加速機能はついてないの?
54名無しさん@お腹いっぱい。 (ワッチョイ 1f12-DpDM)
2017/02/21(火) 16:36:30.88ID:XlUCT1ZY0 >>50
RegWrite, REG_SZ, HKEY_CURRENT_USER, Control Panel\Mouse, MouseSensitivity, 5
レジストリ直接いじった方が早いそうなので試したけど、うまくいかなかった
再起動しなきゃダメなのかね
RegWrite, REG_SZ, HKEY_CURRENT_USER, Control Panel\Mouse, MouseSensitivity, 5
レジストリ直接いじった方が早いそうなので試したけど、うまくいかなかった
再起動しなきゃダメなのかね
55名無しさん@お腹いっぱい。 (ワッチョイ 1f24-eq+O)
2017/02/21(火) 17:36:36.03ID:iWUpBYRA0 >>52
コンパネのマウスのポインターオプションの速度の
ポインターの速度を選択する
ってとこを動かすと、レジストリのMouseSensitivityが1〜20まで変化する
MouseSpeedとの違いが謎だな
コンパネのマウスのポインターオプションの速度の
ポインターの速度を選択する
ってとこを動かすと、レジストリのMouseSensitivityが1〜20まで変化する
MouseSpeedとの違いが謎だな
56名無しさん@お腹いっぱい。 (ワッチョイ 1f24-eq+O)
2017/02/21(火) 17:41:03.95ID:iWUpBYRA0 >>54
regeditでレジストリを直接いじってみたが、コンパネのマウスにはまったく反映されずに
マウスのプロパティを閉じたりするとレジストリがもとに戻る
レジストリを変更したのをメッセージとして通知せんとダメなんじゃね?
SystemParametersInfoを使うとそれをしてくれるのか
でもダメだったっていうHPもあったなw
regeditでレジストリを直接いじってみたが、コンパネのマウスにはまったく反映されずに
マウスのプロパティを閉じたりするとレジストリがもとに戻る
レジストリを変更したのをメッセージとして通知せんとダメなんじゃね?
SystemParametersInfoを使うとそれをしてくれるのか
でもダメだったっていうHPもあったなw
57名無しさん@お腹いっぱい。 (ワッチョイ c37d-Z7AI)
2017/02/21(火) 18:27:03.92ID:VNYq5LdE0 >>38
exeのプロパティで互換性→視覚テーマを無効にすれば個別にAero切れる
WinSet, ExStyle, 0x00000080, hoge でさらにクラシックぽくなる
変更する為にはレジストリを変更する必要があるので慎重に
参照: https://w-mashiro.rhcloud.com/pc/windows/252
例: 互換性モードで実行
Path = C:\Users\User\Desktop\TestOS.exe
RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers, %Path%, WINVISTASP2 VISTARTM
exeのプロパティで互換性→視覚テーマを無効にすれば個別にAero切れる
WinSet, ExStyle, 0x00000080, hoge でさらにクラシックぽくなる
変更する為にはレジストリを変更する必要があるので慎重に
参照: https://w-mashiro.rhcloud.com/pc/windows/252
例: 互換性モードで実行
Path = C:\Users\User\Desktop\TestOS.exe
RegWrite, REG_SZ, HKEY_CURRENT_USER, Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers, %Path%, WINVISTASP2 VISTARTM
58名無しさん@お腹いっぱい。 (ワッチョイ e32a-//k8)
2017/02/21(火) 19:25:38.86ID:La4vYKtz0 マウスポインターの速度変更ならヘルプのDllCallのサンプルコードにあるけど
59名無しさん@お腹いっぱい。 (ワッチョイ 9239-P9CU)
2017/02/21(火) 19:41:24.03ID:UifnTonW0 >>49
ありがとうございます。
グローバル関数とはなにか、そもそも関数の扱いがわからないのでネットで勉強することにします。
そこでお尋ねしたいのですが、
titles[title] := [] ; さらに配列
この四角いカッコはコマンド的に意味のあるものなのでしょうか。
{ }や( )ではなく [ ] をautohotkeyで使う場面がわからないのですが、
何かの一例ということで例えばtitles a というような意味でしょうか。
それとイコールの右側の四角い記号はカッコの組み合わせを隙間なく書いてあるようですがどういう意味でしょうか?
そのカッコの中に何かを書き込めという意味でしょうか?
よろしくお願いします。
ありがとうございます。
グローバル関数とはなにか、そもそも関数の扱いがわからないのでネットで勉強することにします。
そこでお尋ねしたいのですが、
titles[title] := [] ; さらに配列
この四角いカッコはコマンド的に意味のあるものなのでしょうか。
{ }や( )ではなく [ ] をautohotkeyで使う場面がわからないのですが、
何かの一例ということで例えばtitles a というような意味でしょうか。
それとイコールの右側の四角い記号はカッコの組み合わせを隙間なく書いてあるようですがどういう意味でしょうか?
そのカッコの中に何かを書き込めという意味でしょうか?
よろしくお願いします。
60名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/21(火) 20:05:23.31ID:IYHQ65RM0 >>59
いやー俺もつい2週間前くらいに始めたところでw
配列を [] (大括弧)で書くのと {} (中括弧)で書くのに違いはないってどっかでみたよ
あと Object() て書いても同じことらしい。
他人が読んだときに、どういう意図か伝えるために書き分けるって考え方があって
普通に数字や文字列を入れるときは大カッコがいいかなあと俺は思った。
クラスのインスタンスとか、いろんなもの入れるとかの場合が中カッコ。俺はそうかなと
思っただけ。
でも別に気にしなくてもいいんじゃねw
あと Global も、別のいろんな言語の経験から反射的につけただけ。なくても動くかも
しれない。動かないかもしれない。ごめんねこんなんでw
いやー俺もつい2週間前くらいに始めたところでw
配列を [] (大括弧)で書くのと {} (中括弧)で書くのに違いはないってどっかでみたよ
あと Object() て書いても同じことらしい。
他人が読んだときに、どういう意図か伝えるために書き分けるって考え方があって
普通に数字や文字列を入れるときは大カッコがいいかなあと俺は思った。
クラスのインスタンスとか、いろんなもの入れるとかの場合が中カッコ。俺はそうかなと
思っただけ。
でも別に気にしなくてもいいんじゃねw
あと Global も、別のいろんな言語の経験から反射的につけただけ。なくても動くかも
しれない。動かないかもしれない。ごめんねこんなんでw
61名無しさん@お腹いっぱい。 (ワッチョイ 12d9-veJH)
2017/02/21(火) 22:19:56.43ID:RVqdF5O6062名無しさん@お腹いっぱい。 (ワッチョイ 1f99-eq+O)
2017/02/22(水) 02:53:24.69ID:dVZ+QgoV0 PCゲームのDeadSpace3の上で、ahkがまったく動作しません。
ゲームなのでもうしょうがないのでしょうか?
英語でちょっとぐぐると同様の人がいるみたいですが、解決策を見つけられませんでした。
対戦ゲームが搭載されていますがメインではないので、アンチチート系のブロックではないと
思うのですが。このスレッドではゲームの話題は却下なのでしょうか
ゲームなのでもうしょうがないのでしょうか?
英語でちょっとぐぐると同様の人がいるみたいですが、解決策を見つけられませんでした。
対戦ゲームが搭載されていますがメインではないので、アンチチート系のブロックではないと
思うのですが。このスレッドではゲームの話題は却下なのでしょうか
63名無しさん@お腹いっぱい。 (ワッチョイ debb-eq+O)
2017/02/22(水) 03:18:30.57ID:SyYG6t1J0 >>62
ahkスクリプトを管理者権限で実行してもダメ?
ahkスクリプトを管理者権限で実行してもダメ?
64名無しさん@お腹いっぱい。 (ワッチョイ 9239-P9CU)
2017/02/22(水) 04:09:38.36ID:llRBXp7y0 >>60
ありがとうございます。
わからないなりに真似してやってみたところ残念ながらタイトル固有の位置を取得できていない状態です。
同じコマンドでトグル動作するように設定しているのですが、
結局一番最後にウィンドウを中央に移動した直前の位置を覚えているだけみたいで
配列の部分を全部読み込まなくても同様の動きになりました。。。。
添字?でしょうか、なにか書式が違うんでしょうか。。。
次のレスにコピーしますが、もし、、、なにか間違いがわかったらご意見うかがえると幸いです。
ありがとうございます。
わからないなりに真似してやってみたところ残念ながらタイトル固有の位置を取得できていない状態です。
同じコマンドでトグル動作するように設定しているのですが、
結局一番最後にウィンドウを中央に移動した直前の位置を覚えているだけみたいで
配列の部分を全部読み込まなくても同様の動きになりました。。。。
添字?でしょうか、なにか書式が違うんでしょうか。。。
次のレスにコピーしますが、もし、、、なにか間違いがわかったらご意見うかがえると幸いです。
65名無しさん@お腹いっぱい。 (ワッチョイ 9239-P9CU)
2017/02/22(水) 04:11:32.16ID:llRBXp7y0 ^#!Numpad1::
WinGetActiveStats, t, wa, ha, xa, ya
Global titles := [] ; 配列
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
WinGetActiveStats, t, w, h, x, y
titles[t] :=[] ; さらに配列
titles[t].w := w
titles[t].h := h
titles[t].x := x
titles[t].y := y
WinMove,A,,1300, 100,1200,1500
MsgBox,%t%,%x%,%y%,%h%,%w%,中央
return
Label2:
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
WinMove, % t,, x, y, w, h
MsgBox,%t%,%x%,%y%,%h%,%w%,戻り
return
WinGetActiveStats, t, wa, ha, xa, ya
Global titles := [] ; 配列
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
WinGetActiveStats, t, w, h, x, y
titles[t] :=[] ; さらに配列
titles[t].w := w
titles[t].h := h
titles[t].x := x
titles[t].y := y
WinMove,A,,1300, 100,1200,1500
MsgBox,%t%,%x%,%y%,%h%,%w%,中央
return
Label2:
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
WinMove, % t,, x, y, w, h
MsgBox,%t%,%x%,%y%,%h%,%w%,戻り
return
66名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/22(水) 05:07:29.61ID:Lnwqrb+t0 >>65
さりげなく画面でかいなおい。
Global titles の行を一番上に、^#!Numpad より上に。
あと Label2 の w とか h とか、:= の前が全角のスペースだったから確認
if (IsObject(titles[t])) {
て書けば、座標を記憶してればどうたら〜って書けるよ。if (titles[t]) { て
書いても動くようだけど。あと
title をキーにして覚えるよりはウィンドウID(HWND)で覚えたほうがいいと思う。
タイトルは変わることがあるからな。
最後俺のミスだけど、titles て変数名はあんまりよくなかったw
windows とかのほうがマシだったわ
そして Global はつけなくても動いた。先頭に title := [] て書いとけばいい。
さりげなく画面でかいなおい。
Global titles の行を一番上に、^#!Numpad より上に。
あと Label2 の w とか h とか、:= の前が全角のスペースだったから確認
if (IsObject(titles[t])) {
て書けば、座標を記憶してればどうたら〜って書けるよ。if (titles[t]) { て
書いても動くようだけど。あと
title をキーにして覚えるよりはウィンドウID(HWND)で覚えたほうがいいと思う。
タイトルは変わることがあるからな。
最後俺のミスだけど、titles て変数名はあんまりよくなかったw
windows とかのほうがマシだったわ
そして Global はつけなくても動いた。先頭に title := [] て書いとけばいい。
67名無しさん@お腹いっぱい。 (ワッチョイ 9691-qUVP)
2017/02/22(水) 12:13:06.28ID:Idlhi0l50 すみません、
Google chrome (正確にはSRWare Iron)上で再生しているHTML5ビデオプレイヤーにフォーカスを合わせる方法ってないでしょうか?
HTML5ビデオプレイヤーにキーをsendしたいんですが、ブラウザ自体をwinactivateしてもそうはならないようで…
Google chrome (正確にはSRWare Iron)上で再生しているHTML5ビデオプレイヤーにフォーカスを合わせる方法ってないでしょうか?
HTML5ビデオプレイヤーにキーをsendしたいんですが、ブラウザ自体をwinactivateしてもそうはならないようで…
68名無しさん@お腹いっぱい。 (ワッチョイ 9ec0-qUVP)
2017/02/22(水) 12:59:48.89ID:1sPWRQrc069名無しさん@お腹いっぱい。 (ワッチョイ 1f12-DpDM)
2017/02/22(水) 13:08:23.34ID:NiPWfYF40 ブラウザをアクティブにしたあとでタブ送るとか
70名無しさん@お腹いっぱい。 (ワッチョイ 9239-P9CU)
2017/02/22(水) 19:29:32.02ID:llRBXp7y0 >>66
ありがとうございます。4kモニター買ったら真ん中以外がすごく操作しづらくてそれで考案中ですw
全角スペースを半角に直したら「戻り」が正しく動かなくなりました。
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
これが機能してなかったのが逆に表面上だけはうまく動いたように見えていたようです。
ウィンドウID(HWND)とは何でしょうか。
調べてみたところautohotkeyにはウィンドウを特定する方法のなかに
個別のIDはなさそうなんですが、、、
http://ahkwiki.net/Window
いい方法があると良いのですが。
if (IsObject(titles[t])) {
これは、titles[t]に値が入っていたら っていう意味でしょうか。。
やりたいことはさほどでもないのに実際挑戦すると深みにはまっていきます。
ありがとうございます。4kモニター買ったら真ん中以外がすごく操作しづらくてそれで考案中ですw
全角スペースを半角に直したら「戻り」が正しく動かなくなりました。
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
これが機能してなかったのが逆に表面上だけはうまく動いたように見えていたようです。
ウィンドウID(HWND)とは何でしょうか。
調べてみたところautohotkeyにはウィンドウを特定する方法のなかに
個別のIDはなさそうなんですが、、、
http://ahkwiki.net/Window
いい方法があると良いのですが。
if (IsObject(titles[t])) {
これは、titles[t]に値が入っていたら っていう意味でしょうか。。
やりたいことはさほどでもないのに実際挑戦すると深みにはまっていきます。
71名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/22(水) 19:52:07.18ID:Lnwqrb+t0 >>70
titles := [] を一番上にした?俺実際に動作確認してから書いたんだぞw
ウィンドウIDじゃなかったっけか。一般には HWND で通るんだけどなんか
変わった名前で呼ばれてた記憶があってウィンドウIDだったかなーと思って書いた。
WinExist() のところみたら「ウィンドウのハンドル」て書いてあるね
titles := [] を一番上にした?俺実際に動作確認してから書いたんだぞw
ウィンドウIDじゃなかったっけか。一般には HWND で通るんだけどなんか
変わった名前で呼ばれてた記憶があってウィンドウIDだったかなーと思って書いた。
WinExist() のところみたら「ウィンドウのハンドル」て書いてあるね
72名無しさん@お腹いっぱい。 (ワッチョイW 9239-oOoW)
2017/02/22(水) 20:45:28.25ID:llRBXp7y0 >>71
はい。一番上にしたんですけど、、、おかしいなあ。
そちらで動いたのならこのまま欠点を調べてみます。
一番上っていうかショートカットコマンドの上に書きました。
他のスクリプトもいくつかある中で、不安ながら初めてキーコマンドの上に書きました。
ウィンドウのハンドル、調べてみます
ただちょっと腰痛がひどくて取り掛かるまでに時間がかかりそうです、、、
はい。一番上にしたんですけど、、、おかしいなあ。
そちらで動いたのならこのまま欠点を調べてみます。
一番上っていうかショートカットコマンドの上に書きました。
他のスクリプトもいくつかある中で、不安ながら初めてキーコマンドの上に書きました。
ウィンドウのハンドル、調べてみます
ただちょっと腰痛がひどくて取り掛かるまでに時間がかかりそうです、、、
73名無しさん@お腹いっぱい。 (ワッチョイW 9239-oOoW)
2017/02/22(水) 20:47:16.07ID:llRBXp7y074名無しさん@お腹いっぱい。 (アウアウウーT Sa03-gU8W)
2017/02/22(水) 21:13:33.94ID:yvaLHXOma あ〜むずかしい
日本語の説明書ないかな
英語とかのはあるっぽいんだが
日本語の説明書ないかな
英語とかのはあるっぽいんだが
75名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/22(水) 21:13:59.79ID:Lnwqrb+t0 もう捨てちゃったよ。最初から RAMDISK 上でやったからなー
他思いつくことは
文字コードを utf-8 BOM 付きにした。
うちは 4K じゃないので指定どおりのウィンドウサイズにはならなかった
そのため「戻り」が呼ばれることはなかった。サイズを小さくしたら指定どおりになったけど
その時はすでに IsObject() で分岐するように改変してたから、ウィンドウサイズの判定で
正しく分岐するかどうかは確認してない。ただし MsgBox で表示させてサイズの確認はやった。
他思いつくことは
文字コードを utf-8 BOM 付きにした。
うちは 4K じゃないので指定どおりのウィンドウサイズにはならなかった
そのため「戻り」が呼ばれることはなかった。サイズを小さくしたら指定どおりになったけど
その時はすでに IsObject() で分岐するように改変してたから、ウィンドウサイズの判定で
正しく分岐するかどうかは確認してない。ただし MsgBox で表示させてサイズの確認はやった。
76名無しさん@お腹いっぱい。 (ワッチョイW 9239-oOoW)
2017/02/22(水) 21:22:48.29ID:llRBXp7y077名無しさん@お腹いっぱい。 (ワッチョイ 9239-P9CU)
2017/02/22(水) 22:12:30.20ID:llRBXp7y0 >>75
とりあえずウィンドウのハンドルの取得方法がわかりました
https://sites.google.com/site/autohotkeyjp/reference/commands/WinGet
WinGetでIDを指定するみたいです。
ウィンドウの特定のところでなんでパッと出てこないのか、、
しかしこれプログラム初心者にどっかで教えてくれる場所ないかなー
とりあえずウィンドウのハンドルの取得方法がわかりました
https://sites.google.com/site/autohotkeyjp/reference/commands/WinGet
WinGetでIDを指定するみたいです。
ウィンドウの特定のところでなんでパッと出てこないのか、、
しかしこれプログラム初心者にどっかで教えてくれる場所ないかなー
78名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/22(水) 22:27:42.26ID:Lnwqrb+t0 ウィンドウハンドルとか置いといて
とりあえず自分で書いたプログラムを動かすことを考えたほうがいいなこれは。
動かさないことには気持ち悪いだろう。
ほんで10行程度のプログラムの説明に100行書くのはごめんだw
とりあえず自分で書いたプログラムを動かすことを考えたほうがいいなこれは。
動かさないことには気持ち悪いだろう。
ほんで10行程度のプログラムの説明に100行書くのはごめんだw
79名無しさん@お腹いっぱい。 (ワッチョイ 127c-Vm/o)
2017/02/22(水) 22:31:40.86ID:teNn2wZc0 スクリプト貼り付けpen.ioとか使うのはダメなのかな
アップローダーはちとめんどくさいのはあるが
これだと適当なページ名とパスワード入れるだけで使える
アカウント作成とかも不要
アップローダーはちとめんどくさいのはあるが
これだと適当なページ名とパスワード入れるだけで使える
アカウント作成とかも不要
80名無しさん@お腹いっぱい。 (ワッチョイ 5f39-/qTs)
2017/02/22(水) 22:38:36.03ID:a43g1lV7081名無しさん@お腹いっぱい。 (ワッチョイW 9e4e-CFij)
2017/02/22(水) 22:43:18.02ID:Lnwqrb+t0 ずっとこの調子でやったらやったで
よそでやれとかいうくせにw
よそでやれとかいうくせにw
82名無しさん@お腹いっぱい。 (ワッチョイ 9299-P9CU)
2017/02/22(水) 22:49:41.31ID:2kfOkFZd083名無しさん@お腹いっぱい。 (ワッチョイ 127c-Vm/o)
2017/02/22(水) 23:00:06.64ID:teNn2wZc0 >>82
これ修正するのにアカウント必要じゃない?
これ修正するのにアカウント必要じゃない?
84名無しさん@お腹いっぱい。 (ワッチョイ a36d-QlaG)
2017/02/22(水) 23:23:10.19ID:Ga4mI7520 AHKって書くの面倒なんだよな
ちょっとボタン入れ替えたいときとか不便だわ
自動記述できるようなツール誰も作ってないのかな
ちょっとボタン入れ替えたいときとか不便だわ
自動記述できるようなツール誰も作ってないのかな
85名無しさん@お腹いっぱい。 (ワッチョイ bfe6-d4M5)
2017/02/23(木) 00:41:11.32ID:uTk4Z6DV086名無しさん@お腹いっぱい。 (ワッチョイ 6f6e-8lb6)
2017/02/23(木) 02:03:19.02ID:Ki8zWHFj0 暇つぶしに辞書読むような感覚でリファレンス読んでたら自然に覚えたけどな
初心者だから教えてくれとか言わずにもうちょっと時間かけて努力してみなよ
初心者だから教えてくれとか言わずにもうちょっと時間かけて努力してみなよ
87名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/23(木) 02:36:36.48ID:iWncX5Sd0 >>86
結構何時間も試行錯誤した末の質問なんですけどね
サイトは教科書ではないから、頭から読んだけどどうもある程度何かを知っていることが前提になっているようで。
それで質問したらヒントくれる人がいたけど、そのヒントがわからないから
コピペして試行錯誤するしかなくて正直何時間もやった挙句のレスなんですわ
自分で動かしてみろって書いてあるけど、それは何度も繰り返してるんですけどねえ、、、、
結構何時間も試行錯誤した末の質問なんですけどね
サイトは教科書ではないから、頭から読んだけどどうもある程度何かを知っていることが前提になっているようで。
それで質問したらヒントくれる人がいたけど、そのヒントがわからないから
コピペして試行錯誤するしかなくて正直何時間もやった挙句のレスなんですわ
自分で動かしてみろって書いてあるけど、それは何度も繰り返してるんですけどねえ、、、、
88名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/23(木) 02:50:30.56ID:iWncX5Sd0 titles := [] ; 配列
^#!Numpad1::
WinGetActiveStats, t, wa, ha, xa, ya
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
WinGetActiveStats, t, w, h, x, y
titles[t] :=[] ; さらに配列
titles[t].w := w
titles[t].h := h
titles[t].x := x
titles[t].y := y
WinMove,A,,1300, 100,1200,1500
MsgBox,%t%,%x%,%y%,%h%,%w%,中央
return
Label2:
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
WinMove, % t,, x, y, w, h
MsgBox,%t%,%x%,%y%,%h%,%w%,戻り
return
^#!Numpad1::
WinGetActiveStats, t, wa, ha, xa, ya
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
WinGetActiveStats, t, w, h, x, y
titles[t] :=[] ; さらに配列
titles[t].w := w
titles[t].h := h
titles[t].x := x
titles[t].y := y
WinMove,A,,1300, 100,1200,1500
MsgBox,%t%,%x%,%y%,%h%,%w%,中央
return
Label2:
w := titles[t].w
h := titles[t].h
x := titles[t].x
y := titles[t].y
WinMove, % t,, x, y, w, h
MsgBox,%t%,%x%,%y%,%h%,%w%,戻り
return
89名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/23(木) 02:51:06.75ID:iWncX5Sd0 やっぱりこれは動かないです。
皆さまお騒がせしてすみません。
また試行錯誤します。
皆さまお騒がせしてすみません。
また試行錯誤します。
90名無しさん@お腹いっぱい。 (ワッチョイ ffb2-8lb6)
2017/02/23(木) 03:58:51.54ID:n/Mbm79B0 よく分かってないやつが出したヒントを鵜呑みにしない方が良いんじゃね
91名無しさん@お腹いっぱい。 (ワッチョイW ff4e-sTLI)
2017/02/23(木) 06:00:59.80ID:tvLqh4DN0 >>88 コピペで動いたぞ
画面サイズ 1200x1500 のところを 600x400 に変えたけど
画面サイズ 1200x1500 のところを 600x400 に変えたけど
92名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/23(木) 10:56:33.91ID:pFFh4T600 gdgdすぎじゃろ、答えるならwikiの該当ページにリンク張るかせめて正しい検索ワード教えたれよ
うろ覚えの単語で適当な説明するから質問者もググれなくて困惑してるやん
>ウィンドウID(HWND)
正しくはウィンドウハンドル、AHK上では ahk_id のこと
Title を ahk_id に変えればオブジェクト使わなくても>43の当初の目的は達成できたと思われ
id:=WinActive("A")
WinGetPos, X%id%, Y%id%, W%id%, H%id%, ahk_id %id%
msgbox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id%
うろ覚えの単語で適当な説明するから質問者もググれなくて困惑してるやん
>ウィンドウID(HWND)
正しくはウィンドウハンドル、AHK上では ahk_id のこと
Title を ahk_id に変えればオブジェクト使わなくても>43の当初の目的は達成できたと思われ
id:=WinActive("A")
WinGetPos, X%id%, Y%id%, W%id%, H%id%, ahk_id %id%
msgbox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id%
93名無しさん@お腹いっぱい。 (ワッチョイW ff4e-sTLI)
2017/02/23(木) 11:12:27.44ID:tvLqh4DN0 最初に回答書いたのは自信あったからだ。あとは訊かれたから書いたんだ
2/10 にAHKインストールしたとこなんだ。細かいことは勘弁してくれよな
2/10 にAHKインストールしたとこなんだ。細かいことは勘弁してくれよな
94名無しさん@お腹いっぱい。 (ワッチョイ afd2-8lb6)
2017/02/23(木) 12:06:10.57ID:YeB1kZ5I0 半年ROMれの典型例
2週間じゃスレの雰囲気もようわからんだろうに
しつこく食い下がってくる質問者のほうが悪いとでもいいたげだがあまり気楽に答えてやるな
白旗上げるなら早いうちのほうが相手の被害も最小限ですむ
自分も始めたばかりならよう分からん回答者に振り回される恐怖は想像できるだろう
2週間じゃスレの雰囲気もようわからんだろうに
しつこく食い下がってくる質問者のほうが悪いとでもいいたげだがあまり気楽に答えてやるな
白旗上げるなら早いうちのほうが相手の被害も最小限ですむ
自分も始めたばかりならよう分からん回答者に振り回される恐怖は想像できるだろう
95名無しさん@お腹いっぱい。 (ワッチョイW ff4e-sTLI)
2017/02/23(木) 12:16:11.12ID:tvLqh4DN0 わかったよう
でもウィンドウID(HWND)は日本語サイトだけみたら間違いと思うかもしれないけど
本家みたらそんなには間違ってないと思うぞ
でもウィンドウID(HWND)は日本語サイトだけみたら間違いと思うかもしれないけど
本家みたらそんなには間違ってないと思うぞ
96名無しさん@お腹いっぱい。 (ワッチョイ ff54-8lb6)
2017/02/23(木) 12:50:20.10ID:FGOgLwLP0 分かってねーなこいつ
97名無しさん@お腹いっぱい。 (ワッチョイW bf39-Z+OO)
2017/02/23(木) 19:20:42.45ID:iWncX5Sd0 >>91
中央に移動させるのは動くけど引き続き同じキーコマンドで元の場所に戻らないんです。
その配列に元の位置が記憶されていない状態だと思います
配列が分からないのでとりあえず作ったスクリプトで今抱えている問題は、
ウィンドウAにキーコマンド→中央へ拡大移動しつつ前の位置を記憶
ウィンドウBにキーコマンド→中央に拡大移動したつ前の位置を記憶
これで2つのウィンドウが重なります。
そこで手前のウィンドウBを手動でずらす
ウィンドウAにキーコマンド→ウィンドウBの元の位置に移動してしまう
という現象です
記憶が1つならそうなるのは当然なんですけど
それを回避するのは配列しかないかなあと、、、
中央に移動させるのは動くけど引き続き同じキーコマンドで元の場所に戻らないんです。
その配列に元の位置が記憶されていない状態だと思います
配列が分からないのでとりあえず作ったスクリプトで今抱えている問題は、
ウィンドウAにキーコマンド→中央へ拡大移動しつつ前の位置を記憶
ウィンドウBにキーコマンド→中央に拡大移動したつ前の位置を記憶
これで2つのウィンドウが重なります。
そこで手前のウィンドウBを手動でずらす
ウィンドウAにキーコマンド→ウィンドウBの元の位置に移動してしまう
という現象です
記憶が1つならそうなるのは当然なんですけど
それを回避するのは配列しかないかなあと、、、
98名無しさん@お腹いっぱい。 (ワッチョイW bf39-Z+OO)
2017/02/23(木) 19:22:35.59ID:iWncX5Sd099名無しさん@お腹いっぱい。 (ワッチョイ 7f91-ixyU)
2017/02/23(木) 19:28:11.16ID:QlvMT+qG0 タスクバーの右にあるタスクトレイ?でしたっけ、この部分に表示されているアプリがクラッシュするとアイコンだけが残りますよね?。
この部分をリフレッシュして状態を元に戻したいんですが、Windows10だと海外のどのコードを使用しても反映されません。
グーグルで”autohtokey tasktray refresh”で検索したコードを使用してもWindows7では正常に動作しますが、Windows10では動作しませんでした。
ToolbarWindow321をToolbarWindow324にしても効果なしでした。
何か良い方法等ありませんでしょうか、よろしくお願いします。
この部分をリフレッシュして状態を元に戻したいんですが、Windows10だと海外のどのコードを使用しても反映されません。
グーグルで”autohtokey tasktray refresh”で検索したコードを使用してもWindows7では正常に動作しますが、Windows10では動作しませんでした。
ToolbarWindow321をToolbarWindow324にしても効果なしでした。
何か良い方法等ありませんでしょうか、よろしくお願いします。
100名無しさん@お腹いっぱい。 (ワッチョイ ff54-8lb6)
2017/02/23(木) 19:38:58.76ID:FGOgLwLP0101名無しさん@お腹いっぱい。 (ワッチョイ 6f56-O1Hn)
2017/02/23(木) 19:47:13.93ID:0D7QEc5c0 >>99
そのキーワードで検索して出てきた Noesis さんのスクリプトが、
Windows 10 で動作報告いっぱいあるようだけど、これじゃいかんの?
https://autohotkey.com/boards/viewtopic.php?t=19832#p95533
そのキーワードで検索して出てきた Noesis さんのスクリプトが、
Windows 10 で動作報告いっぱいあるようだけど、これじゃいかんの?
https://autohotkey.com/boards/viewtopic.php?t=19832#p95533
102名無しさん@お腹いっぱい。 (ワッチョイ 7f91-ixyU)
2017/02/23(木) 20:57:23.04ID:QlvMT+qG0103名無しさん@お腹いっぱい。 (ワッチョイ 7f91-ixyU)
2017/02/23(木) 21:06:43.44ID:QlvMT+qG0 念の為、こちらの環境で動作したコードを貼っておきます。
http://pastebin.com/NU5qcyvh
http://pastebin.com/NU5qcyvh
104名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/24(金) 02:42:55.56ID:xNGPh+BS0105名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/24(金) 03:28:32.74ID:xNGPh+BS0 >>92 スゲーあっさりできました。今後、改良改善していこうと思います。ありがとうございました。
if文の組み方でreturnの数が変に多い気がするのですが、無いとエラーが出るのでこうなりました。
もしよりスマートな組み方があったらうかがえると幸いです。
;ウィンドウリサイズ
^#!Numpad1::
WinGetActiveStats, t, wa, ha, xa, ya
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
id:=WinActive("A")
WinGetPos, X%id%, Y%id%, W%id%, H%id%, ahk_id %id%
WinMove,A,,1300, 100,1200,1500
MsgBox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id% " 中央へ"
return
Label2:
id:=WinActive("A")
WinMove,A,,X%id%, Y%id%,W%id%,H%id%
MsgBox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id% " 元の位置へ"
return
if文の組み方でreturnの数が変に多い気がするのですが、無いとエラーが出るのでこうなりました。
もしよりスマートな組み方があったらうかがえると幸いです。
;ウィンドウリサイズ
^#!Numpad1::
WinGetActiveStats, t, wa, ha, xa, ya
if(xa=1300 and ya=100 and wa=1200 and ha=1500)
{
Gosub,Label2
return
}
else
{
Gosub,Label1
return
}
Label1:
id:=WinActive("A")
WinGetPos, X%id%, Y%id%, W%id%, H%id%, ahk_id %id%
WinMove,A,,1300, 100,1200,1500
MsgBox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id% " 中央へ"
return
Label2:
id:=WinActive("A")
WinMove,A,,X%id%, Y%id%,W%id%,H%id%
MsgBox, % "ahk_id " id "`nX" X%id% ",Y" Y%id% ",W" W%id% ",H" H%id% " 元の位置へ"
return
106名無しさん@お腹いっぱい。 (ワッチョイ bf39-d4M5)
2017/02/24(金) 03:37:44.76ID:xNGPh+BS0 というかこのautohotkeyはいろいろな事ができて凄いと思うのだけど
あんまり話題になってないように思うのですがどうなんでしょうかね。
もともと自分はmac歴が長いので細かい省略キーが使えないウィンドウズに不満があったのですが、
これでカスタマイズしまくればある意味最強だと思えます。
書籍とか、馬鹿でもスクリプトがつくれるアプリとかあればいいのになあと思いました。
まあだから「流行らせるページ」なんてものができてたりするんでしょうけども。
あんまり話題になってないように思うのですがどうなんでしょうかね。
もともと自分はmac歴が長いので細かい省略キーが使えないウィンドウズに不満があったのですが、
これでカスタマイズしまくればある意味最強だと思えます。
書籍とか、馬鹿でもスクリプトがつくれるアプリとかあればいいのになあと思いました。
まあだから「流行らせるページ」なんてものができてたりするんでしょうけども。
107名無しさん@お腹いっぱい。 (ワッチョイ ef30-8lb6)
2017/02/24(金) 12:48:34.68ID:4TN8NtnJ0 文字列操作についてですが、
StringSplitを使うと、文字をカンマ等で分割して、変数名を A とすると、
A1 A2 A3
等に分割して入れてくれます。 逆に、A1 A2 A3等からまとめてもとのカンマ等で結合された文字列に戻す
命令ってないのでしょうか。 あるいは1行で簡単にできる操作ってありますか
StringSplitを使うと、文字をカンマ等で分割して、変数名を A とすると、
A1 A2 A3
等に分割して入れてくれます。 逆に、A1 A2 A3等からまとめてもとのカンマ等で結合された文字列に戻す
命令ってないのでしょうか。 あるいは1行で簡単にできる操作ってありますか
108名無しさん@お腹いっぱい。 (ワッチョイ 6fcd-8lb6)
2017/02/24(金) 13:23:32.90ID:5m0+00Nm0 テス
109名無しさん@お腹いっぱい。 (ワッチョイ 6fcd-8lb6)
2017/02/24(金) 13:24:46.07ID:5m0+00Nm0 >>107
関数化してみては?
; 分割
Str := "あ,い,う"
A := StrSplit(Str, "●")
; 復元
Str := StrRestore(A)
MsgBox, % Str
StrRestore(A)
{
Str := ""
Loop, % A.Length()
{
Str .= ((A_Index > 1) ? "●" : "") . A[A_Index]
}
Return Str
}
関数化してみては?
; 分割
Str := "あ,い,う"
A := StrSplit(Str, "●")
; 復元
Str := StrRestore(A)
MsgBox, % Str
StrRestore(A)
{
Str := ""
Loop, % A.Length()
{
Str .= ((A_Index > 1) ? "●" : "") . A[A_Index]
}
Return Str
}
110名無しさん@お腹いっぱい。 (ワッチョイ 6fcd-8lb6)
2017/02/24(金) 13:26:13.77ID:5m0+00Nm0 >>107
"●"は","に変えてくさい
"●"は","に変えてくさい
111名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/24(金) 14:07:02.47ID:W1kZDMOP0 StringSplit て言うてるやん
初心者(と思われる)相手に扱いのややこしいオブジェクト使った返答はやめたげなさいよ
>>107
分割数が固定なら A := A1 "," A2 "," A3 で一行化も可能だが
可変だったらループで回すしかないんじゃない?
やってるこた>109と同じだが
A:=""
Loop, %A0%
A .= A%A_Index% (A_index<A0 ? "," : "")
初心者(と思われる)相手に扱いのややこしいオブジェクト使った返答はやめたげなさいよ
>>107
分割数が固定なら A := A1 "," A2 "," A3 で一行化も可能だが
可変だったらループで回すしかないんじゃない?
やってるこた>109と同じだが
A:=""
Loop, %A0%
A .= A%A_Index% (A_index<A0 ? "," : "")
112名無しさん@お腹いっぱい。 (ワッチョイ 6fcd-8lb6)
2017/02/24(金) 14:41:54.05ID:5m0+00Nm0113名無しさん@お腹いっぱい。 (ワッチョイ ef30-8lb6)
2017/02/24(金) 15:50:45.98ID:4TN8NtnJ0 お二人ともありがとうございました。非常に参考になりました
114名無しさん@お腹いっぱい。 (ワッチョイ bfd9-/vtI)
2017/02/25(土) 11:23:21.06ID:u9ENoZ/u0115名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/25(土) 11:56:06.40ID:g79Hejm/0 . 演算子 (文字列連結) http://ahkwiki.net/-Concat
?:(条件) (三項演算子) http://ahkwiki.net/-Condition
代入演算子 http://ahkwiki.net/-Assign
三項演算子はぱっと見で意味が通りにくいので避ける人もいるが
覚えると便利なので多用する人は結構いるよ
107は行圧縮が課題なので使用したが式の意味の理解しやすさ的にはあまり親切な回答ではないね
視認性や効率無視で更に詰めると2行までは圧縮できる
Loop, %A0%
A := (A_index=1 ? "" : A) A%A_Index% (A_index<A0 ? "," : "")
?:(条件) (三項演算子) http://ahkwiki.net/-Condition
代入演算子 http://ahkwiki.net/-Assign
三項演算子はぱっと見で意味が通りにくいので避ける人もいるが
覚えると便利なので多用する人は結構いるよ
107は行圧縮が課題なので使用したが式の意味の理解しやすさ的にはあまり親切な回答ではないね
視認性や効率無視で更に詰めると2行までは圧縮できる
Loop, %A0%
A := (A_index=1 ? "" : A) A%A_Index% (A_index<A0 ? "," : "")
116名無しさん@お腹いっぱい。 (ワッチョイ 6fcd-8lb6)
2017/02/25(土) 12:45:39.21ID:XCqVx4l30 俺は>>107が文字列への戻し方を理解した上での質問だと解釈してたわ
117名無しさん@お腹いっぱい。 (ワッチョイ bf39-8Hz2)
2017/02/25(土) 13:17:08.13ID:FDsrzjQa0 三項演算子がAutoHotkeyで使えるという発想がなかった
118名無しさん@お腹いっぱい。 (オッペケ Sr03-qMfP)
2017/02/25(土) 13:31:02.35ID:1dPH+8dyr a := (aaa ? aaa
: (bbb ? bbb
: (ccc ? ccc : ddd)) )
みたいにテンプレ入れてるな俺
視認性はif文と大して変わらないかもだけど
: (bbb ? bbb
: (ccc ? ccc : ddd)) )
みたいにテンプレ入れてるな俺
視認性はif文と大して変わらないかもだけど
119名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/02/26(日) 01:26:03.66ID:g3AOYpmk0 教えてください。
無変換キーコンビネーションキーの一つ目で使用しているのですが、
一つ目のキー単独の元の機能は失わないようにしたいです。そこで
vk1Dsc07B::vk1Dsc07B ←これが動作しません
vk1Dsc07B::Send, {vk1Dsc07B} ←これは動作するのに
これはどうしてでしょうか?変換キーは同じこと(リマップ)をしてもそのまま動作するのに。
あとチルダ(~)をつければ大丈夫ってwikiみたのですが動く気がしません。
無変換キーコンビネーションキーの一つ目で使用しているのですが、
一つ目のキー単独の元の機能は失わないようにしたいです。そこで
vk1Dsc07B::vk1Dsc07B ←これが動作しません
vk1Dsc07B::Send, {vk1Dsc07B} ←これは動作するのに
これはどうしてでしょうか?変換キーは同じこと(リマップ)をしてもそのまま動作するのに。
あとチルダ(~)をつければ大丈夫ってwikiみたのですが動く気がしません。
120名無しさん@お腹いっぱい。 (ワッチョイ ff51-8lb6)
2017/02/26(日) 02:23:39.42ID:EZAUaAEs0 vk1Dsc07B::vk1Dsc07B
これも普通に動作したけど
これも普通に動作したけど
121名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/02/26(日) 02:26:33.44ID:g3AOYpmk0 ありがとう。えー、どうしてだろう。もう一回やったけど僕無理だ。
122名無しさん@お腹いっぱい。 (ワッチョイ ff51-8lb6)
2017/02/26(日) 02:39:53.60ID:EZAUaAEs0 ヘタに省略せず登録したコンビネーションキーとかも全て書くべきだと思うがな
ちなみに俺が試したのは下記
vk1Dsc07B::vk1Dsc07B
vk1Dsc07B & x:: AltTab
これで無変換キー単独で押した時は普通に無変換キーとして動作してる
ちなみに俺が試したのは下記
vk1Dsc07B::vk1Dsc07B
vk1Dsc07B & x:: AltTab
これで無変換キー単独で押した時は普通に無変換キーとして動作してる
123名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/02/26(日) 04:06:34.29ID:g3AOYpmk0 原因わかりました。
別の所で特定のウインドウが前面になったときの個別のキー割り当てのなかに
#IfWinActive, ahk_class GomPlayer1.x
vk1Dsc07B::Send, !{F4}
#IfWinActive
というのが入っていたのが原因でした。でもなぜこれが原因なのかわかりません。
どうしてなのでしょうか?
もし真ん中の行がSend, ではなくふつうのリマップの::a であれば無変換単独へのリマップがふつうに動きます
autohotkey.ahkでテストした記述は以下の6行がすべてです。
------ここから-------
#IfWinActive, ahk_class GomPlayer
vk1Dsc07B::Send, !{F4}
#IfWinActive
vk1Dsc07B::vk1Dsc07B
vk1Dsc07B & x:: Send,^{x}
------ここまで-------
ぼくは決定的なことがわかってないんだと思います。教えてください。
別の所で特定のウインドウが前面になったときの個別のキー割り当てのなかに
#IfWinActive, ahk_class GomPlayer1.x
vk1Dsc07B::Send, !{F4}
#IfWinActive
というのが入っていたのが原因でした。でもなぜこれが原因なのかわかりません。
どうしてなのでしょうか?
もし真ん中の行がSend, ではなくふつうのリマップの::a であれば無変換単独へのリマップがふつうに動きます
autohotkey.ahkでテストした記述は以下の6行がすべてです。
------ここから-------
#IfWinActive, ahk_class GomPlayer
vk1Dsc07B::Send, !{F4}
#IfWinActive
vk1Dsc07B::vk1Dsc07B
vk1Dsc07B & x:: Send,^{x}
------ここまで-------
ぼくは決定的なことがわかってないんだと思います。教えてください。
124名無しさん@お腹いっぱい。 (ワッチョイ 7f91-BsB8)
2017/02/26(日) 13:46:35.37ID:pxJcwieV0 MPC-HCにAHKからsendでのキー操作(早送り、次のトラック等)が
届くものと届かないものがあるんですが同じようなことで悩んだ先達さんいないでしょうか
全部効かせるコツがあったら教えて下さい
届くものと届かないものがあるんですが同じようなことで悩んだ先達さんいないでしょうか
全部効かせるコツがあったら教えて下さい
125名無しさん@お腹いっぱい。 (ワッチョイ ffbb-8lb6)
2017/02/26(日) 13:53:37.36ID:CqbTNGi00 メディアキーが効かないならキーボードショートカット使えば?
ショートカットキーはMPC-HC側でいくらでも編集出来るし
ショートカットキーはMPC-HC側でいくらでも編集出来るし
126名無しさん@お腹いっぱい。 (ワッチョイ ffbb-8lb6)
2017/02/26(日) 14:43:56.66ID:CqbTNGi00 >>124
てか試して見たら次のトラックとかメディアキー(Media_Next)でもキーボードショートカット(デフォならPgDn)でも
AHKからSendして普通にMPC-HCで使えたけど
根本的に何か記述間違ってるだけじゃね
てか試して見たら次のトラックとかメディアキー(Media_Next)でもキーボードショートカット(デフォならPgDn)でも
AHKからSendして普通にMPC-HCで使えたけど
根本的に何か記述間違ってるだけじゃね
127名無しさん@お腹いっぱい。 (ワッチョイ 7f91-BsB8)
2017/02/26(日) 17:36:49.95ID:pxJcwieV0 >>126
ありがとうございます
それで問題が狭まったかも
実は問題はSVP 3.1.5に同梱されているmpc-hcで出ていて
madVRやReClock併用時だけの問題なのかもです
色々試してみたけどやぱり分かりませんね…
ありがとうございます
それで問題が狭まったかも
実は問題はSVP 3.1.5に同梱されているmpc-hcで出ていて
madVRやReClock併用時だけの問題なのかもです
色々試してみたけどやぱり分かりませんね…
128名無しさん@お腹いっぱい。 (ワッチョイ ffbb-8lb6)
2017/02/26(日) 18:05:19.38ID:CqbTNGi00 スクリプトすら貼らないから何が問題なのかすら伝わってこないんだが
質問するやつ言葉足らずが多すぎ
質問するやつ言葉足らずが多すぎ
129名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/26(日) 18:15:27.29ID:TxBZNz0e0 最近妙にご新規さんが増えてるっぽい印象は感じる
どこぞで紹介でもされたんかね
どこぞで紹介でもされたんかね
130名無しさん@お腹いっぱい。 (ワッチョイ 2f13-8lb6)
2017/02/27(月) 14:33:40.39ID:KE+0u5pR0 ToolTipのフォントが小さいのですが、フォントを変更することは出来ますか
131名無しさん@お腹いっぱい。 (ワッチョイ 7f32-GWeL)
2017/02/27(月) 14:35:24.62ID:iBgmHIgZ0 :::Send,{'} ; [:] -> '
+:::Send,{"} ; Shift + ' [*] -> "
WildcardをDouble questionにremapしたいのですが何故か動作しません助けて下さい
+:::Send,{"} ; Shift + ' [*] -> "
WildcardをDouble questionにremapしたいのですが何故か動作しません助けて下さい
132名無しさん@お腹いっぱい。 (ワッチョイ ffbb-8lb6)
2017/02/27(月) 14:48:45.00ID:TdJpVywr0 *::"
133名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/27(月) 14:52:38.05ID:wiDI8cWz0134名無しさん@お腹いっぱい。 (ワッチョイ efe6-d4M5)
2017/02/27(月) 14:56:37.32ID:5ofIhFHw0 >>130
出来ない。但し、GUIやProgressで代用可能
tooltip_gui("ほげほげ")
sleep, 2000
tooltip_progress("hogehoge")
sleep, 2500
exitapp
tooltip_gui(msg) { ; Gui番号を指定すれば複数表示可
Gui, -Border
Gui, Font, S50
Gui, Add, Text, , %msg%
;Gui, show, X300 Y200 ; 座標指定
Gui, show ; 画面中央
SetTimer, tooltip_gui_off, -2000
return
tooltip_gui_off:
GUI, Destroy
return
}
tooltip_progress(msg) { ; 複数表示不可、各々のオプションは適当
;Progress, h100 W400 X300 Y200 B1 C00 ZH0 ZW0 ZY2 FM60 WM200 CWFFFFBF , , %msg% ; 座標指定
Progress, h100 W400 B1 C00 ZH0 ZW0 ZY2 FM60 WM200 CWFFFFBF , , %msg% ; 画面中央
SetTimer, tooltip_progress_off, -2000
return
tooltip_progress_off:
Progress, off
return
}
出来ない。但し、GUIやProgressで代用可能
tooltip_gui("ほげほげ")
sleep, 2000
tooltip_progress("hogehoge")
sleep, 2500
exitapp
tooltip_gui(msg) { ; Gui番号を指定すれば複数表示可
Gui, -Border
Gui, Font, S50
Gui, Add, Text, , %msg%
;Gui, show, X300 Y200 ; 座標指定
Gui, show ; 画面中央
SetTimer, tooltip_gui_off, -2000
return
tooltip_gui_off:
GUI, Destroy
return
}
tooltip_progress(msg) { ; 複数表示不可、各々のオプションは適当
;Progress, h100 W400 X300 Y200 B1 C00 ZH0 ZW0 ZY2 FM60 WM200 CWFFFFBF , , %msg% ; 座標指定
Progress, h100 W400 B1 C00 ZH0 ZW0 ZY2 FM60 WM200 CWFFFFBF , , %msg% ; 画面中央
SetTimer, tooltip_progress_off, -2000
return
tooltip_progress_off:
Progress, off
return
}
135名無しさん@お腹いっぱい。 (ワッチョイ 2f13-8lb6)
2017/02/27(月) 15:26:41.86ID:KE+0u5pR0 >>134
作らないといけないということですね。ありがとうございました
作らないといけないということですね。ありがとうございました
136名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/02/28(火) 00:08:57.54ID:GG32Wtxo0137名無しさん@お腹いっぱい。 (ワッチョイW bf39-Z+OO)
2017/02/28(火) 02:01:23.61ID:TZ6azZE+0 部分的すぎて質問の意味が伝わって泣きんじゃないか?
動くほうのスクリプトと動かないスクリプトの両方をはっつけて
何は出来るのに何ができないって示さないとわかんないんじゃないかな
動くほうのスクリプトと動かないスクリプトの両方をはっつけて
何は出来るのに何ができないって示さないとわかんないんじゃないかな
138名無しさん@お腹いっぱい。 (ワッチョイWW ff89-AAEx)
2017/02/28(火) 08:09:02.90ID:FkW/ZsiE0 環境書かない質問はスルーしていいってじっちゃが言ってた
139名無しさん@お腹いっぱい。 (ワッチョイ ffc0-BsB8)
2017/02/28(火) 08:37:07.90ID:GJMq1dBE0 >>136
vk1Dsc07B::
if WinActive("ahk_class GomPlayer"){
Send, !{F4}
} else {
Send,{vk1Dsc07B}
}
で良いんじゃないの?
vk1Dsc07B::
if WinActive("ahk_class GomPlayer"){
Send, !{F4}
} else {
Send,{vk1Dsc07B}
}
で良いんじゃないの?
140名無しさん@お腹いっぱい。 (ワッチョイ ef39-6M2V)
2017/02/28(火) 10:40:52.10ID:LhprMn5H0141名無しさん@お腹いっぱい。 (ワッチョイ af7d-HyQo)
2017/02/28(火) 11:25:14.64ID:ztkILZtN0 >>136
コンビネーションキーとして使用すると
一つ目のキー自体のもともとの機能は無効化される。
機能残したいなら#ifを使おう
#IfWinActive 電卓
vk1Dsc07B::Tooltip 電卓
#if GetKeyState("vk1Dsc07B")
x::Tooltip x
#If
コンビネーションキーとして使用すると
一つ目のキー自体のもともとの機能は無効化される。
機能残したいなら#ifを使おう
#IfWinActive 電卓
vk1Dsc07B::Tooltip 電卓
#if GetKeyState("vk1Dsc07B")
x::Tooltip x
#If
142名無しさん@お腹いっぱい。 (ワッチョイ ffbb-8lb6)
2017/02/28(火) 12:04:10.61ID:zYze+Gwq0143名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/02/28(火) 13:22:09.15ID:GG32Wtxo0 レスたくさん頂いてありがとうございます。文章が下手ですいません。
>>140
・#IfWinActiveで別々のケースとして区切っているのに、ホットキーとリマップの混在になってしまうのでしょうか?
・その混在で不都合がでるのはコンビネーションキーを設定したときに、一つ目のキーを離したときに発動する機能に限ったことなのでしょうか?
ぼくのautohotkey.ahkの構成は、#IfWinActiveをつかって
Aのソフトウェアが前面にあるときのホットキー
Zのソフトウェアが前面にあるときのホットキー
それら以外の場合のホットキー
という順で、どのソフトウェアが前面であるかを一つのユニットとして、別々にホットキーを
設定しているので#IfWinActiveの仕切りを越えて影響してきたら若干困ります。
AからZのホットキーの場合は前後で#IfWinActiveで仕切っているのに対して
「それら以外の場合の」ホットキーの場合は前後になんの工夫もなくただ書いているだけなのがまずいのかな。
>>140
・#IfWinActiveで別々のケースとして区切っているのに、ホットキーとリマップの混在になってしまうのでしょうか?
・その混在で不都合がでるのはコンビネーションキーを設定したときに、一つ目のキーを離したときに発動する機能に限ったことなのでしょうか?
ぼくのautohotkey.ahkの構成は、#IfWinActiveをつかって
Aのソフトウェアが前面にあるときのホットキー
Zのソフトウェアが前面にあるときのホットキー
それら以外の場合のホットキー
という順で、どのソフトウェアが前面であるかを一つのユニットとして、別々にホットキーを
設定しているので#IfWinActiveの仕切りを越えて影響してきたら若干困ります。
AからZのホットキーの場合は前後で#IfWinActiveで仕切っているのに対して
「それら以外の場合の」ホットキーの場合は前後になんの工夫もなくただ書いているだけなのがまずいのかな。
144名無しさん@お腹いっぱい。 (ワッチョイ 6f99-8lb6)
2017/02/28(火) 13:36:30.15ID:XP3qQWy90145名無しさん@お腹いっぱい。 (ワッチョイ ef12-4rO4)
2017/02/28(火) 16:07:06.51ID:qHZRcqns0146名無しさん@お腹いっぱい。 (ワッチョイ 7fd2-ixyU)
2017/02/28(火) 23:19:34.98ID:pfHbqPzF0 デスクトップの向きって取得出来ませんか?。
wiki見た感じだとsysgetやwingetでは無理そうなんです。
wiki見た感じだとsysgetやwingetでは無理そうなんです。
147名無しさん@お腹いっぱい。 (ワッチョイ ff89-8lb6)
2017/02/28(火) 23:30:28.86ID:FkW/ZsiE0 ポートレートかランドスケープかって判断ならhright widthの値比較でわかると思うが
タブレットデバイスの 0/90/180/270 角度判断は無理じゃね
タブレットデバイスの 0/90/180/270 角度判断は無理じゃね
148名無しさん@お腹いっぱい。 (ワッチョイ 7fd2-ixyU)
2017/02/28(火) 23:56:51.35ID:pfHbqPzF0 角度は無理そうですか。
有難うございます。
有難うございます。
149名無しさん@お腹いっぱい。 (ワッチョイ 2f2e-8lb6)
2017/03/01(水) 00:03:41.20ID:YlFSJdgd0 どんな用途か知らんけど大抵は縦か横かの判定だけで事足りる気がするけど
150名無しさん@お腹いっぱい。 (ワッチョイ ef99-8lb6)
2017/03/01(水) 01:25:21.04ID:vkF2E2Qp0 >>144
vk1Dsc07Bの単独の機能が死ぬんだがw
vk1Dsc07Bの単独の機能が死ぬんだがw
■ このスレッドは過去ログ倉庫に格納されています
