AutoHotkey スレッド part17

■ このスレッドは過去ログ倉庫に格納されています
2013/11/03(日) 23:45:25.58ID:clt4bG7V0
■配布元
http://www.autohotkey.com/
本家Autohotkeyは事実上開発停止で、派生のAutoHotkey_L(AHKL)が主流。
新規利用者には日本語の扱いで不具合の無いAHKLのユニコード版の利用を推奨。

■前スレ
AutoHotkey スレッド part16
http://anago.2ch.net/test/read.cgi/software/1367725658/

■日本語解説等
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/
http://www.autohotkey.net/paste/ ※31日で削除されます。

■派生版
IronAhk (.NET製、クロスプラットフォーム)
http://www.ironahk.net/
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.net/~tinku99/ahkdll/
テンプレ>>2-10
2013/11/04(月) 10:48:24.51ID:XXUXbFXe0
重複してるで

AutoHotkey スレッド part17
http://anago.2ch.net/test/read.cgi/software/1383384464/
2013/11/04(月) 17:15:02.65ID:NSQlSgfk0
むこうが1日以上早いしね

できれば継続スレ立てる時は板を検索してからにしましょう
2013/11/04(月) 21:45:49.54ID:QszsJMvd0
このスレがpart18として使われるかもしれないので今後のために訂正テンプレ貼っときます。

■配布元
http://www.autohotkey.com/
本家Autohotkeyは事実上開発停止で、派生のAutoHotkey_L(AHKL)が主流。
新規利用者には日本語の扱いで不具合の無いAHKLのユニコード版の利用を推奨。

■前スレ
AutoHotkey スレッド part16
http://anago.2ch.net/test/read.cgi/software/1367725658/

■日本語解説等
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製、クロスプラットフォーム)
http://www.ironahk.net/
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/

テンプレ>>2-10
2013/11/04(月) 21:46:55.77ID:QszsJMvd0
■重要事項
オリジナルである、本家 "AutoHotKey" の開発は終了している。
現在は、そこからフォークした "AutoHotkey_L" が主流。
スクリプトについては、それが本家AHKで動くものであるか、Lであるのかに注意。

AutoHotkey_L (内部Unicode、64bitバイナリ、オブジェクト指向、COM対応など)
http://www.autohotkey.net/~Lexikos/AutoHotkey_L/

オリジナルのAHKとの変更点多数。新しい仕様や互換性についてはドキュメントを良く読むこと。
 →http://www.autohotkey.net/~Lexikos/AutoHotkey_L/docs/
 →http://sites.google.com/site/autohotkeyjp/reference/AutoHotkey_L/index

※ 新規利用者にはAHKLを推奨するが、移行に際してすくなからずの改修が必要となる。
特に、旧流行らせるページの配布物(MouseGesture等)の多くはそのままでは動作しない。
安定利用できている環境を崩して移行するかどうかは各人の判断による。
MouseGestureについては有志の方がAHKL対応版を配布しているのでそれを利用するのもありです。
http://hp.vector.co.jp/authors/VA018351/mglahk.html
http://code.google.com/p/mousegesturel/

※ACC.ahkとCOM.ahkはフォーラムのリンク先にファイルが存在しません。
 >>1のAutohotkey専用うpろだにうpされています。

■質問に際して
OSの種類(XP/Vista/7)や32/64ビット版の違い、利用するAutoHotkeyのバージョンを明記すること。
また、操作したいソフト・やりたい処理などは具体的に書いた方がレスが付きやすい傾向にある。

2chの仕様の関係で、このスレではインデントに全角スペースを使ってコードを貼り付ける事があるので、
レスをコピペして利用する場合は行頭の全角スペースをタブ等に置換してから利用すること。
2013/11/04(月) 21:48:36.16ID:QszsJMvd0
>>3は訂正無しなので>>4の訂正版です

■ リマップ・ホットキー割り当て

Q1:[CapsLock(英数)][ひらがな][全角/半角]キーの割り当てがうまくいかないよ
A1:OSのローカライズ段階で発生してる問題なので日本語環境だとLock系キーの動作は不定。
  OS側がキーUp/Down情報を正しく返してこないのでAHKのみで対処は無理です。
  レジストリ変更等で別キーへ再配置を行い、AHKで割り当てを行うという二段構えが必要。
 
 例) ChangeKeyを使って[ひらがな]を[F13]にする
  AutoHotkeyで任意のキーをF13にリマップする(例えばF12をF13にリマップし、スクリプトを実行)。
   F12::F13
  Changekeyを起動する。( http://www.forest.impress.co.jp/lib/sys/hardcust/keyboard/changekey.html )
  「調査」→「どのキーなのか?またはスキャンコードでキーを変更します」を選択。
  F12を押すとスキャンコード(0x0064はF13)が表示されるので覚えておき「終了」をクリック。
  「ひらがな」キーをクリックすると「【ひらがな】キーをどのキーに変更しますか?」という
  ウィンドウが表示されるので右上の「Scan code」をクリック。
  覚えておいたスキャンコード(0064)を入力し、「OK」ボタンをクリック。
  「登録」をクリックし、Windowsを再起動する。

Q2:「^1::Esc」とリマップ定義したけど [Ctrl]+[1] を押したらスタートメニューが出ちゃうけどどうすればいいの?
A2:リマップは修飾キー(Ctrl,Shift,Alt,Win)の押下状態を引き継いでキー発行するので、[Ctrl]+[Esc] がキー送信されるため。
  これを避けるには、「Send」コマンドを利用して明示的に修飾キーなしのキーを発行をすればよい。
   ^1::Send, {Esc}

Q3:[Shift], [Ctrl], [Alt], [Win]以外を修飾キーとしてキー割り当てしたいよ
A3:コンビネーションキーの機能で実現ができる。
 例) 無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたい場合は以下のように記述する。
   sc07B & I::Send, {Blind}{Up}
   sc07B & K::Send, {Blind}{Down}
   sc07B & J::Send, {Blind}{Left}
   sc07B & L::Send, {Blind}{Right}
2013/11/04(月) 21:49:33.70ID:QszsJMvd0
>>5-8 は変更点無し。
以上、テンプレ訂正終わり。
2013/11/05(火) 08:52:51.24ID:UqdJHG0q0
すれ立て乙
2013/11/05(火) 12:18:16.97ID:TUF3n1lj0
WinSet,Top,,ahk_id %w%

これが動作しません・・・(Bottomのほうは動作するのですが)

ヘルプには「システムの設定によっては動作しない。」と書いてありますが
動作するように出来るのでしょうか?
Win7 x64
AHKL 最新
2013/11/05(火) 17:55:25.11ID:6gy5q7dM0
重複しているので↓へどうぞ

AutoHotkey スレッド part17
http://anago.2ch.net/test/read.cgi/software/1383384464/
2013/11/05(火) 18:36:08.01ID:TUF3n1lj0
16です
そちらで聞いてみます
2013/11/09(土) 23:57:07.01ID:uAwoIw4r0
代替これでかざぐるマウスの、タブバー上ではタブ送り
ボリュームバー上でホイールWD_ではページ送りできるんだけど、
ときどき不発する。

MouseGetPos,xPosi,yPosi,,,A
WinGetPos,,,Width,,A
if (yPosi < 75){
Send,^{Tab}
}else if(xPosi<=20){
Send,^{WheelDown}
}else if(Width - xPosi < 20){
send,{PgDn}
}else{
send,{WheelDown}
}

アクティブウィンドウ左端のほうではCtrl + ホイール上下しているのを加えたつもり
2013/12/02(月) 23:09:27.59ID:9R2sZWrX0
ジェスチャー本家スレからもAutohotkey本スレからも嫌われているMGLのことばかり
聞くやつはここにIKEA

【AHK】MouseGestureL.ahkを語るスレ【ジェスチャ】
http://anago.2ch.net/test/read.cgi/software/1384313234
2013/12/03(火) 01:22:21.46ID:qsjsr9iS0
MGLが理解できない悔しさをこんな所にまでぶつけるなよw
2013/12/03(火) 01:33:06.16ID:zkVVuaGN0
でも実際MGLに詳しい人はそっちに集まってるんでしょ?
ならそっちに行った方が得じゃない
2013/12/09(月) 23:08:56.62ID:gXmN5GXo0
初級:
・記録したマクロを、構文や変数などで初歩的な構造化を施し、改変できる。
・ヘルプのスクリプト関数を調べて7割を活用できる。

中級:
・自作関数による基本的な構造化が出来る。(>>261 >>265 CALL多用は除外)
・ヘルプのスクリプト関数を調べて9割を活用できる。
・googleで検索してトラブルシューティングやヘルプ未記載の仕様制限を確認できる。
・googleで検索して初歩的なAPI活用・OLE使用を行い、Autohotkeyの使用制限を突破できる。
・基本的な例外処理を行える。

上級:
・自作関数を適切に分類し、自作ライブラリを構築してCALLでincludeしている。
・ソフトウェアテストの行い易い構造化を行い、大規模になっても部分に切り分けたアジャイルな開発を行える。
・他の言語と比べたAutohotkeyの欠点を理解し、費用対効果でAutohotkeyが適している場合のみAutohotkeyを使う。
・高度な例外処理や、リソースのデッドロックによるフリーズに対処出来る。

超上級:
・Autohotkeyを卒業。オブジェクト操作は各種高級言語から、画像判定はOpenCVで行う。
・あるいは逆に、ソフトウェアテスト業界でAutohotkeyをバリバリ活用しているか、LancersなどでAutohotkeyの仕事を受注している。


余計な一言
Autohotkeyなんぞで数十倍以上の効率で仕事を処理できるなんて、なんて非効率で甘々な仕事なんでしょうか。羨ましいです。
2014/02/15(土) 07:49:56.87ID:cZMauSUs0
tes
25名無しさん@お腹いっぱい。
垢版 |
2014/02/25(火) 16:14:22.12ID:Wf1hRLkD0
SetTitleMatchModeが効いていないようなのですが原因がわかりません…
試しに

SetTitleMatchMode, 3
#IfWinActive, Google ahk_exe firefox.exe
Numpad1::
MsgBox, %A_TitleMatchMode%
return
#IfWinActive

(↑Firefoxアドオンでタイトルの先頭にサイト名、後にURLが入るようにしています)
この状態でGoogle上からテンキー1を打つと、メッセージには「1」と出てきます。
記述の仕方が何かおかしいのでしょうか?
2014/02/25(火) 18:36:56.63ID:gKwaUD3/0
URLを表示してる時点でウィンドウタイトルが一致してない
27名無しさん@お腹いっぱい。
垢版 |
2014/02/25(火) 19:33:08.63ID:Wf1hRLkD0
>>26
はい、承知の上です。本来ならばSetTitleMatchModeが3だと完全一致なので、
この書き方ではメッセージボックス自体出ないはずですよね?
SetTitleMatchModeが効いていない感じがしたので>>25のように試したら、
メッセージボックスが実行されてしまう上にA_TitleMatchModeが"1"と出たので
やはり何か問題があるのかなと…。
2014/02/25(火) 20:26:13.23ID:v0ELdBQV0
SetTitleMatchMode,3
より上ですでにautoexecuteセクション終わってるのでは?
29名無しさん@お腹いっぱい。
垢版 |
2014/02/26(水) 10:36:41.93ID:xg9/INB20
>>28
SetTitleMatchModeはahkファイルの先頭に記述しているのですが駄目なんですよね…。
試しに上記スクリプトだけを書いたもので起動したらちゃんと適用されました。
ちょっと問題のファイルを全体的に見直してみます。
ありがとうございました。
2014/02/26(水) 17:42:33.20ID:1RCEKiwc0
とりあえず締めでいいのかな
こっちは本当は重複休眠スレなので今後は↓でどうぞ
http://anago.2ch.net/test/read.cgi/software/1383384464/
2014/03/21(金) 15:47:51.82ID:sGlleu4/0
こんな感じの処理をしたいのですが、エラーになってしまいます
何かいい方法はありますでしょうか?

hensuu=変数

#IfWinActive, %hensuu%
処理
#IfWinActive
2014/03/22(土) 05:48:10.11ID:hCmgBw2b0
ウィンドウクラスならahk_class等をつける
他なら#If hensuu
2014/04/04(金) 07:59:32.34ID:+vGdS6f80
Firefoxのタブ内ではなく全ての開いているFirefoxのウインドウを一斉に更新(F5)する方法はありませんか?
キャッシュやクッキーが一緒にならないようにFirefoxでプロファイルを複数作っている為、
ウインドウをそれぞれ立ち上げています。
一つ一つウインドウを切り替えてF5を押していく作業が面倒で簡略化したいのですが、
何か方法はないでしょうか?
UWSCも試してみたのですが、IE寄りでありIDを取得しても同一になってしまうため使えませんでした。
今現在はhotkeyで試行錯誤していますがうまくいきません。
34名無しさん@お腹いっぱい。
垢版 |
2014/04/25(金) 15:24:20.27ID:GRwnpshM0
結構単純な事かもしれませんが教えて下さい。

;a := 2
;b := 3

;MsgBox, % a + b ; "5" と表示

このように数字を入力した場合aが002でも2でも戻りは一桁の5になりますが
指定の桁にする方法が分かりません。
どんな方法とればいいんでしょうか?
35名無しさん@お腹いっぱい。
垢版 |
2014/04/25(金) 15:54:15.99ID:GRwnpshM0
自己解決。

strとか使えばいいみたいですねすいません
2014/04/28(月) 12:30:55.39ID:ZU+n1lM80
本スレ
AutoHotkey スレッド part18
http://anago.2ch.net/test/read.cgi/software/1398655195/
37島本町で凄惨なイジメを受けて廃人になった方へ
垢版 |
2014/08/06(水) 14:12:10.28ID:HvTaSNL60
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人になってしもうた僕が言うんやから、
まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。
教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。
誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな

>島本町って町は、暴力といじめと口裏合わせと口封じの町なんだな

子供の時に受けた酷いイジメの体験は、一生癒えない深い傷になるなあ
38名無しさん@お腹いっぱい。
垢版 |
2014/10/10(金) 12:40:50.15ID:2tjS4zs80
ほっとけ
2015/07/24(金) 17:48:23.93ID:NZXtjYyG0
てす
2015/07/26(日) 12:11:06.18ID:goft9ybq0
こっちのほうがuwscより速いんだね
2015/07/26(日) 19:48:58.29ID:gKpISSUT0
ControlSendにしても反応しないソフトって対応できない?
cmd.exeとかだと普通に反応するんだけど・・・

NumpadMult::
ControlSend,,{NumpadMult},ahk_exe MassiGra.exe
return

こんな感じでMassiGraっていう画像閲覧ソフトで、非アクティブウィンドウ時でも
画像をNum*で画像を次に回したい
2015/07/26(日) 21:38:32.43ID:KqZIA3MX0
>>41
コントロールにTF811202_MassiGra_MaCl1指定したら動いたよ
2015/07/26(日) 21:47:45.77ID:oNuD59b20
スレ立てた
AutoHotkey スレッド part21
http://anago.2ch.net/test/read.cgi/software/1437910497/
2015/07/27(月) 00:39:27.04ID:WterWAtO0
NumpadMult::
ControlSend,,{NumpadMult},ahk_class TF811202_MassiGra_Main
return

これであっていますか?
試してみましたが動きませんでした・・・
2015/07/27(月) 01:12:17.16ID:OtqY5Mmd0
フィーリングで書くなよちゃんとリファレンス嫁
http://ahkwiki.net/ControlSend
2015/07/27(月) 05:22:37.22ID:WterWAtO0
頑張ったけどうまくいかない・・・
コード書いてもらえませんか?
2015/07/27(月) 05:33:41.22ID:guR7z8iB0
Autohotkey付属のAU3_Spy.exeを使ったこと有る?
試しにMassiGraのウィンドウに対して使ってウィンドウ情報を取得してみ?

ClassNN(ControlClassNN、CClassNN) が Control
2015/07/27(月) 05:45:04.68ID:WterWAtO0
TF811202_MassiGra_MaCl1なのは分かったけど
肝心の書き方がわからないんだよね
2015/07/27(月) 05:48:46.40ID:guR7z8iB0
というか、ウィンドウの指定方法のところ見れば書いてあるやん。

とりあえず適当でいいからリファレンス全てに目を通してみるといい。
最初はコマンドや関数の意味を正しく理解しなくてもいいから。
そうすれば悩んだ時に、あぁなんかリファレンスにそれっぽいこと書いてあったなとか
あれとあれを組み合わせればなんか出来そうかなと漠然と思ったりする。
俺はそうやって理解していった。
2015/07/27(月) 05:55:56.67ID:WterWAtO0
もういいわ
何言っても無駄だね
結果分かんないから困って聞いてんのに遠回りなコメントばっか
ここの人達は不親切すぎ
消えろ!バカ!!!!!!!!!!!!1111111111
2015/07/27(月) 05:57:00.40ID:guR7z8iB0
はい、さようなら
2015/07/27(月) 07:27:32.44ID:OtqY5Mmd0
ここは本気でがんばる姿勢の人を全力で応援するスレだから
リファレンス読まずに質問繰り返したあげく コード下さいは
一番やっちゃいけないお願いのしかたなんやで
2015/07/27(月) 12:47:48.84ID:RUfWGK5p0
>>50
NumpadMult::
ControlSend,TF811202_MassiGra_MaCl1,{NumpadMult},ahk_exe MassiGra.exe
return
2015/07/27(月) 14:56:12.50ID:JF5j7mCW0
正直、リファレンス全部なんてめんどくてまともに読んだ事ないけども
>>41くらいのちょっとした事なら、Wikiのコマンド(カテゴリ別)のページからそれっぽいコマンドを探して
詰まったらようやく検索するくらいで割と何とかなってるので(AHKでこの手のものに初めて接した俺でも)
初心者の人は「AHKって敷居高いなー」とか思わずに頑張ってみてほしい
2015/07/27(月) 15:17:31.77ID:oEWik8Ur0
Dropboxってどこかに作業完了のメッセージとかダミーファイルとか作らない?
同期が完了してからランチャーを開くっていうのを自動化したいんだけど
2015/07/27(月) 15:27:52.80ID:k3U1JNXM0
あーやっちゃったな
53神 他のやつは死ねって言い捨ててく ID:WterWAtO0 の姿が見えるわ


全くの初心者だとリファレンスの読み方自体がわからんのはあるかも知れんね
それならそれで「読んだけどわからない」って意思表示は必要
そしたらより噛み砕いた説明での助け舟は来るし

該当ページのリンクや検索のヒント貼ってもらった後で
読んでたらまず出てこないような応答繰り返されると
あーこいつ根本的に理解する気ないなってことで回答者側も意固地になる
2015/07/27(月) 17:52:09.42ID:WterWAtO0
>>53
あなたが神か。。。

心優しい人もいるのですね。。。

失礼いたしました。。。

ではさいならーwwwwww二度ときませんwwwww用なしですwwww
2015/07/27(月) 18:53:19.10ID:Ly3MJdIT0
>>57
女性の方ですか?仲良くしましょう
2015/07/31(金) 09:45:38.98ID:Jni2QwlV0
Volume_Up
Volume_Down
Volume_Mute

sendで送るこれらのキーはキーボードの音量ボタンとは挙動が違います。
キーボードのボタンと同じものを送信出来ないでしょうか?

自分のはノートPCなのでボタンが専用ハード化されているかと思ったのですが、
外付けキーボードの音量ボタンでも本体のボタンと同じ動作(画面にアイコンが出る。)なので、
汎用的な方法で送信出来るように思えます。

もし可能ならどうすれば良いでしょうか?

(参考)
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AD%E3%83%A3%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
「最近のキーボードは、CD・DVDなどを再生する「マルチメディアキー」や、ウェブブラウザ・電子メールクライアント
などを起動する「インスタントキー」を備えているものが少なくないが、
キーボードのUsage page (0x0007) のUsage IDの定義には
これらのキーは含まれていない(音量調節関連キーは例外)。」
2015/07/31(金) 11:16:44.37ID:dngwMttJ0
OSバージョンやノートPCの機種が書いてないから詳しくわからんが
画面にアイコン云々はそのノート特有のユーティリティが表示してんじゃないの?
key historyで送信されてるスキャンコードの通りにSendシュミレートしてみたら?

うちの環境(win8.1 64bitOS ahkL 1.1.14.04 / ThinkPad T540p)では
LenovoアプリのOSD切ってるけどOS標準のボリュームバーは同じように出る
挙動に違いは感じられない
2015/07/31(金) 16:49:40.28ID:Jni2QwlV0
>>60
ありがとうございます。
環境は Win7 Home 64bit / ahkL v1.1.22.02 64bit Unicode です。
Win7なのでOS標準のボリュームバー表示は出ません。

ノートPCはAcerで、各種ホットキー(Fn同時押し)操作時のOSDは
"C:\Program Files (x86)\Launch Manager\LManager.exe"
により表示されます。

外付けキーボードの音量ボタンでもOSD表示が出るので
汎用的な方法で実現されているように思えます。

しかしAHKのキーヒストリではこのキーは拾えません。

OSDだと現在の音量がひと目で分かるので、同じ動作が出来れば、と思うのです。
2015/07/31(金) 17:40:44.31ID:dngwMttJ0
LManager.exeでググったらFN機能キーのクイックランチャーって出てきた

外付けキーボードが汎用のマルチメディアキーボードタイプで、かつ
キーヒストリから取れないなら
LManager.exeでは物理キーしか見てないのでは?
2015/07/31(金) 19:30:30.68ID:OQTt31zR0
>>61
SendmodeやSetkeydelayを変更してみては?
反応するかどうか判らんけど
2015/08/01(土) 14:16:38.92ID:m95FQsGi0
http://ux.getuploader.com/autohotkeyl/download/77/Dropboxwait.ahk

Dropbox同期後にプログラムを起動するスクリプト作りました。良ければどうぞ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2015/08/01(土) 14:31:16.03ID:m95FQsGi0
あ、最新版ベースなので最新版でお願いします。DBの場所変わってたりキャッシュの場所変わってたりするので
2015/08/02(日) 02:27:55.54ID:zvSDIOMi0
>>62
>>63
やはりダメでした。
諦めることにします。
ありがとうございました。
2015/08/02(日) 19:39:34.58ID:LzG/cLzv0
TrackWheel の TW.ahk で Windows10のアプリストアのスクロールが効きません。
コントロールできるように修正できますか?
2015/08/02(日) 21:07:26.82ID:ZEfmTtlm0
TW.ahkはiniで対象オブジェクトごとの挙動を細かく指定できるので
スクロール対象コントロールについて自力で調べられるのなら多分なんとかなる
2015/08/02(日) 23:57:24.01ID:fqX3Xijx0
そもそも、Autohotkeyでアプリストアのスクロールのコントロールできるの?
2015/08/05(水) 23:57:18.76ID:DUEk+D+50
Autohotkeyの自動操作のスクリプトをちゃんと1から勉強したいのですが、
本かなにかでちゃんと1から勉強できるものありませんか?
プログラム素人でなんにも知りません。
2015/08/06(木) 02:10:56.47ID:0enbBmCe0
AutoHotkey.exeをダブルクリックするとウインドウが表示されますが
そのウインドウを他の常駐スクリプトから、以下のコマンドを送信しても閉じません。
どうすれば閉じますか?。
使用versionは1.1.16.05のunicodeとansiです。
WinClose, AutoHotkey.ahk ahk_class #32770
2015/08/06(木) 08:47:02.59ID:ZK1D1Ogj0
>>70
本家のBookがwork in progressな時点でお察し
wikiのチュートリアルを印刷して読むのが1番お手軽

>>71
コマンドを正しく使え詳しくはwiki読め
WinClose, ahk_id %A_ScriptHwnd%
2015/08/06(木) 13:49:48.66ID:gdDTIGJa0
>>72
ありがとうございます、閉じませんでした。
GUIやmsgboxなら簡単に閉じるんですけど。
難しいです。
2015/08/06(木) 14:38:26.83ID:gdDTIGJa0
代替案でControlclickで対応しました。
お騒がせしました。
2015/08/06(木) 14:42:16.58ID:T8y5rFR40
DetectHiddenWindows , On
76名無しさん@お腹いっぱい。
垢版 |
2015/08/08(土) 19:14:22.44ID:VVKkFWa60
;Google検索簡単化
^c::
{
bk := ClipboardAll ;クリップボードの全内容を保存する
Clipboard = ;クリップボードを空にする

Send,^c ;Ctrl+Cキーを送信
ClipWait,1
Process,Exist,chrome.exe ;Chromeが既に起動しているかどうか確認する
if ErrorLevel<>0 ;起動していたらアクティブにする
{
WinActivate,ahk_pid %ErrorLevel%
}
else ;起動していなかったら起動する
{
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Sleep,1;000
}
Send, ^t ;タブ追加
IfInString, clipboard, ttp://
{
Send, !d ;アドレスバーフォーカス
Send, ^v ;貼付
Send, {Enter} ;Enter
Clipboard = %bk% ;クリップボードの内容を戻す
bk =
Return
}
77名無しさん@お腹いっぱい。
垢版 |
2015/08/08(土) 19:15:50.19ID:VVKkFWa60
ELSE
Run,http://www.google.com/search?q=%Clipboard% ;クリップボードの内容を検索するGoogleのURLを開く
Clipboard = %bk% ;クリップボードの内容を戻す
bk =
Return
}


以上のスクリプトが動作しません、すいませんがご指摘願えますでしょうか。
初心者です。。
2015/08/08(土) 20:01:22.99ID:0GdfwAkG0
Processの後のErrorLevelで分岐するところのIFのところがうまくいってなかった

If( ErrorLevel != 0 ) ;ErrorLevelにPIDが格納される
とでも書き換えるといい

あとchromeでグーグル検索とかするなら
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://www.google.com/search?q=%hage%";
hageが検索したいワードが入った変数

と後ろにurlつけて実行できるよ
2015/08/08(土) 20:19:49.34ID:VVKkFWa60
早速のご返信ありあとうございます。
試してみます。
Thxです!
2015/08/08(土) 20:23:03.92ID:DbgZthoV0
これでいいんじゃないの

^c::
bk := ClipboardAll
Clipboard =
Send,^c
ClipWait,1
IfInString, clipboard, ttp://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %Clipboard%
else
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://www.google.com/search?q=%Clipboard%
Clipboard = %bk%
bk =
Return
2015/08/08(土) 20:43:32.45ID:VVKkFWa60
>>80

^c::だとクリップボードとの兼ね合いか、動作しませんでしたので、F11などでテストしてみました。
期待通りの動作をしております。

ただ、コピーする文字列に、前スペースや、間にスペースがある文字列だった場合、意図しない動作をします。

具体的には、、スペースで分けられた文字列ごとにタブが起動される。
2015/08/08(土) 20:43:40.39ID:VVKkFWa60
>>80

^c::だとクリップボードとの兼ね合いか、動作しませんでしたので、F11などでテストしてみました。
期待通りの動作をしております。

ただ、コピーする文字列に、前スペースや、間にスペースがある文字列だった場合、意図しない動作をします。

具体的には、、スペースで分けられた文字列ごとにタブが起動される。
2015/08/08(土) 20:48:24.76ID:3lT5noc80
"%Clipboard%"
"http://www.google.com/search?q=%Clipboard%";
2015/08/08(土) 20:59:22.00ID:VVKkFWa60
;Google検索簡単化
なるほど!これで動作しました。
F11::
bk := ClipboardAll
Clipboard =
Send,^c
ClipWait,1
IfInString, clipboard, ttp://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "%Clipboard%"
else
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://www.google.com/search?q=";%Clipboard%"
Clipboard = %bk%
bk =
Return

今日から人生が少しだけ、ほんの少しだけ
節約になりました。うれしい!
2015/08/08(土) 20:59:25.69ID:VVKkFWa60
;Google検索簡単化
なるほど!これで動作しました。
F11::
bk := ClipboardAll
Clipboard =
Send,^c
ClipWait,1
IfInString, clipboard, ttp://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "%Clipboard%"
else
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://www.google.com/search?q=";%Clipboard%"
Clipboard = %bk%
bk =
Return

今日から人生が少しだけ、ほんの少しだけ
節約になりました。うれしい!
2015/08/09(日) 14:41:31.53ID:W6F1gKYG0
v2アプデしたらLoop, ParseとかでUntil使えなくなってる…
それっぽい記述が見つからないんだが仕様なのか
2015/08/11(火) 01:34:36.72ID:RlnxZANO0
ホイールアップ&ダウンをキーにアサインしたけど、何故か1回押すとホイール2ノッチ分の動作になってしまいます。

NumpadPgUp::WheelUp
NumpadPgDn::WheelDown

原因の見当がつきましたら教えて下さい。

v1.1.22.02 64bit
Win7 Home 64bit
2015/08/11(火) 02:24:31.92ID:Z3I1tuYg0
>>87
リマップでホイールを割り当てるとキーダウンとキーアップのそれぞれで反応するので2回になる。
Hotkey(Send)に置き換えるとこんな感じ。

NumpadPgUp::send,{WheelUp}
NumpadPgDn::send, {WheelDown}
NumpadPgUp Up::send,{WheelUp}
NumpadPgDn Up::send, {WheelDown}
2015/08/11(火) 12:41:18.51ID:RlnxZANO0
>>88
出来ました! ありがとう!!(ちょっと悩んだけど)

NumpadPgUp::send,{WheelUp}
NumpadPgDn::send,{WheelDown}
NumpadPgUp Up::return
NumpadPgDn Up::return
2015/08/12(水) 23:58:00.93ID:g89hD5S60
>>85
こうしたら?

F11::
bk := ClipboardAll
Clipboard =
Send,^c
ClipWait,1
IfInString, clipboard, https://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %Clipboard%
else IfInString, clipboard, http://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %Clipboard%
else IfInString, clipboard, ttp://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" h%Clipboard%
else IfInString, clipboard, ttps://
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" h%Clipboard%
else
run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://www.google.com/search?q=";%Clipboard%"
Clipboard = %bk%
bk =
Return
2015/08/13(木) 18:00:26.40ID:pnchiVMS0
配列に一度に沢山のキーや値を代入したらエラーが出るんだけど分割して入れるしかないんだっけ?
Object.SetCapacityで試しに拡張しても効果がなかったんだが
2015/08/15(土) 18:58:53.27ID:v2SRyX+p0
ワイルドカードを使用し、*.PDFをFileDeleteをした場合
削除対象外PDFを指定する事は出来ますか?
2015/08/15(土) 19:23:56.19ID:8qFDZh/o0
一番簡単なのはloopで該当ファイルはIfで避ける、とかじゃね
2015/08/15(土) 21:09:21.88ID:lu5/jhmQ0
ああ、なるほど!。
助言有難うございます。
2015/08/15(土) 22:11:13.87ID:y28JgTNb0
>>92
何に使うの?
2015/08/23(日) 18:36:21.29ID:cn09QWKQ0
過疎ってるな
DAT落ちしそう
2015/08/23(日) 19:37:14.96ID:CRLnhcki0
こっちダブったスレだからな
2015/09/14(月) 15:22:50.90ID:kRqJLzvx0
一つのキーをずっと押下していると、ほかの2つのキーをずっと押下していることになる、
ということできませんでしょうか?
ブラウザのflashのゲームで AとDを両方押下するのを、Fを押しているだけで代用するということが
したいです。
Send, a
Send, b
やら
Send {a down}
Send {d down}
sleep, 2000
Send {a up}
Send {d up}
とかもだめでした。おしえてください
2015/09/14(月) 15:55:02.90ID:9Nj4gWzI0
できるよ。でも対応してない場合は諦めるしか無い。
てかなんでsleep。そこはkeywait
2015/09/14(月) 20:12:28.42ID:kRqJLzvx0
>>99
keywait使うことで、多少思ったように動くようになりました。
しかしaかdのどちらかが離れてしまうケースが多見されます。ありがと
2015/09/17(木) 23:19:07.39ID:Ehf9H1Ha0
Loop中の A_Index に時々数値が入らない場合があります。

Loop,100{
Send,%A_Index%`n
}

どうも処理落ちみたいで、
Sleep,200とか入れると正常になります。

しかし速度が落ちてしまうので、他にうまい回避法はないでしょうか?
2015/09/17(木) 23:37:41.75ID:wVWznDfL0
Sendの問題なのでSendMode変えてみるかSetKeyDelayの値を変えるか

なおA_Indexに数値が入らないなどということはあり得ないと思う
Loop,100{
str .= A_Index "`n"
}
msgbox, %str%

ってやってみればわかる
2015/09/17(木) 23:48:55.56ID:6tS4CD7v0
>>101
Loopの問題じゃなくて、Send が反映されてないだけかと

loop,100 {
hoge = %hoge%%A_Index%`n
}
clipboard =
clipboard = %hoge%

処理落ち等で send が反映されない場合は setkeydelay の値を増やしてみては?
最適な値はパソコンのスペック次第。
CPUが高負荷じゃないならスクリプトの最初に↓くらいの値を指定しておけば概ね大丈夫。
setkeydelay, 30, 100
これでもダメなら値を更に増やせばいい。
2015/09/18(金) 00:39:08.45ID:JiHDzUp00
ありがとう、なんか色々推理力が足りなかったよ。

>>102
.= こんな演算子があったとは気が付かなかったょ。文字列を次々と連結出来るんだな。

>>103
一個の変数の中に文字列溜め込んで、クリップボードに入れてから流し込むのか・・・目から鱗。

どうもサンクスです。
2015/09/28(月) 12:40:43.81ID:6VHCw3MB0
お気に入りの時間スポットを記録してジャンプできる機能でこのソフトを重宝しているのですが、
その点で同じようなことができる他のソフトってあるのでしょうか?
現時点でこのソフトぐらいのものでしょうか?

メモ帳でローカルアドレスなんかのリンクをクリックしたら、その動画のその時間にジャンプするとか
いうのがあると理想なのですが。おしえてください
2015/09/28(月) 13:20:31.41ID:OTsyybCK0
>>105
他のスクリプト系ソフトを使えば同様のことは出来る。
スレ違いなので↓で聞いてみては。
気軽に「こんなソフトありませんか?」Part.170
http://anago.2ch.net/test/read.cgi/software/1438995867/

ショートカットで良いならコマンドライン対応のプレイヤーなら開始時間を指定出来る。
例えばVLCならvlc.exeのショートカットを作って右クリック→プロパティで
リンク先の後ろに開始時間と動画ファイルへのパスを追加すればいい。
開始時間を秒数で指定、10分なら600(秒)
"vlc.exeのパス" --start-time=600 "動画のパス"

--stop-time=停止時間
--run-time=実行時間

更に↑のどちらかを追加すれば指定時間で停止出来る。
例えば開始時間を10分、再生時間を30秒の場合
"vlc.exeのパス" --start-time=600 --run-time==30 "動画のパス"
2015/10/01(木) 00:00:22.86ID:yxI1OPzA0
同種のウインドウをタイル状に画面いっぱいに同一割合で並べるスクリプトを拾いました。
しかし2ウインドウを並べる際に、縦切りで横に並べるのが自分にとって都合がよくありません。
以下のスクリプトを変更して、2ウインドウを横切りで縦に2つ画面均等に分けていっぱいに並べたい
のですが、どうやればできるでしょうか?おしえていただけないでしょうか?
それっぽいブログがあったようなのですが、デリされてしまってみれません。

そのスクリプトはココです。http://textuploader.com/a2qjm
w h x y のところを変更するのかなとは思うのですが...
2015/10/01(木) 00:30:29.88ID:yxI1OPzA0
自分でいじってみました。うまくいく時と失敗するときがあります。
どこかが悪いと思います。
w := (id > 2) ? (mRight - mLeft) / 2 : mRight - mLeft
h := (mBottom - mTop) / 2
x := (a_index <= 2) ? mLeft : mLeft + w
y := (Mod(a_index, 2) == 1) ? mTop : mTop + h
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

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