X



AutoHotkey スレッド part24 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。 転載ダメ©2ch.net (ワッチョイ 997d-+Qhn)
垢版 |
2017/02/15(水) 18:04:32.01ID:kshCKhXn0
!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)
0855名無しさん@お腹いっぱい。 (ワッチョイW 938f-FDjR)
垢版 |
2017/08/22(火) 18:36:22.06ID:qLSs8lj90
PixelSearchは指定した色が存在するときにヒットしますが
逆に指定した色が存在しないときに、座標を取得することはできますか?

PixelGetColorをLoopしてやってみましたがかなり遅かったので・・
0857名無しさん@お腹いっぱい。 (ワッチョイW 938f-FDjR)
垢版 |
2017/08/22(火) 18:59:16.85ID:qLSs8lj90
失礼しました具体的に書きますね
ブラウザ上でyoutubeの動画が再生されている座標(とりあえずX座標)を取得したいです

背景が0xF1F1F1ですので
左から色を検索して、0xF1F1F1ではなくなるX座標を取得すればいいと思いますが
それができないです
0858名無しさん@お腹いっぱい。 (ワッチョイ 2bf3-jY+h)
垢版 |
2017/08/22(火) 21:58:22.61ID:fSLki/+h0
>>857
flash playerの現在位置を知りたいってことだよね?
だったら、ControlGetPos でflash playerのControl class名(aPluginWinClass1)を元に左上角の位置が取得できる
あとはSetTimerで回しとけばスクロールして場所が変わっても常に最新の位置が取得できる
0861名無しさん@お腹いっぱい。 (ワッチョイ dd72-wNGo)
垢版 |
2017/08/26(土) 21:58:41.09ID:ffDSWmBD0
Array := Object()
Array[0] := [1,2,3]
Array[1] := [10,20,30]
Array[2] := [100,200,300]

こんな感じの配列のそれぞれのキーの値を1つずつ取り出して
1,10,100、1,10200、1,10,300、1,20,100……
という全ての組み合わせが欲しい場合、どういう処理をすればいいですか?

上の例ではキー3つ、値3つずつしかありませんが、実際に処理したい内容は
配列のキーの数は1〜13、1つのキーに含まれる値は1〜25程度あります。
0865名無しさん@お腹いっぱい。 (ワッチョイ cad1-M74o)
垢版 |
2017/08/27(日) 01:30:46.31ID:ZKXMcXTK0
書き込めるようなのでお聞きしたいのですが。

ローカルにあるファイルを書き換えたり、開いたりしたくて

・・・・(動作記述) C:(以下フルパス).test.txt


・・・・(動作記述) C:(以下フルパス).test.txt


・・・・(動作記述) C:(以下フルパス).test.txt

のように同じファイルを扱う記述を何回かくりかえすのですが
場所を変えるたびに何か所も書き換えるのが面倒なんで
一か所変数にフルパスを入力して以下そこを参照してって構造にしたりできませんか?
0867名無しさん@お腹いっぱい。 (ワッチョイ cad1-M74o)
垢版 |
2017/08/27(日) 13:42:45.03ID:ZKXMcXTK0
ありがとうございます
今は記述見られる環境にないのですが、fileappendとRunだったと思います
具体的にどのように記述したらよろしいのでしょうか?

fileappend,Text,C:・・・.test.txt
Run,C:・・・.test.txt
0875名無しさん@お腹いっぱい。 (ワッチョイ ad6c-beId)
垢版 |
2017/08/27(日) 19:21:04.89ID:GLVvABwQ0
>>861
k:=Array.MaxIndex()
a:=[]
f(0)

f(i){
 global Array,a,k
 Loop,% Array[i].MaxIndex()
 {
  a.Push(Array[i][A_Index])
  if (i < k)
   f(i+1)
  else
   ここに来るごとに各組み合わせが取れる(配列a)
  a.Pop()
 }
}


適当に書いたが上手くいってるように見える
ほめられたやり方なのかどうかは知らない
0876名無しさん@お腹いっぱい。 (ワッチョイ cac6-vgeI)
垢版 |
2017/08/27(日) 22:12:04.15ID:PtjqheDO0
>>870
そのものずばり 変数 って回答もらってるんだからそれ以上の精度の回答なんてない思うが…
あなた過去にも咀嚼しないで再質問繰り返してる人だよね?
言っちゃ悪いけどこんなの 僕は自分で調べる気一切ありません て宣言してるのも同じだよ?

1. 質問する前にwikiの スクリプト仕様 を読み返す
2. 回答もらったらwikiの検索BOXにキーワード入れて検索

これが実行できないのならAHK使うの諦めたほうがいいよマジで
悪いけど質問していいレベルの事柄ですらない
0884名無しさん@お腹いっぱい。 (ワッチョイW 86f3-xnv4)
垢版 |
2017/08/28(月) 22:21:14.23ID:OD5GMrv+0
>>873-874
他にはボタンのスクショを予め撮って置き、それをImageSearchで捜す
あとは、例えばボタン文字列が「開く(O)」みたいになってたら、send,!oでも行けそう
もっと有るかもしれないけど↑以外自分は分からない

そもそも何で座標を指定するやり方が嫌なのか分からないが、
もし、該当のボタン含むウインドウが表示する度に場所が変わるってことなら、
CoordMode, Mouse, Window で基準をウインドウ左上の角にすれば良いだけだと思うが・・・
でも、ボタンの位置がコロコロ変わるってんなら話は別で、やっぱ上記のやり方かなー
0885名無しさん@お腹いっぱい。 (ニククエ cd63-xjvb)
垢版 |
2017/08/29(火) 16:39:55.54ID:bNioMEw20NIKU
英語キーボードなんですが左altに無変換を同時に割り当てることってできます?
左altを無変換に割り当てたところalt+f4で閉じるが使えなくなったので
できれば慣れてるやり方で使えればと思いまして
0887名無しさん@お腹いっぱい。 (ニククエ fe9c-oKtA)
垢版 |
2017/08/29(火) 16:55:45.51ID:3SEZMKvw0NIKU
>>885
まず、レジストリ系のキー変更アプリで、左alt を f13 キーにしておく。
そして、↓のように書けば良いんじゃないかな。

f13 & f4::Send,!{f4}
f13::Send,{sc07B}

装飾キーはそのまま使うとたまに誤動作するから。
0893名無しさん@お腹いっぱい。 (ワッチョイ c33e-k/3h)
垢版 |
2017/09/01(金) 01:07:37.82ID:0PMQPHaA0
QorEを押したらもう一度押すまでおしっぱにされているスクリプトを見つけたんですが
シフトを押した場合おしっぱを解除したいんですが下記にどのようなコードを追加すればいいでしょうか?

https://autohotkey.com/boards/viewtopic.php?f=19&;t=32339
0897名無しさん@お腹いっぱい。 (ワッチョイ cf01-k/3h)
垢版 |
2017/09/01(金) 20:22:06.32ID:1G41JveX0
たいへん勉強になりました!!
0901名無しさん@お腹いっぱい。 (ワッチョイ a3ec-k/3h)
垢版 |
2017/09/02(土) 13:27:53.00ID:medBOmhe0
多分簡単な内容かも知れませんが宜しくお願いします。

SPLASHとかてにWINSET等の方法又は 最前面に固定したアプリ又は画像ウィンドウの領域を反応させないで
表示させたまま下のウィンドウの操作をしたいのですが組み方としてはどうすれば良いんでしょう?
WinSet, AlwaysOnTop 等では画像分のアクティブになってしまうようでして。
0902名無しさん@お腹いっぱい。 (ワッチョイ b387-b8Mh)
垢版 |
2017/09/02(土) 19:26:50.64ID:PxYybRRg0
>>901
透過ウィンドウのことだね

Gui, Add, Edit, h500 w500
Gui, Show, NA, TEST
WinSet, Transparent, 50, TEST

Gui, +AlwaysOnTop +E0x00000020
; WinSet, AlwaysOnTop, On, TEST ; 最前面
; WinSet, ExStyle, +0x00000020, TEST ; WS_EX_TRANSPARENT(透過ウィンドウ)
return
0903名無しさん@お腹いっぱい。 (ワッチョイ a3ec-k/3h)
垢版 |
2017/09/03(日) 07:58:15.02ID:tPQnacaR0
>>902

あーーー!!!
コレです!
これだけわかればもうOKです。
有難うございます。こう指定すればよかったのですか…勉強になりました。
0905名無しさん@お腹いっぱい。 (ワッチョイ ff87-uJLR)
垢版 |
2017/09/04(月) 00:16:19.30ID:bG9ijaw10
すみません質問いいでしょうか

やりたいのは アクティブなら最少化、非アクティブならアクティブに、起動してないなら起動です
他のプログラムではうまくいくのですがExplorer(ブラウザじゃない方)が起動しないです
" Run,C:\Windows\explorer.exe"以外の書き方ってありますか?
windows7です。よろしくお願いします

#E::
Process, Exist, explorer.exe
If (ErrorLevel <> 0)
{
IfWinActive, ahk_class CabinetWClass
{
PostMessage, 0x112, 0xF020, , , ahk_class CabinetWClass
}
Else
{
WinActivate, ahk_class CabinetWClass
}
}
Else
{
Run,C:\Windows\explorer.exe
}
Return
0906名無しさん@お腹いっぱい。 (ワッチョイ ffc6-6h2J)
垢版 |
2017/09/04(月) 00:35:39.77ID:iAwmkG+w0
エクスプローラのクラスはCabinetWClassの他に
ExploreWClass というのも(XPの頃は)あった
win10とか最近のOSはわからんけど
上手く行かないエクスプローラのクラスを調べなおしてみては
0917名無しさん@お腹いっぱい。 (ワッチョイ ff87-uJLR)
垢版 |
2017/09/04(月) 02:21:40.56ID:bG9ijaw10
>>907
失念してました
>>908
ありがとうございます解決できました
プロセスが常に起動してることを失念してたのが原因ですかね
プロセスじゃなくウィンドウが存在するかどうかで処理すればよかったのですね

>>909
ご指摘どうもです
上のElse 1つ余計で要らなかったですかね?

#E::
IfWinExist, ahk_class CabinetWClass
{
IfWinActive, ahk_class CabinetWClass
{
PostMessage, 0x112, 0xF020, , , ahk_class CabinetWClass
}
{
WinActivate, ahk_class CabinetWClass
}
}
Else
{
Run,C:\Windows\explorer.exe
}
Return
0919名無しさん@お腹いっぱい。 (ワッチョイ b3f3-WcSR)
垢版 |
2017/09/04(月) 02:49:11.33ID:IxgPkgxk0
>>917
Elseを使わない場合はこうですね

#E::
IfWinExist, ahk_class CabinetWClass
{
IfWinActive, ahk_class CabinetWClass
{
PostMessage, 0x112, 0xF020, , , ahk_class CabinetWClass
Return
}
WinActivate, ahk_class CabinetWClass
Return
}
Run,C:\Windows\explorer.exe
Return

書き方の違いだけでElse使っても同じ動作させられるので好みだと思いますが
0921名無しさん@お腹いっぱい。 (ワッチョイ ffc6-6h2J)
垢版 |
2017/09/04(月) 07:35:31.57ID:iAwmkG+w0
>>919
うーん…
それ己が好きで使う分にはいいかも知れんけど人に薦めないほうがいいような
出口をむやみに増やす書き方は好みと呼ぶには変態すぎる
多重loopの深い階層から一気にアボートしたい場合時は自分も中途return使うけど基本的に変則処理だから

>>917
そこのelseは必要
行数減らしたいなら1行しか処理内容がない場合の{ }は省略可能

#E::
  IfWinExist, ahk_class CabinetWClass
  {
    IfWinActive, ahk_class CabinetWClass
      PostMessage, 0x112, 0xF020, , , ahk_class CabinetWClass
    (else)
      WinActivate, ahk_class CabinetWClass
  }
  Else
    Run,C:\Windows\explorer.exe
Return
0922名無しさん@お腹いっぱい。 (ワッチョイ b3ac-WcSR)
垢版 |
2017/09/04(月) 12:52:51.87ID:s4P5aKg20
>>921
別に人に薦めてるわけじゃないですよ
ただ初心者向けのwikiのサンプルコード集とかも{}の中にReturnを付けてElseを使わない書き方が
多かったので、たまたま自分はそれに慣れてしまったというだけですので
完全に独学なので何が変則とか分からないですしね
0924名無しさん@お腹いっぱい。 (ワッチョイ 0387-joaX)
垢版 |
2017/09/04(月) 14:07:18.50ID:9j+nU6QO0
マウスのサイドボタン+ホイール上下で
firefoxのyoutubeの音量を調整するために下記のように設定したのですが

;Firefox音量調整
#IfWinActive ahk_class MozillaWindowClass
xbutton1::Send,^w
xbutton1 & WheelUp::send,{Up}
xbutton1 & WheelDown::send,{Down}
#IfWinActive

初めのうちは問題なく動作するのですがしばらくすると音量の上げ下げを受け付けなくなります
その際も xbutton1::Send,^w の方は受け付けています
その後、Reload This Script すると再び動作しますがしばらくするとまた
マウスの2ボタンを使ったスクリプトは受け付けなくなります

firefoxの問題かとも思ったのですがIEでも同じ挙動になります
どうすれば安定して動作するでしょうか?
0925名無しさん@お腹いっぱい。 (ワッチョイ cff3-GmsI)
垢版 |
2017/09/04(月) 21:10:41.98ID:8+O37YES0
>>924
参考になるか分からんけど、自分もwheel操作にキーを送るスクリプト(>>819と同等の)使ってるが、
以前、「マウス関数群 (MUS.ahk)」ていう関数を使う別のホットキーのコードも併記していたら同じようになった
でも、MUS.ahk使うコードが不要になり、この関数を使わなくなったら以降同現象は発生しなくなった

※MUS.ahkが悪さしてたというより自分の書き方が悪かったのかもしれないので念のため
0927名無しさん@お腹いっぱい。 (ワッチョイ 0387-joaX)
垢版 |
2017/09/04(月) 22:11:00.76ID:9j+nU6QO0
>>925
ありがとう
自分は他のスクリプトは併用していないし念のため32ビットと64ビット両バージョンで試したけど
だめだった
仕様だと思って諦めます

>>926
そうなのよ、急に ^w だけ認識するようになって音量調整しようとしたらてタブが閉じるようになった
0928名無しさん@お腹いっぱい。 (ワッチョイ cff3-GmsI)
垢版 |
2017/09/04(月) 23:58:21.70ID:8+O37YES0
今頃気づいた
自分使ってないので分からないが、firefoxってホイールクリックでタブ閉じないのかな?
ホイールクリックでタブ閉じする方が誤爆率低そうなんだが…
そうすればxbutton1は別用途で使えるようになるから良いと思うがな

スレ違いand大きなお世話ですまん
0935名無しさん@お腹いっぱい。 (ワッチョイW cff3-PFWn)
垢版 |
2017/09/05(火) 11:51:00.61ID:RQRJN7rO0
wikiのサンプルコード集 - 1つのキーに3種類以上の動作割り当て
どうしてもxbutton1に拘りたいなら、これでxbutton1のダブルクリックに^w割り当てれば誤爆減るかもね。
あとは、ホイールクリックに^w割り当てる手もある。(パンて言うのかオートスクロールって言うのかの機能殺すだろうけど)

firefoxの機能に「このタブより右(左)を全て閉じる」みたいな機能(拡張)あるならそれ使えば良いのに、、、とも思う。
0936名無しさん@お腹いっぱい。 (ワッチョイ 0387-joaX)
垢版 |
2017/09/05(火) 13:32:39.30ID:188LMfmV0
>>935
「このタブより右(左)を全て閉じる」も使ってるけどだいたい10から20くらいのタブの間を
行ったり来たりするから細かく素早くタブを消したいのよ
誤爆してタブ消すことあるけど拡張のマウスジェスチャーで 右ボタン→← を
ctrl+shift+T に割り当ててるから一瞬でタブ復活できて読んでたページのスクロール位置も記憶してて
そこまで戻ってくれるから自分にはサイドボタンを ctrl+w に割り振るのが1番使いやすいです
0938名無しさん@お腹いっぱい。 (ワッチョイ 0387-joaX)
垢版 |
2017/09/05(火) 14:42:48.54ID:188LMfmV0
>>937
自分の使ってるのはエレコムの安い2000円くらいの5ボタンマウスだけど
壊れて他の使うと手になじむまで結構かかるからまとめて同じの10個くらい買ってる
1個の寿命がだいたい3年くらいもつのでたぶん自分が呆けるか死ぬかUSBの規格が
終わるくらいまではもつかなw
ゲームとかで激しく使うわけじゃないから壊れたと思っても分解清掃したら復活して全然壊れないw
0939名無しさん@お腹いっぱい。 (ワッチョイ f34c-ffya)
垢版 |
2017/09/05(火) 16:24:36.71ID:2p8x7jza0
WinActivateでwindowを指定したいんですけど、
同じアプリで2つwindowを開いてるからタイトルもクラスも同じだから、
先に起動したほうのwindowがアクティブになるんです。

後に起動したwindowをアクティブにしておいてからやっても、先に起動したほうの
windowがアクティブになってしまう……。
何か解決方法ありますでしょうか?
0943名無しさん@お腹いっぱい。 (ワッチョイ b387-b8Mh)
垢版 |
2017/09/05(火) 17:02:37.45ID:uXUJebp/0
>>939
ウィンドウハンドルで指定

https://msdn.microsoft.com/ja-jp/library/cc344590.aspx
> Windows では、作成されたウィンドウにハンドルを割り当て、ウィンドウが削除されると、割り当てているハンドルを解放します。
> ウィンドウが存在する限りそのハンドルは保持されますが、ウィンドウを一度削除して再作成したときに同じハンドルが割り当てられるとは限りません。
> ハンドルを変数に保持する場合は、ウィンドウが削除されるとそのハンドルは無効になることに注意してください。
0945名無しさん@お腹いっぱい。 (ワッチョイ b70e-x/0H)
垢版 |
2017/09/07(木) 12:23:30.02ID:/lAMkvyj0
Win7です。 WindowsUpdateを起動するとき、

Run, wuapp

とすると、WindowsUpdateのウインドウが出てきますが、一発で更新プログラムの確認をしたいのです
今は、このウインドウを起動して、あとは手作業でマウスを動かしてやっていますが、
一発で更新プログラムの確認が出来る方法、コマンドってありますか
レス数が950を超えています。1000を超えると書き込みができなくなります。

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