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)
2018/02/16(金) 16:13:41.17ID:m7uJKjCZa
>>769 >>770
ありがとうございます
誤差検索*90をオプションに追記しましたところ、
ハイライトされたもののうち2つには反応しましたが
その二つを取り除いてみるとerror2でした

>>770
たしかにwindowsプリセットの画像ビューワで見たとき滲んだように見えますね
しかしペイントで抽出した際は滲んでいるようには見えず、この枠の太さ(ほかに表現方法がわかりません笑)が1ドットになるようにしたのですがこれが限界ではないということでしょうか(;´Д`)
2018/02/16(金) 18:22:57.21ID:ajEghuwq0
>>768
枠の形変わりそうだし画像で探すなら
最小限の3ドット以上の角(┏)でいいのでは?
PixelSearch*3回でもおk
2018/02/16(金) 20:23:31.67ID:uKa9qGpV0
所詮おまけ機能なんだから複雑な事しようとするとすぐ手詰まりになるよ
そういうのは何か他のツールに処理投げた方がマシ
2018/02/16(金) 20:59:29.19ID:ifkLCsJ10
俺はむしろ、こういう変態的な使い方を考えるのは凄いと思うよw
日本人っぽいニッチな工夫というか何というか
2018/02/16(金) 21:16:18.23ID:j4lSZ2IT0
>>768
これ対象画像側の枠サイズ一定じゃないね
2018/02/16(金) 23:56:55.26ID:U6oi7OTq0
>>775
まじすか
それはどうやってわかりました?
777名無しさん@お腹いっぱい。 (ワッチョイ 1701-MriG)
垢版 |
2018/02/17(土) 00:32:17.20ID:a1W66dge0
流れ読まずに質問スマソ
管理者権限のアプリも操作するためにAHK自身を管理者で実行すると、
今度はRUNで何か走らせる際にそれらも全部管理者権限になってしまう。
対策としては、
・タスクスケジューラを噛ませる
・Win+R 窓を開いてそこでコマンドを実行する
ほかにもっと簡単な方法はないでしょうか?
2018/02/17(土) 00:38:19.47ID:xrBc6gW30
ほんとだ
画像編集ソフトで半透明レイヤー重ね合わせてみたら縦横ズレることろあるね
https://i.imgur.com/CzwkKZ1.png

775良く気付いたなw
2018/02/17(土) 00:45:15.12ID:xrBc6gW30
>>777
俺はこうやってる

Run, Explorer "標準権限で起動したいアプリ.exe"
2018/02/17(土) 01:00:18.16ID:ykUscsnm0
タスクバーをアクティブにしてMbuttonを押すと何かする
のをやろうとしたんですがMbuttonが効かないんです
スクロールは割り当てできます
おま環ですかね?
2018/02/17(土) 20:13:15.35ID:9Ob7L7Vv0
>>779
run, explorer "notepad.exe"
とかやってみたけど、マイドキュメントフォルダーが開くだけだったよ
782名無しさん@お腹いっぱい。 (ワッチョイ 1701-MriG)
垢版 |
2018/02/17(土) 20:20:17.03ID:9Ob7L7Vv0
>>779
>>781
run, explorer "C:\Windows\System32\notepad.exe"
パス付けたら動いた
どうもありがとう!!
2018/02/17(土) 20:27:03.30ID:Wm0LX3zO0
>>781
ちゃんとパス指定しないとアカン
パス指定は絶対パスでも相対パスでも可能

ただし起動したいexeと同一フォルダにahkファイル置くならパス指定不要
784名無しさん@お腹いっぱい。 (ワッチョイ 1701-MriG)
垢版 |
2018/02/17(土) 20:41:59.94ID:9Ob7L7Vv0
>782
いろいろ試したけど、
ターゲットアプリに引数を渡すことは出来ないみたいだね
例)
explorer "C:\Program Files\internet explorer\iexplore.exe" http://ntt.setup

explorer.exe の仕様なんだろうか
2018/02/17(土) 21:15:34.04ID:GM2z7ZiA0
https://github.com/Lexikos/AutoHotkey-Release/blob/master/installer/source/Lib/ShellRun.ahk

これ使えばできた
786名無しさん@お腹いっぱい。 (ワッチョイ ff01-MriG)
垢版 |
2018/02/18(日) 00:24:02.28ID:OinWbaSp0
いろいろありがとう!
2018/02/18(日) 13:06:36.91ID:R6I2ijWP0
vk**だとvkF0::Returnしか効かないな
sc03Aでやっと出来た

OFFにするだけのコードに手こずってしまった
何を当ててもOFFから当てたキーと同時にONになってしまうのね〜
GetKeyState, state,でイケたけどSetCapsLockState, OFFでONにしないというのは感覚的にキモいな
元々OFFの状態だからか何かもぞもぞする

;USキーボードCapsLock制御
#InstallKeybdHook
SetTimer, Timer01, 1000
SetStoreCapslockMode, off
;------------------------------------
~LShift & sc03A:: ;左Shift+CapsLockでCapsLockのON OFF
Send, {CapsLock}
Timer01:
If(A_TimeIdlePhysical>5000) ;5秒間何も押されなかったら
SetCapsLockState, OFF ;自動でOFFにする
Return

sc03A:: ;CapsLockがONの時にOFFにするだけ(ONにしない)
GetKeyState, state, CapsLock, T
If state = D ;ONだったら
SetCapsLockState, OFF ;OFFにする
GetKeyState, state, CapsLock, P
If state = U ;物理的にCapsLockキーが押し下げされてなければ
SetCapsLockState, OFF ;OFFにする(ONにしない)
Return
2018/02/18(日) 22:24:30.08ID:3FpAdC2Y0
┌──────────┐
│マッチ判定(通常検索)│
└──────────┘
■関数
□大文字/小文字の区別なし
InStr_1(var, "検索文字列") ;前方一致検索
InStr_2(var, "検索文字列") ;部分一致検索
InStr_3(var, "検索文字列") ;完全一致検索

□大文字/小文字の区別あり
InStr_1(var, "検索文字列", "true") ;前方一致検索(大文字/小文字の区別)
InStr_2(var, "検索文字列", "true") ;部分一致検索(大文字/小文字の区別)
InStr_3(var, "検索文字列", "true") ;完全一致検索(大文字/小文字の区別)

■返値
真…マッチ位置
偽…0

■使用例
if InStr_n(var, "検索文字列") ;マッチすれば
if !InStr_n(var, "検索文字列") ;マッチしなければ

if InStr_n(var, "検索文字列") = n ;検索文字列がn文字目にマッチすれば
2018/02/18(日) 22:35:18.66ID:3FpAdC2Y0
InStr_1(Haystack, Needle, CaseSensitive="") {
 SavedTMM := A_TitleMatchMode
 SetTitleMatchMode, 1
 FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
 SetTitleMatchMode, %SavedTMM%
return FoundPos
}

InStr_2(Haystack, Needle, CaseSensitive="") {
 SavedTMM := A_TitleMatchMode
 SetTitleMatchMode, 2
 FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
 SetTitleMatchMode, %SavedTMM%
return FoundPos
}
2018/02/18(日) 22:38:00.78ID:3FpAdC2Y0
InStr_3(Haystack, Needle, CaseSensitive="") {
 SavedTMM := A_TitleMatchMode
 SetTitleMatchMode, 3
 FoundPos := InStr(Haystack, Needle, %CaseSensitive%)
 SetTitleMatchMode, %SavedTMM%
return FoundPos
}
2018/02/18(日) 22:43:08.17ID:ZvCWwtWf0
>>788
>>1http://pastebin.com/を使ったらどう?
2018/02/18(日) 22:57:11.81ID:3FpAdC2Y0
>>791さん
次から使わせていただきます。
2018/02/19(月) 03:06:32.79ID:Y9HUB6jX0
それ _1 _2 _3 全部同じやw
InStr に SetTitleMatchMode を設定しても何の効果も無いよ
2018/02/19(月) 04:14:54.89ID:BdhMP5UP0
>>793さん
ご指摘ありがとうございます。

InStr()関数はIfInString文同様部分一致検索のみで意味ないことしてました。m(_ _)m
2018/02/19(月) 04:35:55.96ID:BdhMP5UP0
前方一致検索…RegExMatch(var, "^検索文字列")
後方一致検索…RegExMatch(var, "検索文字列$")
完全一致検索…RegExMatch(var, "^検索文字列$")
部分一致検索…InStr(var, "検索文字列")
部分一致検索…IfInString, var, 検索文字列
2018/02/19(月) 05:00:29.90ID:PJPmNhpU0
>>795
うざい
2018/02/19(月) 05:11:58.24ID:BdhMP5UP0
スレ汚しすみません。しばらくロムります。
2018/02/19(月) 11:21:09.62ID:IXuHbD6q0
WinExist_n()でn部分を引数にせえよって指摘されたのなら次にも生かしたらいいと思うの
…って書こうとしたら_nで分けること自体に意味がないのかこれw
2018/02/19(月) 11:40:12.03ID:BxLXEv6G0
添削お願いします の一文も無く、いきなり貼られても困るよね
2018/02/20(火) 00:26:22.82ID:9Z14yE7+0
ただ質問しただけだと教えてもらえないけど自信満々に間違ったことを書くと煽りとして正解が返ってくるという
2ちゃんあるあるを利用したのかもしれない
2018/02/23(金) 07:33:03.76ID:9Fk1AXu40
うむ、専門板では必須の基本テクだよな
2018/02/23(金) 07:33:14.45ID:Y0VJAwMh0
今更ながらこれを実装した
ペーストできない欄にID、パスワード等を書き込むのに便利
こんなの10年前にやるべきだったな…

^+v:: send,%clipboard%
2018/02/23(金) 07:50:14.04ID:ZjJ8bLPd0
>>802
コピペでパスワード入力するってことは、パソコン内にパスワードのテキストを置いているんでしょ。
Send,LoginID{Tab}PassWord{Enter}
で良いんじゃないの?
2018/02/24(土) 00:25:26.38ID:b4HvGc+S0
すみません質問なんですが
エディタ等では使えるんですがExplorer上でファイル名の編集で使えないです
クリップボードの文字に括弧を付けて一旦格納することは可能でしょうか?
タイムスタンプは^vで貼り付け出来ているのでこれも出来ないかなと思いまして
どなたか知恵をお貸しくださいおねしゃす

;選択したテキストを括弧で囲む
Menu, 01, Add, 【 】で囲む, Command1 ;メニュー
;━━━━━━
Command1:
clipboard =
Send ^c
ClipWait
Send 【%clipboard%】
clipboard =
Return
;━━━━━━
~Alt & [:: ;Alt+ [ でメニューの表示
IME_SET(0)
Menu, 01, Show
return

こっちはどこでも使える
;━━━━━━
~F13 & Tab::
FormatTime, TimeString,,yyyy_MMdd_HHmm
Clipboard = %TimeString%
Send, ^v
clipboard =
return
2018/02/24(土) 15:06:36.08ID:b4HvGc+S0
これで駄目なら無理なのかな?

Command1:
clipboard =
Send ^c
ClipWait
clipboard = 【%clipboard%】
Send ^v
clipboard =
Return
2018/02/24(土) 15:17:50.05ID:HoejbmkP0
>>804
最後の Send と clipboard = の間に、
Sleep,100
を入れて実験してみて。
2018/02/24(土) 15:45:22.10ID:J1gZxMO+0
>>804
メニュー表示した段階でファイル名編集状態が外れてるんじゃないの?
2018/02/24(土) 22:17:24.31ID:HiBHIVZG0
だな
フォーカス外れた段階でファイル名のEditBoxがなくなるから別窓やメニュー表示は無理
LiNameみたいなリネームソフトでいったんエディタに飛ばして変換するのが無難かと
2018/02/24(土) 22:47:10.87ID:b4HvGc+S0
ありがとうございます。なるほど理解しました
結果的にExplorer上ではメニュー出さずに直で行うようにしました

F14::
clipboard =
Send ^c
ClipWait
Send 【%clipboard%】
clipboard =
Return

あとはキーをちょっと工夫してみます。
トグルして括弧の種類を変えていければいいんだけど...
2018/02/28(水) 04:34:44.24ID:WVOCCenh0
エラー処理入れておいたほうがいいぞ

clipboard= ; クリップボードの内容をクリア
send, ^c
clipwait,1000 ; クリップボードの内容がからの間は待つ
if ErrorLevel <> 0 ; タイムアウト時のエラー処理もちゃんとする
{

return
}
msgbox, clipboard changed: [%clipboard%]
return
2018/02/28(水) 10:49:33.46ID:fyn3Q3mHr
正規表現スレからコピペ
RegExMatch("こんにちは。", "(.)+", $)
MsgBox, %$1% ;「こ」じゃなくて「。」が入るんだね
RegExMatch(str, "^(.)+", $)
でも同じ結果だた
2バイト文字だからこうかなと思たら
RegExMatch(str, "^(..)+", $)
$1に「は。」が入る
もうわけわかんねー
2018/02/28(水) 14:03:38.13ID:smTsGnw20
なにがわからないのかわからない
(.) 1文字キャプチャ
+ 繰り返し
→$1が都度上書きされて最終的に「。」
2018/02/28(水) 17:19:59.24ID:Wd8kHTTzM
わけわからんのは大抵仕様を読んでないからだ
2018/02/28(水) 17:40:10.57ID:fyn3Q3mHr
>>812
トン
>$1が都度上書きされて最終的に「。」
勉強になりました
815名無しさん@お腹いっぱい。 (ヒッナー a787-R89I)
垢版 |
2018/03/03(土) 21:32:14.87ID:8R4aDJlk00303
質問です

入力履歴、若しくはhotstring recognizerのリセットってできますか?
ホットストリング使ってるんですが、動作して欲しく無い場合があり、その場合途中でリセットしたいんです。

(物理)カーソルキーとかを挟むとリセットできるんですが、
AHKから(例えば無変換+で発生させたカーソルキー)だとリセットされないんですよね……
816名無しさん@お腹いっぱい。 (ワッチョイ a787-R89I)
垢版 |
2018/03/04(日) 00:32:52.54ID:Hu/zstz50
できないっぽいですね。

とりあえず、
問題のキー入力から最速で!"#$みたいな、絶対に使われない文字列をsendで出力して
ソレをホットストリングの確定文字無しで認識させて、その時Zオプションを使う
でイイですかね?
2018/03/04(日) 05:03:51.36ID:cZsx79sA0
#ifか新機能のHotstringで止めればいいのでは?
https://autohotkey.com/docs/commands/Hotstring.htm
818名無しさん@お腹いっぱい。 (ワッチョイ a787-R89I)
垢版 |
2018/03/04(日) 20:14:50.24ID:Hu/zstz50
リンクありがとうございます
コマンドのHotstringやZTオプションとか、色々増えてるんですね。
いつも日本語のwikiの方を見てました。

#IFを使って、
IMEオンオフでホットストリングの挙動を分けていたんですが、
IMEオンの時も、
IMEオフキーを押す操作(変換中 文字をかなからローマ字小・大にする)があるので、反応してしまい困ってました。

しかし、よく考えたら、
その操作の後は(AHK側の変数では)IMEオフになっているので打鍵に反応してしまいますね。
結局そのキーを2つに分けるしかないみたいです。

お騒がせしました。
819名無しさん@お腹いっぱい。 (ワッチョイ 6767-wl/W)
垢版 |
2018/03/05(月) 10:10:24.59ID:TBE7QJqP0
F1::SwitchingGems() ;

SwitchingGems(){
BlockInput On
Send I
Click, RIGHT, , 1690, 372
Click, LEFT, , 1615, 250
Click, RIGHT, , 1690, 372
Send I
BlockInput Off
return
}

上記のように指定箇所を計三回クリックするマクロを作りたいのですが
Clickの三回目だけが動作していないようでクリックされません
左クリックと右クリックの間にsleepやdelayなどを挟んでみましたが解決しませんでした。
どうすればいいのでしょうか。。。
2018/03/05(月) 11:18:03.82ID:IOshgH160
三回目だけ残しても動かないなら
マクロ対策されてるかもしれないから
sleepをすごい多めにとってみるとか
2018/03/05(月) 11:21:07.70ID:IOshgH160
× 三回目だけ残しても動かないなら
○ 三回目だけ残して動くなら
2018/03/05(月) 18:03:55.74ID:EWicYF830
>>819
ミスかどうか判断できないので
sleepやdelayなどを挟んで解決しなかったものを書いてほしい
2018/03/06(火) 10:20:22.05ID:zUUbNPBB0
loop,10{
Click, RIGHT, , 1690, 372
}
闇雲に連打してみる
2018/03/08(木) 08:50:41.34ID:BnoQlrXA0
Mouse without Bordersのコンパネなのですが
WinMoveやWinMaximaize等が効きません。
Winsetも効きません。
これらを効くようにすることは出来ませんか?
2018/03/08(木) 08:51:05.88ID:BnoQlrXA0
ちなみにWinActivateは効きます。
2018/03/08(木) 19:24:12.88ID:BnoQlrXA0
>>824ですが、一般論としてウインドウをWinMoveやWinSetが効かなくすることとかウインドウ側で
出来るのですか
2018/03/08(木) 20:21:04.86ID:Yf0JqExZ0
Mouse without Bordersとやらは知らんけど一般論で言うなら管理者権限のせいで弾かれるとか
その場合はahkスクリプトも管理者権限で実行する必要ある
あくまでも一般論
2018/03/08(木) 21:04:46.18ID:KOKOXPVs0
こういうマクロを作りたいと思っています
@指定キーを押すと画像認識マクロが有効になる
A有効となっている間、画面上にお目当ての画像が出てきた場合にInput
B指定キーをもう一度押すとマクロ自体をsuspend

マクロが有効となっている間、常時画像認識マクロが目を光らせるようにするには
どんなコマンドを使えばいいのでしょうか?

今のところ自分でできてるのは
suspendをトグルさせること(@とB)と
1回キー押したときに1回だけ画像認識を正確に行わせることまでです。。
2018/03/08(木) 21:21:08.26ID:KkF548Je0
画像認識って何の事だ?imagesearchか?
2018/03/08(木) 21:29:31.69ID:KOKOXPVs0
あ、すいませんimagesearchのことです
2018/03/08(木) 21:44:52.70ID:bMjXMYrA0
SetTimerでImageSearch繰り返せば良いんじゃね
あとは指定キーでSetTimerをON/OFF

あと質問するなら自分が書いたスクリプト張った方がいい
2018/03/09(金) 07:31:16.30ID:tuBlM4VC0
>>827
もちろん管理者権限でやってみましたよ。でもダメでした
2018/03/09(金) 08:03:10.58ID:0+2toMkh0
>>824
参考になるかどうか分からないけど、俺のウィンドウの移動やサイズ変更のスクリプトだと、
移動は、ハンドラを使ったWinMove と コントロールを使ったControlMove
の2通りを使っていて、サイズ変更も同じような感じ。
たしか、MDIウィンドウに対応するためだった。
2018/03/09(金) 08:11:40.12ID:tuBlM4VC0
>>833
ハンドラを使うということはDllを使うとかってことですか?
本来のWinMoveはハンドラは扱えないと思ったけど
2018/03/09(金) 08:45:40.20ID:0+2toMkh0
>>834
マウス位置のウィンドウを移動するのに
MouseGetPos,,,mh,ct,3
WinMove,ahk_id ,%mh%,,x,y
こんな感じの書き方をしてた。
2018/03/09(金) 08:46:35.41ID:0+2toMkh0
コントロールだと、
ControlMove,,x,y,,,ahk_id %ct%
2018/03/09(金) 08:52:03.57ID:tuBlM4VC0
そういうことか。ありがとう
2018/03/09(金) 14:09:34.75ID:Etdy2Nz+0
>>832
だったら先に言えよな
偉そうに「もちろんやった」とか後出しで言われても知ったこっちゃねえし
839名無しさん@お腹いっぱい。 (ワッチョイ 3f71-WxCv)
垢版 |
2018/03/09(金) 17:45:02.34ID:2iq8dj2Z0
Wikiにあったボタンを押すたびに動作が変わるってのを試しているんですが、
動作自体はして、111と押すと123と出力されるのですが、2回目移行は、
1111と入れないと、123と出力がされません。
何か他に設定する必要があるのでしょうか?

1::
ComboF += 1
If ComboF = 1
{
send, 1
return
}
If ComboF = 2
{
send, 2
return
}
If ComboF = 3
{
send, 3
return
}
ComboF = 0
return
2018/03/09(金) 17:50:14.55ID:c8UvBeAJ0
>>839
1回押すごとにComboFが今いくつで、どこのifに入って、どこでreturnしているのかをちゃんと追っていけばわかる
2018/03/09(金) 17:53:58.10ID:OlYgn7zv0
>>839
ComboF = 0
が4回目になってるからだろう
3回で繰り返したいならSend, 3の後に入れれば良い
2018/03/09(金) 21:08:38.36ID:LKcOP/MX0
>>840
>>841

ありがとう。
うまく動きました!
2018/03/10(土) 16:31:28.14ID:G9FIqbQm0
あるソフトで右Altに機能を割り当てているのでマウスボタンで呼び出そうと

xbutton1::send,{Ralt}
return

と書いても動きませんでした
AutoHotkeyの履歴ではRaltが送られているのですがソフト側が認識しないみたいです
試しにメモ帳などでも試したらキーボードでAltを打つとメニュー欄にフォーカスが移動しますが
AutoHotkeyからAltを送っても何も反応しません

修飾キーを単独で押した事にするには何か別な書き方があるのですか?
2018/03/11(日) 01:18:05.15ID:RPCHFg2O0
最近気づいたけど
Send,!^{Del}
って機能しない?
2018/03/11(日) 01:30:47.46ID:C1GH2eZG0
>>844
Send自体は機能してるので入力検出ソフトなどではCtrl Alt Delを検出してる
ただしOSは受け取らないっぽい
2018/03/11(日) 01:37:30.01ID:RPCHFg2O0
>>845
ありがとうございます。
できないことが、はっきりわかると
もう試行錯誤しなくてすむので。
2018/03/14(水) 13:33:38.67ID:HnQGWYiV0Pi
お尋ねします
trayメッセージ?の表示存在の有無や内容テキストを得る方法はあるんでしょうか
使っているbluetooth機器が自動電源オフになり、その都度trayに出てくるバルーンを数回クリックして再接続するのが手間なので、これを自動化できたらいいなと思っております
2018/03/15(木) 09:31:06.48ID:xPyBwzTO0
トリガーを3キー同時押し
一応動いてるんですが書き方はこんな感じでいいんでしょうか?

;a+CapsLock+SpaceでShift+a
a::
#if GetKeyState("sc03A", "Space")
Send, +a
return
2018/03/15(木) 09:36:02.65ID:xPyBwzTO0
すみませんつづき

押しっぱなしになってaキー単独で使えないっす
2018/03/15(木) 17:21:57.74ID:QbWkJm2V0
a:: だとaのキーの置き換えだから、そら単独では使えなくなるわ
a & space::
if [CapsLockの押し下げ状態] なら[処理]

ではどうです。Capsの押し下げは取得が面倒だったような気もするけど
2018/03/15(木) 17:49:42.32ID:VH/6Gl1J0
普通のキーをモディファイアキーとして使うのは、いろいろと不便があるよ。
2018/03/15(木) 18:33:48.29ID:xPyBwzTO0
>>850
あっ そうか
そりゃそうっすよね

しかし、2キーをトリガーで3つ目をifってみたけど駄目ですな〜
う〜ん

ちょっと分岐してごにょごにょしてみます
2018/03/15(木) 19:04:06.20ID:xPyBwzTO0
出来ますた

~a & sc03A:: ;a+CapsLock
GetKeyState, state, Space, P ;Spaceの状態
If state = D ;押されてたら
Send, +a ;Shift+aを送る
else ;そうでない場合
GetKeyState, state, Space, P ;Spaceの状態
If state = U ;押されてなかったら
Send, a ;aを送る
return

ありがとうございました!
2018/03/15(木) 19:08:59.45ID:xPyBwzTO0
と、思ったら駄目だった
CapsLock+aが使えなくなった

分岐の必要が無かった
~a & sc03A::
GetKeyState, state, Space, P
If state = D
Send, +a
return

しかし、CapsLock+aに行くには一度キーを離さないと駄目だぬ
2018/03/15(木) 19:25:35.53ID:xPyBwzTO0
結果的に1キートリガーのSpaceの状態をifった

a::
GetKeyState, state, Space, P
If state = U
Send, a
else
GetKeyState, state, Space, P
If state = D
Send, +a
Return

これならCapsLockに指乗せたままで2つのコマンドを行き来できて
単独でaキーも押せる

まぁ実際CapsLock押して無くていいんだけど
操作の流れで感覚的にCapsLockをコマンドキーにしたかったので
まぁいいか
2018/03/16(金) 12:26:04.83ID:UouS7uLn0
Msgboxですが、はい、いいえ、キャンセルと3つのボタンをつけられますが、
このはい、いいえ、キャンセルという名前を変えることは出来ませんか。
これらを表示してからあとからの変更でも構いません
2018/03/16(金) 12:53:58.76ID:08l5uqXC0
ControlSetText
ただし普通にMsgBoxの次の行に書いてもダメだからなんらかの別スレッドで
2018/03/16(金) 13:12:55.46ID:jjTV3maS0
試してないけどメニューと同じで別スクリプトでやらないとダメなんじゃないかしら
無理にmsgbox使うよりGUIでカスタムダイアログ作るほうが良さげ
2018/03/16(金) 13:17:19.26ID:UouS7uLn0
こんなのさあ、デフォルトで出来るようにしておいて欲しいよねw
2018/03/16(金) 13:40:44.65ID:jjTV3maS0
いや
winAPIのMessageBox関数を呼び出してるだけだし
AHKに限らず どの言語でもMsgBoxつったらこういう仕様なんだけど
2018/03/16(金) 18:01:07.16ID:dZXZHaN10
共通ダイアログは共通のUIであることこそが価値なのであって、勝手に変えられたら意味がない
862名無しさん@お腹いっぱい。 (ワッチョイ ad87-lboF)
垢版 |
2018/03/17(土) 21:56:35.01ID:J13vqzPo0
windows 10です
コマンドプロンプトにcontrolsendでファイル名やコマンドを送ると
2文字目が大文字になって(元の文字列の大文字にした文字の次の文字が大文字になります)
しまいます。どうしたらなおせますか?
2018/03/18(日) 03:08:50.12ID:f91JJX+I0
単純なコードがまったく効かず小一時間トライアンドエラー
おかしいと思いはじめ調べたところオートリーロードのコードが効かなくなっていた Orz

原因を調べようとエディタを変えてみたが変わらずリロードできない
別のahkファイルをオートリーロードすると効く
で、問題のファイルに戻りトライアンドエラー
ファイル名変更も駄目
ファイル作り直しても駄目
簡単なコードだけ残して試しても駄目
バックアップしておいた物を丸ごと上書きしても駄目

何故このファイルのみオートリーロードのコードが効かなくなってしまったか原因がわからない
ファイル名以外のとこを別のファイルへ移植して動くので
コード自体に問題は無いはず
ファイル名自体も間違っていない
Auto execute Section内は特に何も変更していない
タスクトレイのアイコンは反応ある
キーは送信されている
PCの再起動はした
セキュリティソフトで除外もした

#IfWinActive, ahk_class TextEditorWindowW166 ;サクラエディタ
~^s::
ScriptName :=Remap
If WinActive, %ScriptName%
{
Reload
}
Return
#IfWinActive

お手上げです
2018/03/18(日) 03:43:59.43ID:f91JJX+I0
再インストールしたら直りました。
何だよもぅ
はじめにトライすればよかった
時間を無駄にしたわ Orz

何が原因だったんだろう…
2018/03/18(日) 22:35:08.80ID:J+BCt/Kw0
c言語を大学の講義で習った程度のアラサー業界未経験でプログラマになりたいけど
autohotkeyでpc作業の効率化・自動化、正規表現を用いたファイル操作等を行うスクリプトは趣味でやったことありますはアピールになるかな?
2018/03/18(日) 22:37:10.61ID:aKvw3zvt0
趣味で→業務の効率化を行いました
と言い換えておけ。
大抵の人にはAHKなにそれって言われるだろうけど業務に役に立つものとわかれば多少のプラスにはなるんじゃないか
2018/03/18(日) 23:02:23.62ID:HRiJzGoo0
AHKが業務に役立つって一体なんだ?
せいぜいクリックしたりのルーチンワークをやらせるくらいだろ
そんなもの特技にもアピールにもなら無いと思うよ
まだExcel使いこなせます、の方が100倍通る
2018/03/18(日) 23:10:49.20ID:NAu7k0j60
未経験者歓迎の会社ならやる気がある人だとポジティブに見てもらえるかも程度かなあ
スキルとしては役に立つとは見なされないだろうけど

しかし今はアラサーからでも始められるんだねえ
うちなんかの頃はプログラマー35才定年説とか冗談でいいながら
結局30才の時に辞めちゃったけど
2018/03/19(月) 06:05:47.26ID:2K9mbLou0
>>867
業務にめっちゃ役立つだろ。 どんだけ効率化できることか
ただ世間では知らない人の方が圧倒的に多いから
何それって言われるだけ
2018/03/19(月) 09:08:30.30ID:1gBKOOv90
マー枠でないオフィスワークならPC作業のかなりの割合がルーチンワークなので
あの人に頼むと仕事速いって評価は得られる
履歴書段階ではよくわからん余計な事が書いてあるみたいな顔されるけどね

プログラマーの仕事は職場環境の改善や効率化ではないのでアピールとしては微妙かな
SEなら顧客先への提案にAHKでの効率化もねじ込めるかも知れないが
2018/03/19(月) 19:18:33.71ID:IzZLQY4r0
おしえてください。
.ahkにドラッグアンドドロップされたファイルを違うアプリにわたす場合、
どうやって変数を書いたらいいのでしょうか?(ドラッグアンドドロップされるファイル)

.ahkにドラッグアンドドロップされたmp3ファイルをmp3directcut.exeに渡したい(D&D)です。
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

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