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

レス数が950を超えています。1000を超えると書き込みができなくなります。
1名無しさん@お腹いっぱい。 転載ダメ©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)
2017/08/26(土) 22:52:02.24ID:65tLUYz40
>>862
すまん、なんか質問の答えじゃなかったな
単に数値を引っ張り出しただけだったorz
2017/08/27(日) 01:13:40.11ID:ZKXMcXTK0
test
2017/08/27(日) 01:30:46.31ID:ZKXMcXTK0
書き込めるようなのでお聞きしたいのですが。

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

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


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


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

のように同じファイルを扱う記述を何回かくりかえすのですが
場所を変えるたびに何か所も書き換えるのが面倒なんで
一か所変数にフルパスを入力して以下そこを参照してって構造にしたりできませんか?
2017/08/27(日) 02:26:33.64ID:mAKtzIVf0
なんのコマンドか知らんけどファイルパスはたいてい変数使えるでしょ
2017/08/27(日) 13:42:45.03ID:ZKXMcXTK0
ありがとうございます
今は記述見られる環境にないのですが、fileappendとRunだったと思います
具体的にどのように記述したらよろしいのでしょうか?

fileappend,Text,C:・・・.test.txt
Run,C:・・・.test.txt
2017/08/27(日) 14:38:27.44ID:KSxuEUz90
WikiのFileAppendのページの例の通り普通に変数に入れて使うだけだが……
2017/08/27(日) 15:52:11.08ID:PtjqheDO0
>>867
答えもらったら再質問は最低限調べてからにしなよ
何度も書いてるけどここはドンピシャのコードもらうためのスレじゃないから
2017/08/27(日) 17:36:02.66ID:ZKXMcXTK0
調べてはいますけど、今調べても試す環境がなく
試せる環境に戻るとここで質問ができない環境になるんでより精度の高い回答が欲しかったんです
2017/08/27(日) 17:41:41.49ID:7INbSKJQ0
なるほど
面白い環境だな
2017/08/27(日) 18:20:21.54ID:dshFxxN20
Win10になってからAHKいじる気起きなくなってきた(そもWin10自体いじりたくない)
2017/08/27(日) 19:12:18.48ID:MfxAJuvVa
classNNやウィンドウハンドルで区別できないボタンを押すのに、座標を指定してクリック以外の方法で押す方法ないですか?
2017/08/27(日) 19:15:17.10ID:MfxAJuvVa
近くのボタンからtabや矢印キーで移動もできません
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()
 }
}


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

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

これが実行できないのならAHK使うの諦めたほうがいいよマジで
悪いけど質問していいレベルの事柄ですらない
2017/08/28(月) 00:07:36.17ID:7m2Zv48D0
>>875
こういうのさらっと書けちゃう人すごい……ありがとうございます!
2017/08/28(月) 04:28:14.15ID:wAfLg01qM
なるほど
2017/08/28(月) 15:44:07.69ID:hsgrRvWJ0
スルーすりゃいいのにわざわざ嫌味だけ置き土産してくやつもどうかと思うわ
2017/08/28(月) 15:53:21.78ID:xugByVWN0
嫌みを言ってストレス解消のために
ここにいる人だから
その人の存在意義を否定しないでw
2017/08/28(月) 15:54:46.53ID:2tPa2YUG0
普通のお礼でしょ
2017/08/28(月) 16:03:28.15ID:xugByVWN0
嫌みの本人来たw
2017/08/28(月) 16:27:07.52ID:10My9WrV0
来たな、元凶!


あっ、言ってみたかっただけです
2017/08/28(月) 22:21:14.23ID:OD5GMrv+0
>>873-874
他にはボタンのスクショを予め撮って置き、それをImageSearchで捜す
あとは、例えばボタン文字列が「開く(O)」みたいになってたら、send,!oでも行けそう
もっと有るかもしれないけど↑以外自分は分からない

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

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

装飾キーはそのまま使うとたまに誤動作するから。
2017/08/29(火) 17:12:07.82ID:nMMgk/VH0NIKU
alt+F4の他にもaltキーなんて多用するんだからそもそも左altを無変換にすること自体が無謀だがな
2017/08/29(火) 23:30:14.64ID:XjnV7ZAC0NIKU
おると無いとじゃ大違いだな
2017/08/29(火) 23:32:02.93ID:WMN3B7FI0NIKU
>>889
2017/08/30(水) 00:23:37.63ID:bk6DEqje0
>>886
ノートなんで

>>887
やってみます。ありがとうございます
2017/08/30(水) 19:05:32.60ID:Y5VP/KUn0
わざわざPCを不便にするためにAHK使う人もいるんだな
893名無しさん@お腹いっぱい。 (ワッチョイ c33e-k/3h)
垢版 |
2017/09/01(金) 01:07:37.82ID:0PMQPHaA0
QorEを押したらもう一度押すまでおしっぱにされているスクリプトを見つけたんですが
シフトを押した場合おしっぱを解除したいんですが下記にどのようなコードを追加すればいいでしょうか?

https://autohotkey.com/boards/viewtopic.php?f=19&;t=32339
2017/09/01(金) 01:25:00.88ID:tkL4AVuH0
keywaitの代わりにloop+getkeystate
追加というより書き直しになるんじゃね
2017/09/01(金) 17:38:06.89ID:1G41JveX0
ahk 64bit unicode版 / windows10

UTF-8で保存すると文字列の閉じquoteの手前が「し」で終わるとエラーになります。
aaa := "かかし"

UTF-16だと無問題
これはバグですよね??
2017/09/01(金) 17:42:12.36ID:fnuLWJDb0
BOM
897名無しさん@お腹いっぱい。 (ワッチョイ cf01-k/3h)
垢版 |
2017/09/01(金) 20:22:06.32ID:1G41JveX0
たいへん勉強になりました!!
2017/09/01(金) 20:31:35.49ID:I8hn/M9fa
ボムボムボムボムボム
2017/09/01(金) 23:33:20.30ID:7d7CJrk/0
指定時間に実行するタイマーを作りたいのですが、
ミリ秒を取得することはできますか?
2017/09/02(土) 00:35:16.28ID:UtftmLsW0
A_MSec
901名無しさん@お腹いっぱい。 (ワッチョイ a3ec-k/3h)
垢版 |
2017/09/02(土) 13:27:53.00ID:medBOmhe0
多分簡単な内容かも知れませんが宜しくお願いします。

SPLASHとかてにWINSET等の方法又は 最前面に固定したアプリ又は画像ウィンドウの領域を反応させないで
表示させたまま下のウィンドウの操作をしたいのですが組み方としてはどうすれば良いんでしょう?
WinSet, AlwaysOnTop 等では画像分のアクティブになってしまうようでして。
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
903名無しさん@お腹いっぱい。 (ワッチョイ a3ec-k/3h)
垢版 |
2017/09/03(日) 07:58:15.02ID:tPQnacaR0
>>902

あーーー!!!
コレです!
これだけわかればもうOKです。
有難うございます。こう指定すればよかったのですか…勉強になりました。
2017/09/03(日) 12:00:10.75ID:ptt8omPg0
>>900
ありがとうございます。
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
2017/09/04(月) 00:35:39.77ID:iAwmkG+w0
エクスプローラのクラスはCabinetWClassの他に
ExploreWClass というのも(XPの頃は)あった
win10とか最近のOSはわからんけど
上手く行かないエクスプローラのクラスを調べなおしてみては
2017/09/04(月) 00:36:52.29ID:3LMD3eG30
ウインドウを1つも開いてなくてもexplorer.exeは常に起動しているものだけどそこを勘違いしてる?
2017/09/04(月) 00:41:01.95ID:3rOlLvxm0
>>905
>Process, Exist, explorer.exe
>If (ErrorLevel <> 0)
だとどうやっても"Run,C:\Windows\explorer.exe"の行にはいかなかったので
IfWinExist , ahk_class CabinetWClass
にしたら動いたよ
2017/09/04(月) 00:52:29.54ID:IxgPkgxk0
ところで話は逸れますがElseって書く必要あるんですか?
if{}で囲ったらElseって書いても省略しても挙動は変わらないですよね?
それとも何か違いがあるんでしょうか?
2017/09/04(月) 01:21:30.87ID:uWvF+T/50
>>909
必要ないなら書かないでいい
2017/09/04(月) 01:30:07.16ID:IxgPkgxk0
>>910
やっぱりそうなんですね
ありがとうございます
2017/09/04(月) 01:30:28.79ID:iAwmkG+w0
elseはifじゃないときの処理を書く
ifの時にはしたくない処理をelseに入れる

例)
Aが1の時は"OK"と表示する   (if)
そうじゃない時は"NG"と表示する(else)
2017/09/04(月) 01:44:37.19ID:IxgPkgxk0
>>912
はい
でも{}で囲ったらElse無くても同じ意味ですよね
{}の外は"そうじゃない時"になるので
2017/09/04(月) 02:03:30.48ID:3LMD3eG30
全然違う
自分でいろいろ試してみりゃいいよ
2017/09/04(月) 02:19:59.45ID:Po3eqTp10
俺なんかelse ifで12分岐してるで
自慢にもなりゃしないけど
2017/09/04(月) 02:20:31.48ID:iAwmkG+w0
{ }の外はもうifに支配されないので
そうでもそうじゃなくても実行される
{ }の中にreturnやgoto突っ込んで強制的に行き先変えてる場合は別だが
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
2017/09/04(月) 02:43:00.93ID:IxgPkgxk0
>>914-916
ああ、なるほど
Returnを書いてない場合はElseが必要になるんですね
自分はいつもReturn付けてたので複数分岐してもElseは全く使っていませんでした
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使っても同じ動作させられるので好みだと思いますが
2017/09/04(月) 03:23:11.88ID:bG9ijaw10
>>919
なるほど Returnを使うのですね
でもやっぱりElseがある方が条件分岐してるというのが分かりやすいかな
Elseを"そうでない場合は..."という感じで使ってるので。
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
2017/09/04(月) 12:52:51.87ID:s4P5aKg20
>>921
別に人に薦めてるわけじゃないですよ
ただ初心者向けのwikiのサンプルコード集とかも{}の中にReturnを付けてElseを使わない書き方が
多かったので、たまたま自分はそれに慣れてしまったというだけですので
完全に独学なので何が変則とか分からないですしね
2017/09/04(月) 13:35:08.09ID:dTIS4lCH0
>>919のコードも変則でも変態でもない
好きなように書けば良いんやで
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でも同じ挙動になります
どうすれば安定して動作するでしょうか?
2017/09/04(月) 21:10:41.98ID:8+O37YES0
>>924
参考になるか分からんけど、自分もwheel操作にキーを送るスクリプト(>>819と同等の)使ってるが、
以前、「マウス関数群 (MUS.ahk)」ていう関数を使う別のホットキーのコードも併記していたら同じようになった
でも、MUS.ahk使うコードが不要になり、この関数を使わなくなったら以降同現象は発生しなくなった

※MUS.ahkが悪さしてたというより自分の書き方が悪かったのかもしれないので念のため
2017/09/04(月) 21:44:55.04ID:25LQ8mxi0
質問とは関係ないけど、うっかり閉じそうなキー設定だな
2017/09/04(月) 22:11:00.76ID:9j+nU6QO0
>>925
ありがとう
自分は他のスクリプトは併用していないし念のため32ビットと64ビット両バージョンで試したけど
だめだった
仕様だと思って諦めます

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

スレ違いand大きなお世話ですまん
2017/09/05(火) 00:18:15.64ID:BAbZefjZ0
うちのfirefoxはタブ閉じるよ
マウス、タブ操作関係のアドオンは入れてない
Debian sid 64bit / Firefox 55.0.2
あとMozzilaのホームページでもそう説明されてる
2017/09/05(火) 05:37:53.31ID:188LMfmV0
>>928
ホイールクリックでも閉じるけどタブのとこまでカーソル持って行かずにボタン一つで
連打してがしがしタブを閉じたいので ctrl+w をサイドボタンに当ててます
2017/09/05(火) 07:17:32.23ID:iCCxh9rp0
モディファイアキー単独押しに、誤発動したら困る機能を割り当てるのは、自分ならやらないなぁ。
2017/09/05(火) 08:05:49.75ID:ZIXYq/GW0
そっスか
2017/09/05(火) 08:33:17.45ID:9v2IhtwaM
マウス動かさずガシガシ閉じたいときは左手でctrl+w連打してるな
寝PCなんかでキーボード触りたくない時はマウスだが
2017/09/05(火) 11:01:09.15ID:zdILsO1y0
マウスに削除機能や閉じる機能を割り当てると
誤爆した時めっちゃ面倒だから割り当てない。
2017/09/05(火) 11:51:00.61ID:RQRJN7rO0
wikiのサンプルコード集 - 1つのキーに3種類以上の動作割り当て
どうしてもxbutton1に拘りたいなら、これでxbutton1のダブルクリックに^w割り当てれば誤爆減るかもね。
あとは、ホイールクリックに^w割り当てる手もある。(パンて言うのかオートスクロールって言うのかの機能殺すだろうけど)

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

後に起動したwindowをアクティブにしておいてからやっても、先に起動したほうの
windowがアクティブになってしまう……。
何か解決方法ありますでしょうか?
2017/09/05(火) 16:44:05.17ID:iCCxh9rp0
>>939
絶対にAutoHotkeyを使って起動させると決めておけば、runの時に指定したプロセス名で自由自在じゃないかな
2017/09/05(火) 16:55:00.19ID:2p8x7jza0
>>940
再起動したら、2つあるうちのactiveな方のwindowを操作できるようになってました……。
よく動作が分からない……。
2017/09/05(火) 16:56:06.02ID:S621LfW+0
>>939
ウィンドウハンドル(ahk_id)で指定
2017/09/05(火) 17:02:37.45ID:uXUJebp/0
>>939
ウィンドウハンドルで指定

https://msdn.microsoft.com/ja-jp/library/cc344590.aspx
> Windows では、作成されたウィンドウにハンドルを割り当て、ウィンドウが削除されると、割り当てているハンドルを解放します。
> ウィンドウが存在する限りそのハンドルは保持されますが、ウィンドウを一度削除して再作成したときに同じハンドルが割り当てられるとは限りません。
> ハンドルを変数に保持する場合は、ウィンドウが削除されるとそのハンドルは無効になることに注意してください。
2017/09/05(火) 17:16:57.45ID:2p8x7jza0
>>942
>>943
ありがとうございます。またコードを改良してみます。
2017/09/07(木) 12:23:30.02ID:/lAMkvyj0
Win7です。 WindowsUpdateを起動するとき、

Run, wuapp

とすると、WindowsUpdateのウインドウが出てきますが、一発で更新プログラムの確認をしたいのです
今は、このウインドウを起動して、あとは手作業でマウスを動かしてやっていますが、
一発で更新プログラムの確認が出来る方法、コマンドってありますか
2017/09/07(木) 12:49:12.76ID:oQQtUb2M0
コマンドライン調べて無理そうなら
send でtabenterするなりcontrolclickするなりしてみたら
2017/09/07(木) 12:53:11.31ID:ltKuwJLg0
(C)
2017/09/07(木) 13:29:37.64ID:e+e3r0hl0
Tabキー連打からのEnterキーを送れば良いんではないでしょうか
2017/09/07(木) 14:14:07.50ID:/lAMkvyj0
なるほど。やっぱりTABで回してからEnterしかないのかな
ありがとう
2017/09/08(金) 01:15:04.77ID:xyKAQtlP0
Hotkey Explorerなんてツールがあるんだな
大昔に割り当てたまま忘れ去ってたホットキー発見できた
2017/09/08(金) 16:32:15.31ID:DlVZMNm+0
忘れるくらいなら最初からほっときい
952名無しさん@お腹いっぱい。 (ワッチョイ 3e67-xkdj)
垢版 |
2017/09/10(日) 05:56:51.93ID:Gp5DYXYz0
MButton::
if(clickEnable = true)
clickEnable := false
if(clickEnable = false)
clickEnable := true
loop{
click
sleep 250
if(clickEnable = false){
break
}
}
return

ミドルキーを押すと連打、もう一度押すと連打解除のスクリプトを作りたくて組んだのですが、
連打解除が出来ない状態です。
どなたかアドバイスをお願いします。
2017/09/10(日) 06:26:05.60ID:9UIYY5GX0
ループ内sleepでMbuttonイベント内部に留まり続けてるせいで
次の押下があっても割り込み発生しないのでは
timer発生させてMbuttonはreturnですぐ抜ける
連打処理はtimerのなかでやる
2017/09/10(日) 06:45:31.30ID:i6WpSb1i0
他にも、

書いてないだけかもしれないが
フラグ変数の初期値がないからどのifも偽にしかならない

さらに、ちゃんと値入れたとしてもそれ何度押しても絶対trueになる
2017/09/10(日) 07:29:40.41ID:9UIYY5GX0
本当だ
elseifじゃないから2回if通ってるわ
2017/09/10(日) 08:56:43.07ID:Gp5DYXYz0
ちょっと確認してみます。
アドバイスありがとうございました。
2017/09/10(日) 09:07:45.68ID:Gp5DYXYz0
clickEnable := false

MButton::
if(clickEnable = true)
clickEnable := false
else if(clickEnable = false)
clickEnable := true
loop{
SetTimer, click , 250
if(clickEnable = false){
break
}
}
return

すいません。
やはり動きませんでした。
更に助言を頂ければ幸いです・・・。
2017/09/10(日) 09:42:03.19ID:i94Q7tou0
放っとけ と音の近いホットキーを並べて発音し、面白さ表現を狙っています
2017/09/10(日) 09:44:54.59ID:9UIYY5GX0
SetTimerのヘルプちゃんと読んで

sleep置換じゃなくてloop内全部を別スレッドで起動させる
まずいのは永久loop状態でMButtonから出られないことだから
960名無しさん@お腹いっぱい。 (ワッチョイ 0b87-x/0H)
垢版 |
2017/09/10(日) 09:46:26.55ID:HxrW5Xht0
最近やり始めた。

ファイルがあればおkとか初めの?にも書いてあるし
ネットの入門ページにもEXEダブルクリックでおkとか書いてあるのに
結局ファイル取らせないと起動しない上
?ページの英語頑張ってよみつつ検索してもencordでマッチしないし
webページはバージョン違いで参考にならないから
コンテキストメニューからの生成で8Bってわかって変えてやりかたかった
win+Tへのリマップいきなりできたからイイけど

そもそも同じ場所に3つもEXEあるしソレゾレの説明が無い。
まぁこのスレの説明から恐らくU32がオススメなんだとは思うが
沢山あるネット入門ページが変なのは今までの歴史の重積のセイだと思うんだけど、
コレじゃ新規ゆとりんには流行らんわコレ

あまりに案内がメチャクチャ過ぎる
2017/09/10(日) 10:33:39.93ID:ZLodYEhw0
>>960
ほんとそれ

> ファイルがあればおkとか初めの?にも書いてあるし
> ネットの入門ページにもEXEダブルクリックでおkとか書いてあるのに
> 結局ファイル取らせないと起動しない上

EXEファイルと同じ名前のAHKファイルを起動するだけならEXEダブクリでおk

> そもそも同じ場所に3つもEXEあるしソレゾレの説明が無い。
> まぁこのスレの説明から恐らくU32がオススメなんだとは思うが

A32→Ansi/32bit版、U32→Unicode/32bit版、U64→Unicode/64bit版
PCが32bitなら32bit版、64bitなら64bit版
基本はUnicode版推奨だけど、一部の古いスクリプトを動かしたいだけならAnsi版が都合のいい時があったりなかったり

> 沢山あるネット入門ページが変なのは今までの歴史の重積のセイだと思うんだけど、
> コレじゃ新規ゆとりんには流行らんわコレ

Unicode版の登場と、最近A32・U32・U64が同じパックで配布されるようになって入門のあたりはだいぶ信用できなくなってるけど
それ以外は昔の記事でも役に立つから…(震え声)
2017/09/10(日) 10:57:13.22ID:9Ln2fu6j0
むかし流行らせた本人はもう流行らせたくないつってサイト閉めちゃったからねぇ
正直>960が何言ってるのかよくわからんが AHK分かりにくいよ何参考にしたらいいんだよ ってこと?

アプデ追従常時最新じゃないにしろ AutoHotkey Wikiなら情報古すぎて役に立たないってことはない
AHK v2についてはα版だし解説も少ないので初心者がいきなり手を出さないほうがいい
レス数が950を超えています。1000を超えると書き込みができなくなります。
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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