AutoHotKey Thread

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
AutoHotKeyはキーボードやマウスなどに様々な機能を割り当てる常駐ユーティリティです。
スクリプトで自由に動作を設定できます。
ポップアップメニューや入力ボックスなどのGUIを表示することができ、
応用次第で使い方は無限に広がります。

公式サイト
http://www.autohotkey.com/

AutoHotkeyを流行らせるページ
http://lukewarm.s41.xrea.com/AutoHotkey/
2クロメルアルメル ◆Crazys55B. :04/10/23 20:37:19 ID:/5uXsmaK
(^-^)
3名無しさん@お腹いっぱい。:04/10/23 20:58:04 ID:oz2I3NUi
流行らせるページのBBSがここと同じ形式なので
重複スレ?みたいに思ったが、2ちゃんにはスレなかったんだね

むこうのBBSはあまり書込みない状況っぽいが
ここでスレ伸びるんかな、伸びるといいな
4名無しさん@お腹いっぱい。:04/10/23 21:11:59 ID:SlX/VNZx
使ったこと無いが>>1の日本語ページを見た。
プログラムをかじった人以外には敷居高いねぇ。

これに限らず独自のスクリプト言語って微妙にCなんかと
変えたりするのやめて欲しいな。ifに括弧無かったりとか。
ややこしいからCそのまんまでいいじゃん、とか思う。
そう考えると秀丸エディタのマクロは入りやすくて(・∀・)イイネ!!
5名無しさん@お腹いっぱい。:04/10/23 21:17:18 ID:Flqkxif4
C言語なんてやったこと無いし、
HSPで遊んでた漏れとしては覚えやすかった。
ただ変数を%で囲むってのがややこしい。
6名無しさん@お腹いっぱい。:04/10/23 22:58:17 ID:oz2I3NUi
>>4
自分は未知言語アレルギー体質のプログラムをかじった人だけど
これに対しては割とすんなり入れたな

汎用言語採用してるマクロなんかは「○○準拠なんで詳しくは自分で調べてね」
みたくなるので予備知識入ってないとしんどいけど、
流行らせるページでかなりしっかりした日本語訳リファレンス作ってくれてるからやりやすい。
コマンド数多くないぶんやりたいこと探しやすいってのもあるかな
(逆に言うとできないことも多々あるってことだけど)


とりあえず関数とパラメータの間をカッコで括りたいな
VBなんかだと頭にCall付ければ戻り値のない関数でも括れるんだけど
Call aaa(p1,p2) みたいな感じに
7名無しさん@お腹いっぱい。:04/10/23 23:31:38 ID:5C2PSzQ0
2chにもスレ立ったか。俺も立てようか迷ってた
俺は ( をネスティングする言語嫌いだから、めちゃ使いやすい
87:04/10/24 00:08:41 ID:/knjExuH
とりあえず具体的に何が出来るか書いといたほうがいいだろ

シフトを押しながらaを押すとabcと入力されるようにする→ a::send,abc

ホイールクリックでIEが起動するようになる→ mbutton::run,C:\Program Files\Internet Explorer\IEXPLORE.EXE

この一行をAutoHotkey.iniに追加するとその機能が追加される
あとUWSCのように操作の自動化もできるが詳しくは>>1のリンク先で
97:04/10/24 00:11:53 ID:/knjExuH
間違った…

×シフトを押しながらaを押すとabcと入力されるようにする→ a::send,abc
○シフトを押しながらaを押すとabcと入力されるようにする→ +a::send,abc
10名無しさん@お腹いっぱい。:04/10/24 00:52:07 ID:e3Ewzv4X
あとこのソフト名前が悪いんじゃないの?
俺もつい最近までAutoHotkey?
ああホットキーのランチャか、と思ってたからね。
11名無しさん@お腹いっぱい。:04/10/24 01:33:53 ID:PEfMYxKg
欲しい機能

・DLL呼び出し(Dynacall.dllみたいな感じのやつ)
・DLL呼び出しで使う構造体の取り扱い
・ソケット通信(socket,closesocket,connect,bind,listen,accept,select,recv,sendなど)
・COMオブジェクト(UWSCみたいな感じ?)
・正規表現(Perl風がいい)(nScriptみたいにサブマッチを直接変数に代入できると便利)
・サブルーチンの引数、戻り値
・ローカル変数
・Runで標準出力を得る
・自分の標準入出力を読み書き
12名無しさん@お腹いっぱい。:04/10/24 02:42:16 ID:xiKxyBBL
>>11
>・サブルーチンの引数、戻り値
本家サイトChanges & New Features -> Noteによると
いずれサポートされるみたい。
Switch Case文も予定に入ってるみたいなので期待
ttp://www.excite.co.jp/world/english/web/body?wb_url=http%3A%2F%2Fwww.autohotkey.com%2Fchangelog%2FPendingChanges.htm&wb_lp=ENJA&wb_dis=3
ちなみに自分はサブルーチン抜ける時ErrorLevelに値セットして返してる

>・ローカル変数
これはマジ欲しい、あと#defineでの定数宣言も。

>・Runで標準出力を得る
若干面倒だがRunWaitで一時ファイルにリダイレクト
Run, aaa.exe >> bbb.txt
その後FileReadLineで読み出せばいけそうな気がしなくもない

>・自分の標準入出力を読み書き
コマンドライン引数は%1%〜%9%で読めるが出力は文法エラー吐き出しだけだな
クリップボードにセットして終了するっつースクリプトがろだに上がってるが
13名無しさん@お腹いっぱい。:04/10/24 10:41:18 ID:HkFmtChi
あんまり命令を増やすと敷居が高くなるしそれなら普通の言語使えって話だと思うんだけど
俺は数行あれば出来ることはむしろ命令にして欲しくない
14名無しさん@お腹いっぱい。:04/10/24 10:42:50 ID:HkFmtChi
しまったage忘れた
15名無しさん@お腹いっぱい。:04/10/24 11:00:22 ID:5XX5Qkpb
ちょっとつかってみたけど、私にはさっぱりだった。
16名無しさん@お腹いっぱい。:04/10/24 11:28:45 ID:HkFmtChi
>>15
なんかやりたいことあったの?
17名無しさん@お腹いっぱい。:04/10/24 13:11:36 ID:e3Ewzv4X
>>15
無理もない

マウス関係 ⇒ マウ筋、 X Wheel
ホットキー  ⇒ ホットキー系のランチャ
操作自動化 ⇒ UWSC

と、それぞれフツーの人が使えるインターフェースをもった良質
ソフトがあるんだから、わざわざコレを使う必要もないよ。
AutoHotKeyはスクリプトを弄ることに喜びを感じる一部のマニア
向けって気がする。
わたしゃ職業プログラマだけど、あえてコレを使おうって気には
ならんなぁ。
18名無しさん@お腹いっぱい。:04/10/24 13:22:55 ID:Mwg2Ul8i
>>17
マウ筋やランチャじゃ押したときの状況によって操作を分岐させられないだろ
UWSCは同じスクリプトだろが。しかもautohotkeyより機能低いし
19名無しさん@お腹いっぱい。:04/10/24 13:28:16 ID:e3Ewzv4X
>>18
だからそこまで細かいことを自動化したいって人が
どれだけいるかってことですよ。
2019:04/10/24 13:30:32 ID:e3Ewzv4X
もちろんこのソフトや、使っている人を非難している
わけではなですよ。
念のため...
2119:04/10/24 13:32:58 ID:e3Ewzv4X
>>18
>UWSCは同じスクリプトだろが。
しかし操作を記録することが出来ます。
22名無しさん@お腹いっぱい。:04/10/24 13:35:44 ID:Eo0uLruI
>>21
autohotkeyも操作を記録できるが?
2319:04/10/24 13:52:45 ID:e3Ewzv4X
>>22
そうですか、それは失礼。
しかし>>1の日本語説明ページの「AutoHotkey入門」のところには
書いてないようですよ。
一般の人が使うならまずそこからだと思うのですが。

UWSCは
 ・日本語である。
 ・立ち上げた状態で記録再生など分易いボタンが表示されている。
 ・スクリプトなど全く意識しなくても普通につかえる。
といった点で一般向けとしては大きなアドバンテージがあると思うのです。
24名無しさん@お腹いっぱい。:04/10/24 13:58:19 ID:TAUiHbD9
ここはAutoHotKeyのスレッドです
UWSC信者なのは構いませんがUWSCのスレに行った方がいいんじゃないですか?
25名無しさん@お腹いっぱい。:04/10/24 14:00:15 ID:Eo0uLruI
>>24
いやもっと盛り上げようよage進行で
こういうやり取りでソフトの利点とかが説明できるんだし
26名無しさん@お腹いっぱい。:04/10/24 14:13:13 ID:e3Ewzv4X
すいませんねぇ、私も何か変な方向になってきたと思ってたんですが。

私が>>17で言いたかったのは、プログラム経験のないライトユーザー
にはそれなりに使いやすいソフトがあるから無理する必要はないって
ことなんですよ。>>15氏に対してね。
このソフトが初心者向けでないということは、ここにいる誰もが認め
るところではないでしょうか?

>UWSC信者なのは構いませんがUWSCのスレに行った方がいいんじゃないですか?
たまにしか使わないので信者ではありませんが、この辺で失礼します。
27名無しさん@お腹いっぱい。:04/10/24 14:41:03 ID:UFGKZu0k
AutoHotKeyは窓使いの憂鬱と用途が似ているような気がする。
どのようなメリットがあるのだろうか。繭は最近更新がないので、
乗り換えを検討しているのだが。。。誰か比較して。
28名無しさん@お腹いっぱい。:04/10/24 15:26:55 ID:U5P/1eKj
漏れはJoyToKeyから乗り換え検討中。というか魅力は充分なんだけど…マンドクセー('A`)
29名無しさん@お腹いっぱい。:04/10/24 15:26:56 ID:1+Gpidy7
そこでロケットマウスですよ
30名無しさん@お腹いっぱい。:04/10/24 15:48:35 ID:icr/KnK7
>>18
>メール欄:煽りが来たから盛り上げてみよう…
全然煽りに見えないと思うが。
3118:04/10/24 17:48:23 ID:qLxHlf/+
>>30
それは全体を読んだからだろ。>>17の時点では煽りだと思った
初心者はGUIのあるソフトを使うし、職業プログラマはこんなもの使わないって全否定だろ
プログラマのくだりが無ければそうは思わなかったが…

あと、しばらくはageようよ。布教しないなら2chにスレ立てた意味無いと思うし
3230:04/10/24 18:55:45 ID:icr/KnK7
>>31
いや、普通に>>17だけを見ても煽りには見えなかったよ。
言い方悪いけど、広まらないのには理由があるんじゃないかなぁって…(複雑&むずい)

このソフトを的確に表してるレスだと思う。
使いこなせる人には便利だけど…って。

布教したいってのは分かるけど、それが必死すぎて煽りに見えたんでしょ。(言い方悪くて済まない)
3318:04/10/24 19:19:17 ID:m9YJUqHh
>>32
そうか?ま、どうでもいいよ。怒ってるわけじゃないし
とりあえず否定意見があると説明しやすいし利用しようと思っただけなんで…
あと、俺ソフトウェア板って全然見ないんだけどひょっとしてキレてるように見えるんかな
普段いく板だと皆こんな感じなんでよく分からんが、次からもうちょっと丁寧語で書くようにするよ
34名無しさん@お腹いっぱい。:04/10/24 19:29:19 ID:uei0iiz3
語り口云々というより単にメール欄が問題なのでは

未だ使ってない人間からすると、他のランチャーとの違いが明確になるという意味でも、
こういうやり取りは有り難いんだけどね
35名無しさん@お腹いっぱい。:04/10/24 19:40:10 ID:xiKxyBBL
スクリプトだけどexe化すればどこでも持っていける。
試しにexeにしてAutoHotkey入ってないPCで実行したが無問題
DLL不要ですた。スプリクト内で自分で弄ってない限りレジも触らない模様

っつーわけでexeにすれば、USBメモリのようなリムーバブルメディアでもランチャとして使えますよ
ドライブは、自分の起動パスから取れるので可変にしとけばよろし

#A::
  SplitPath, A_ScriptFullPath , , , , , drive
  Run,%drive%\hoge\hoge.exe
return

でOK
3618:04/10/24 19:55:30 ID:8Catkk+A
あ、肝心なこと書いてないな
煽りだと思ったのは勘違いだったそれは認める
>>22の時点で気づいたが>>17がメール欄を見てないようだったんで何も言わなかった
俺は普通に反論してるだけだし謝る必要も感じなかったし

じゃ、うざいんでこれでコテバンやめますね
37名無しさん@お腹いっぱい。:04/10/25 00:13:17 ID:jIw2xjeE
HoeKeyから乗り換えた。
38名無しさん@お腹いっぱい。:04/10/25 23:01:39 ID:1gv5IO53
ぬる℃家さん、このスレ見てますね。今日の
http://cgi19.plala.or.jp/lukewarm/
に「AutoHotkeyのパフォーマンス」として、DMonkey、UWSC、AutoHotkeyの能力比較をしてますな。


話は変わりますが、AutoHotkeyでマウスポインタを特定の場所に移すことはできますか?
うちのOSはXPですけど、デフォルトで「ポインタを自動的に既定のボタン上に移動する」
というオプションがあるのは知っています。
でもYes or Noで既定と反対のほうにポインタを移動したい場合は、
チユーチユーマウスやBearMouseなどのアプリを導入しないと無理ですよね。
AutoHotkeyを常駐させてそれらのイベントを監視して、望む動作をさせることはできますかね?
できるならスクリプトを例示してもらえませんでしょうか。
39名無しさん@お腹いっぱい。:04/10/25 23:05:45 ID:jIw2xjeE
ControlGetPosとMouseMove使えばいいんじゃね?
4038:04/10/25 23:26:23 ID:1gv5IO53
>>39 早速のレスありがとうございます。
ControlGetPos : コントロールの位置とサイズを取得
MouseMove : マウスカーソルを移動する
ですね。おぼろげにはわかります。
MouseClickを使うとそのボタンを押すこともできますね。

ただ、Yes or No等のダイアログが発生するのをどうやって監視するか方法がわからないのです。
よければご教授願えませんか。
41名無しさん@お腹いっぱい。:04/10/25 23:27:29 ID:JORjIoJN
>>38
なにかを監視して待つ場合のCPU使用率も低いよ
俺が乗り換えた一番の理由
42名無しさん@お腹いっぱい。:04/10/25 23:32:03 ID:jIw2xjeE
>>40
loop
{
   IfWinActive, WinTitle,
   {
      
   }
   sleep,100
}

てな感じで無限ループ作って監視すればいいんじゃね?
43名無しさん@お腹いっぱい。:04/10/25 23:39:26 ID:8cwpnOZx
SetTimer
44名無しさん@お腹いっぱい。:04/10/25 23:51:11 ID:jIw2xjeE
あ、ホットキーで割り込まれることもあるから無限ループはマズいのか
4538:04/10/25 23:59:15 ID:1gv5IO53
>>42-44 なるほど、それならわかりやすいですね。
SetTimerでサブルーチンを実行し、その中でWinTitleが一致するかどうかを見ればいいんですね。
WinTitleの方は誤検出の可能性がありますが(特にexplorer発の場合)、
その時はAU3_Spy.exeで調べればいいんですね。

厨質問に付き合ってくださってありがとうございました。
試してみて、不具合があればまた伺いますんで
よろしくお願いします。スレの皆さん。
46名無しさん@お腹いっぱい。:04/10/26 00:02:01 ID:m2i/TlUM
>>38
流行らせるページは毎日チェックしてたけど、このページは知らなんだ。
やっぱ時代はRSSなんかのう
47名無しさん@お腹いっぱい。:04/10/26 00:55:28 ID:s7Fw9bG0
>>44
ホットキーはループとは関係なく割り込むよ
それがすごい所
48名無しさん@お腹いっぱい。:04/10/26 06:41:24 ID:m2i/TlUM
>>47
SleepやWait系のコマンド使ってないのに割込まれるのは逆にトラブりそうな気ガス
それって同じ名前のワーク変数使いまわしてたりすると、
内容壊れる可能性があるってことだよね。
んー、やっぱローカル変数は欲しいなぁ
49名無しさん@お腹いっぱい。:04/10/26 10:22:45 ID:2FuMZGan
>>48
どのコマンド使おうが一緒だと思うけど…
そんなに気になるならワーク変数はラベル名+なんちゃらって自分で法則性を決めれば?
50名無しさん@お腹いっぱい。:04/10/26 11:49:17 ID:Vqn237zM
>どのコマンド使おうが一緒だと思うけど…
明示的にシステムに処理を明け渡す命令以外でも1ステップごとに割り込みが発生する
っつーのはローカル変数ないと厄介だよ
マイコンプログラムなんかの場合は割込みルーチン内で対策するんだけど
イベントドリブンを自動でやってくれる環境だとどこに飛んでくかわからないから
(スレッド管理すりゃいい話だがそんな面倒なことはしたくない)

>そんなに気になるならワーク変数はラベル名+なんちゃらって自分で法則性を決めれば?
LoopやSetTimerで複数ルーチン動かす場合は現状ではユーザー側でそうやって対策するしかないかな。
正直使い捨てのワーク変数なんて管理したくないんだけど

ユーザーが任意のタイミングで稼動させるホットキーイベントの場合 操作体系として
複数のイベントが同時に動くようなことはそうない筈なのでさほど問題にならないと思うけどね
(ラベル先頭に$つけず、フックを使わない場合はその限りではないか)

ちなみに SetBatchLines,-1 にすれば割り込みは回避できるっぽいが
マウスジェスチャスクリプトなどでマウスフックしている環境だと
バグで永久ループ作っちゃった場合かなりのっぴきならない状況になりそう
51名無しさん@お腹いっぱい。:04/10/26 13:11:05 ID:3HWM581A
>>50
だったらスクリプトを複数起動すりゃいいんじゃないかな
同じスクリプト内にはその処理中でも割り込ませたいホットキーのみ定義して
環境変数=グローバル変数って感じで
なんにしてもそんな複雑で巨大なもんは想定してないだろうしし
まともなプログラム言語でやったほうがいいと思うけど
52名無しさん@お腹いっぱい。:04/10/26 16:10:59 ID:Vqn237zM
レスサンクス
常駐アプリを減らす目的でAH使ってるので、常時常駐のスクリプトを複数作るのは
正直言って避けたいところ
今のとこ複雑で巨大なもんを作っているわけでもなく、変数たくさん作って
メモリ使用量を増やしたくないがゆえに i や whdなど使いまわしてるだけだしね

設定用のGUIを表示する時などは
Suspend,ON
RunWait,hoge.ahk
Suspend,OFF
とかやってるが、ホットキーイベントごとに別スクリプト飛ばすようなのは
#A:: RunWait,hoge.ahk
は起動処理に時間がかかるのであんまり使えそうもない。

まぁでも気をつけないとバグを作りやすい構造だなぁと思っているだけで
個人的レベルでの解決方法は割とどうでも良かったり
53名無しさん@お腹いっぱい。:04/10/26 17:44:11 ID:RWUWy7Aw
>>50
割り込まれるのがいやならThread,Priorityで優先度をあげるといいよ。
SetBatchLines,-1は自動的なSleepを無くすコマンドだから割り込みは関係ないはず。
54名無しさん@お腹いっぱい。:04/10/26 20:05:23 ID:gEBDcmmj
マ板に逝ってください。
5549=51:04/10/26 20:18:58 ID:SgzS3eIs
なんか話がかみ合ってない気がするが(51と52)…ま、いいや

モニターをサスペンドする方法見つけたんで貼っとく
SendMessage, 0x112, 0xF170, 1, , A
56名無しさん@お腹いっぱい。:04/10/26 23:41:36 ID:QjKWSV1f
一時的にエラーが発生してもダイアログを出さないように出来ませんか?
57名無しさん@お腹いっぱい。:04/10/27 18:48:55 ID:lePNVI11
58名無しさん@お腹いっぱい。:04/10/27 19:05:34 ID:nfe2C6Jx
v1.0.22 released
59名無しさん@お腹いっぱい。:04/10/27 20:21:54 ID:cQZnfYn0
キタ━━━━━━(゚∀゚)━━━━━━ !!

>>56
コマンドラインパラメータでも指定可
一時的ならこっちのほうがいいかも

>/ErrorStdOut
>文法エラーをダイアログ表示せずに標準出力に出力する
60名無しさん@お腹いっぱい。:04/10/27 20:28:48 ID:tkRhQ7fO
あと、RunのエラーはUseErrorLevelオプションで抑止できる
61名無しさん@お腹いっぱい。:04/10/27 23:20:29 ID:nfe2C6Jx
個人的にFileRenameとメモリとかCPU使用率を取得できるようになれば、
もちっとGUIコマンドを使う機会が増えるんだが…
6256:04/10/28 00:17:34 ID:QUJnS9WF
エラーが発生する可能性があったコマンドはMenuだったので
UseErrorLevel
を使うことで解決できました。
63名無しさん@お腹いっぱい。:04/10/28 22:44:11 ID:Oo+IhYhe
DL版リファレンスができたのでトレイメニュー改ざんしてみたり

Menu,TRAY,NoStandard
Menu,TRAY,Add,流行らせるページ&DL版,Sub_MenuTray
Menu,TRAY,Add,フォルダを開く(&F),Sub_MenuTray
Menu,TRAY,Add
Menu,TRAY,Standard

Sub_MenuTray:
if A_ThisMenuItemPos=1,Run,%A_ScriptDir%\html\index.html
if A_ThisMenuItemPos=2,Run,%A_ScriptDir%
return

MButton::
WinWait,A
Menu,TRAY,Show
WinActivate
Return
64名無しさん@お腹いっぱい。:04/10/30 16:03:02 ID:V0UEmBW/
Pre-1.0.23 Changesで文字だけ表示する透明ウィンドウができるようになってるね
65名無しさん@お腹いっぱい。:04/10/31 15:45:36 ID:3IqmnP4h
StringReplaceでSearchTextに`tを指定するとエラーになってしまうんですが、
バグですかね?
66名無しさん@お腹いっぱい。:04/10/31 15:49:13 ID:3IqmnP4h
と思ったら%A_Tab%を使うんですね…
`nとかは使えたから…
67名無しさん@お腹いっぱい。:04/11/01 16:05:58 ID:9mJjFANM
Sendで変数を送るのは不可能ですか?
68名無しさん@お腹いっぱい。:04/11/01 16:15:50 ID:kGoiMwEP
aaa=bbb
Send,%aaa%
69名無しさん@お腹いっぱい。:04/11/01 19:50:54 ID:DpvLwYDV
特定キーを離す命令を行うか、またはスレッドが終了するまで押しっぱなしにすることは出来ないですかね?
SetKeyStateみたいなのはないし、
send,{Alt Up}、または、send,{Alt Down}などにようにしてもすぐに元に戻るし…
70名無しさん@お腹いっぱい。:04/11/01 20:00:27 ID:kGoiMwEP
普通にできてるけど
71名無しさん@お腹いっぱい。:04/11/01 20:06:22 ID:DpvLwYDV
ホントだ。
ただ自分のやりたいのはAltキーを一時的に無効にしておきた…
ああ、Hotkey,{Alt},で逝けそうですね。
ありがとう。
72名無しさん@お腹いっぱい。:04/11/03 16:25:50 ID:qnClhCL9
タブブラウザで、あるタイトルのタブがアクティブになったら
自動でCtrl+Wを送りたいのですが、何も押さずにIfWinActiveを
発動させる方法が分かりません。おしえてください。
73名無しさん@お腹いっぱい。:04/11/03 17:19:50 ID:1LN/J+DS
>>72
ホットキー使わない監視は>42-43あたり
IfWinActiveでタブブラウザ上の特定タブのアクティブ状態を見るのは…
タイトル文字で検索すればいいのか。

んでもポップアップ広告を自動で閉じたいのならブラウザ側の
ポップアップ抑止機能を使ったほうがいいよ。大概のタブブラウザなら付いとる。
74名無しさん@お腹いっぱい。:04/11/03 18:19:35 ID:qnClhCL9
できました!有り難うございました〜

SetTimer, PopUpClose, 250
return

PopUpClose:
IfWinActive, 100% Free Hentai Pics!!
Send, ^W
return
75名無しさん@お腹いっぱい。:04/11/03 18:27:03 ID:FNKfdqZR
>>74
warota
76名無しさん@お腹いっぱい。:04/11/04 16:51:09 ID:AElrYJjU
単純にマウスのXButton1を、押して離すことをエミュートしたいのですが、うまくいきません。
<+!q::{XButton1} (Shift + Alt +Q を押すとXButton1の連打状態になる)
<+!q::{XButton1 Down}{XButton1 Up} (やはりXButton1の連打状態になる)
<+!q::{XButton1 Down} (でもXButton1の連打状態になって押しっぱなしにならない)
何かいい方法はないでしょうか?
77名無しさん@お腹いっぱい。:04/11/04 18:24:08 ID:uN5UTmnJ
KeyWait
78名無しさん@お腹いっぱい。:04/11/04 20:18:08 ID:AElrYJjU
!q::
Send, {XButton1 Down}
KeyWait, q ; Wait for the key to be released.
Send, {XButton1 UP}
return
でも、押しっぱなしにならない。Send, {XButton1 Down} 自体がダメなのか。
79名無しさん@お腹いっぱい。:04/11/04 20:22:19 ID:uN5UTmnJ
MouseClick
80名無しさん@お腹いっぱい。:04/11/05 07:11:48 ID:lz488AEr
>>76
押しっぱなしでマウス操作するんだからD&Dとかすると予想して
http://www.autohotkey.com/docs/scripts/JoystickMouse.htm
ここのパッド用のを流用したほうがいいかもしれない。
81名無しさん@お腹いっぱい。:04/11/08 10:48:59 ID:qqC7KO6v
age
82名無しさん@お腹いっぱい。:04/11/08 19:37:16 ID:k64BC7nw
^x::Send,^x
ってやっても対象アプリが受け付けないんだけどこれは9xだから?
83名無しさん@お腹いっぱい。:04/11/08 20:10:42 ID:TTCWfcHa
左様
84名無しさん@お腹いっぱい。:04/11/08 21:31:50 ID:VpTLX5cL
ありゃー
どうもです
85名無しさん@お腹いっぱい。:04/11/08 22:03:05 ID:IoGA32KB
このソフト、旧OSに対する制限や支障自体はあまりないのでNT4で重宝してる。
けど 9x系とNT系ではだいぶできることに差があるみたいね。
Meな人とかはかなり(´・ω・`)なのかな
86名無しさん@お腹いっぱい。:04/11/09 10:27:09 ID:lCpCinwR
XKeymacs風にキーバインド変更するスクリプトください
87名無しさん@お腹いっぱい。:04/11/09 15:56:44 ID:KNPR6y95
そのままXKeymacsを使えばええんとちゃうん?というレスはなし?
機能は、これか。http://www.cam.hi-ho.ne.jp/oishi/spec.html
88名無しさん@お腹いっぱい。:04/11/09 16:35:05 ID:tUscJqM2
ぬるさん、リファレンスのClipWaitを日本語訳していないのは仕様ですか?
日本語訳しなくても誰でもわかるけど
89名無しさん@お腹いっぱい。:04/11/09 16:38:33 ID:BqLEBMFD
じゃええやん。
90名無しさん@お腹いっぱい。:04/11/09 17:12:13 ID:suv0m+ux
DL版では日本語になってる
91名無しさん@お腹いっぱい。:04/11/10 02:59:45 ID:kx6Is8U3
連携用にとDelphiでコンソールアプリを必死になって作ってたのだが
RunWaitで標準出力内容取得できないことに今気がついた orz
92名無しさん@お腹いっぱい。:04/11/10 23:30:41 ID:7LK1IA3C
>>82
最新版では
$^x::Send,^x
でできるようになってる気がする
93名無しさん@お腹いっぱい。:04/11/10 23:39:16 ID:6/fq2xRD
AutoHotkey ver 1.0.23 released
http://www.autohotkey.com/changelog/ 
94名無しさん@お腹いっぱい。:04/11/11 00:36:25 ID:IJSFNkOV
しょぼいスクリプトしか書けないのでアップデートしても意味がなかった
95名無しさん@お腹いっぱい。:04/11/11 07:30:08 ID:u4UhZeSW
>>93
changelog情報が1.0.22のままだぞ?と思ったら
NotFoundのときはオミトロンでgoogleキャッシュを開くようにしてるからだった

>93のリンク末尾に&nbsp; (半角)が付いるからか
96名無しさん@お腹いっぱい。:04/11/12 22:39:17 ID:4Jd9HRDc
CapsLockにCtrlを割り当てたいんですが
普通にCapsLockにCtrlをSendしても押し下げなどの状態が再現できません
どうすればいいでしょうか
97名無しさん@お腹いっぱい。:04/11/12 23:01:29 ID:b78sbmBd
98名無しさん@お腹いっぱい。:04/11/13 01:18:20 ID:Ix00uzUU
>>92
やったできとゎーヽ(゚∀゚)ノ
99名無しさん@お腹いっぱい。:04/11/17 13:57:31 ID:edtOjVBX
マウスジェスチャをマウ筋から乗り換えようかと思ったけど
設定の移行が面倒くさいな
100名無しさん@お腹いっぱい。:04/11/17 15:53:49 ID:jhSKNzeG
(読んでもいないのにレス)マウ筋より実用になるん?
101名無しさん@お腹いっぱい。:04/11/17 18:36:59 ID:K021bBCt
あれだな。>>1はこのソフト流行らせたいんだろ?
だったら「何でも自動化AutoHotKeyのスクリプト承ります」みたいなスレ立てて
みんなが欲しい機能のスクリプトを作ってやれよ。
敷居が高いせいで流行らないんだからさ。
102名無しさん@お腹いっぱい。:04/11/17 21:11:18 ID:+Kzk23gi
お、俺は釣られないぞ
103名無しさん@お腹いっぱい。:04/11/17 21:33:37 ID:N5gPnPgT
すみません。AutoHotKey で次のような動作をマウスに割り当てる事はできるのしょうか?

右クリック + 左クリック = Ctrl + 左クリック
右クリック + 左ダブルクリック = Shift + 左クリック
右クリック + ホイールクリック = Delete
右クリック + ホイール上 = PageUp
右クリック + ホイール下 = PageDown

X Wheel NT では出来なかったので、これができるなら使用してみようと思っています。
104名無しさん@お腹いっぱい。:04/11/17 22:28:20 ID:ek8qS+NY
釣りか罵倒だな。X-WHEELで全部できる。設定見直せ。
105名無しさん@お腹いっぱい。:04/11/17 22:49:58 ID:N5gPnPgT
>>104
何時間も試したのですが無理でした。例えば 右クリック + 左クリック = Ctrl + 左クリック などの設定は、
「無限ルーブに陥る可能性が有るので出来ないようにしました云々」とヘルプに書いて有りました。
それとも別のやり方でもあるんでしょうか?
106名無しさん@お腹いっぱい。:04/11/17 23:06:49 ID:K021bBCt
マウ筋でもできるぞ
107名無しさん@お腹いっぱい。:04/11/17 23:58:00 ID:BU/rgtvX
他のソフトの紹介してどうするよ
108名無しさん@お腹いっぱい。:04/11/18 00:00:02 ID:Fuh25oTR
>>103
X-WHEELは知らんがAutohotkeyでやってやれないことはない
単純に~バイパスすると左クリやらホイールやらの元々の機能も働いてしまうだろうから
結構めどいスクリプト書かにゃならんと思うけどね
109名無しさん@お腹いっぱい。:04/11/18 00:03:48 ID:gM5b5wFk
>>106
えっ?できるんですか? 右クリック + 左クリック = Ctrl + 左クリック とかを割り当てても、
全く反映されなかったし、設定が難しすぎてで投げ出したのですが・・・。
ロジクールのマウスウェアとかとの相性が悪いんでしょうか。
ここ二三日、X wheel とマウ筋の設定に何時間もかけても思い通りになってくれないので、
いい加減いやになってきています。初心者はカスタマイズなんかするべきではないんですかね。
110名無しさん@お腹いっぱい。:04/11/18 00:27:24 ID:wa1Qb4aL
>>109
そういう時は、もう一度ヘルプをじっくりと読み直す。
案外簡単なところで引っかかってたりするもんだよ。
という事で、これ以降は↓へ

マウスジェスチャーツール総合スレpart3
http://pc5.2ch.net/test/read.cgi/software/1082888350/
111名無しさん@お腹いっぱい。:04/11/18 01:02:11 ID:gM5b5wFk
>>108
AutoHotKeyはサンプルを貼り付けるだけで欲しい機能(の一部)が実現したので、
「これはいけるかも」と思いました。でも御指摘の微妙な不具合(?)が気になってはいました。
スクリプトとか全然分からないし・・・。素人としては流行らせるページの管理人さんの
マウスジェスチャーのスクリプトがこなれるのを待つ方が良いのかもしれませんね。
(現在はマウ筋並に設定の仕方が分からなかったですが)

>>110
ありがとうございます。さすがに今は疲れ果てましたので、元気が戻ったらヘルプや
解説ページ等をもう一度読んでみようと思います。御紹介の2ちゃんねるのスレの
方でも質問させて頂く事もあるかもしれませんが、その時は宜しくお願いします。
112名無しさん@お腹いっぱい。:04/11/18 01:10:58 ID:v/UywDGI
>>103
マウスジェスチャスクリプトでできる
ダブルクリックはなんか条件判定使わないといけないけど多分できる
113名無しさん@お腹いっぱい。:04/11/18 16:13:44 ID:38RFZqB5
他人に有効そうな部分をうまく切出して投稿スレに張れればとは思うんだが
なかなか…
ちょっとした事をiniにどんどん追加していけるのはすごくいいんだけど
局地的なカスタムに終始してるな。汎用スクリプトって微妙に書きにくい
114名無しさん@お腹いっぱい。:04/11/18 18:35:11 ID:Fuh25oTR
>>111
終わった話題で揚げ足とって悪いが、それは
そういう設定なのであって不具合じゃない
元の機能を殺したいのなら ~を外せばOKだよ

ただそうすると左右ホイール単独での操作も一切効かなくなるので
それらを補完するスクリプトが必要だってだけだ
115名無しさん@お腹いっぱい。:04/11/18 18:58:49 ID:v/UywDGI
コンビネーションキーで元の機能が使えなくなるのは右クリックだけじゃないか?
それと、マウスジェスチャスクリプトはうまくやってるんで右クリックも普通に使える。
116名無しさん@お腹いっぱい。:04/11/19 03:54:43 ID:QFXyJTP9
スマソ、テスト用スクリプト新たに作って試してみたら
RButton & LButton::Send,{MButton}

こっち側に書かれてるキーが効かなくなるだけだった
前に試した時は&側も効かなくなってパニクったような記憶があったんだが
何か勘違いしてたのかも

ホイールに関してはサブノートなので試せてない、重ねてスマソ
117名無しさん@お腹いっぱい。:04/11/19 04:05:21 ID:Ko3uufzm
E-MACS Likeにするのに引っかかることない?
kill-word(1単語消し) や kill-region (1段落消し)のコツとか。
kill-line(一行消し)なら
^k ::
send {shift Down}
send {end}
send {delete}
send {shift Up}
ruturn で何も考えずにでkるんだが。
118名無しさん@お腹いっぱい。:04/11/21 03:08:12 ID:im7tvfPL
流行らせるページ移転
ttp://lukewarm.s101.xrea.com/
119名無しさん@お腹いっぱい。:04/11/21 12:07:18 ID:D2ektSVx
ファイル名を指定して実行を出すにはどうすれば・・・orz
120名無しさん@お腹いっぱい。:04/11/21 12:37:52 ID:Itnkc7/U
ミ田(ウィンドウズキー)+Rを押す
121名無しさん@お腹いっぱい。:04/11/21 13:13:07 ID:D2ektSVx
>>120
互換シェル使ってるのでautohotkeyから呼び出してほしいのですが
122名無しさん@お腹いっぱい。:04/11/21 13:31:15 ID:dsImH4de
>>121
知ってるがお前の態度が気に入らない
123名無しさん@お腹いっぱい。:04/11/21 15:04:45 ID:D2ektSVx
すいません・・・消えます
124122:04/11/21 18:09:49 ID:fuq0evGX
>>123
コピペにマジレスすんな気分悪い
気にいらんのは最初に互換シェル使ってることをいわないことと
>>120が答えてくれたのに自分の役に立たないから感謝してないことだ

CreateObject("Shell.Application").FileRun

これを適当な名前.vbsで保存してそれを実行するように割り当てる

だめならこれ使え
ttp://www.vector.co.jp/soft/win95/util/se341426.html

それで無理なら他で聞け
125名無しさん@お腹いっぱい。:04/11/23 04:23:54 ID:qZtyVrls
質問は流行らせるページの掲示板に書いたらどうだろう
126名無しさん@お腹いっぱい。:04/11/23 11:27:36 ID:DA891JIt
119の時点で121の情報も出して欲しかった
小出しにする人間に答えるのよくない
127名無しさん@お腹いっぱい。:04/11/23 11:56:41 ID:bVFdQlh1
気にしすぎ。
128名無しさん@お腹いっぱい。:04/11/25 01:54:26 ID:Q3QQ0Wkh
HoeKeyの%sみたいな、選択文字列を他のツールなり検索なりに飛ばすような事はできる?
これができれば乗り換えようと思ってるんだけど。
129名無しさん@お腹いっぱい。:04/11/25 07:27:42 ID:JAczn3/K
ちと繁雑になるが、Send,^c で一旦クリップボードに取り込んでからツールに飛ばせばOK
クリップボードの内容書き換えたくない場合はバックアップ取っとけば元に戻せる。
(ただしテキスト情報のみだが)

hoeでも%s使った後クリップボード内容が選択文字列に置き換わってるので
内部でやってることは多分一緒


wcpbak = %clipboard% ; クリップボード内容待避
clipboard =
Send,^c
ClipWait, 0.5
Run,hoge.exe %clipboard%
clipboard = %wcpbak% ; クリップボードリストア(テキスト情報のみ)
wcpbak =
130名無しさん@お腹いっぱい。:04/11/25 11:57:35 ID:oYhIc/dA
クリップボード拡張ソフト入れてる人は履歴が増えるだけかもしんないね
131名無しさん@お腹いっぱい。:04/11/25 17:10:08 ID:h7pRrsZP
ControlGetFocus
ControlGetのSelected
132名無しさん@お腹いっぱい。:04/11/25 19:44:51 ID:JAczn3/K
>>130
wcpbakのある3行を削除しる
クリップボード拡張ソフト常駐してるなら、そっちのオプション調べたほうが幸せになれるかもだが

>>131
クリップボードは使わないがエディタなど編集可能な領域の選択文字列しか取得できないので
IEのブラウザ領域などの選択文字はむりぽ
最新バージョンではわからんが、昔試してみた時はフォーカスがエディットコントロール上に
あっても結構しくじることあった。
133名無しさん@お腹いっぱい。:04/11/28 00:25:00 ID:c7aIhnXT
CtrlとCapsを入れ替えるにはどうやって記述したらいいのでしょうか?
AutoHotkeyを流行らせるページを読んだのですがわかりませんでした_| ̄|○
134133:04/11/28 00:33:11 ID:c7aIhnXT
すいません、>97にありました。スレをもっとちゃんと読めばよかった_| ̄|○
135sage:04/12/06 17:49:15 ID:iniyGzU5
ファイラからスペースがある引数(ファイル名)を渡すと、スペースおきに引数が分割されます。しかもTRIMしてくれます。

スクリプト中に
Arg = %1%%2%%3%%4%%5%%6%%7%%8%%9%
とつなげても意味ないですし・・・。

かといって、
Arg = %1% %2% %3% %4% %5% %6% %7% %8% %9%にやっても半角スペース1文字は挿入できるけど意味ないですし・・。・

あきらめるしかないのでしょうか?

ファイラ等がSFNをあつかえれば良いのでしょうが・・・。
136135:04/12/06 17:51:09 ID:iniyGzU5
sage間違えました。失礼しました。
137名無しさん@お腹いっぱい。:04/12/06 18:23:00 ID:bd+gP8fM
よく分からんけどレス。

gosub GetCmdFilePath
msgbox, %cmd%
return

GetCmdFilePath:
cmd=
loop,
{
    StringTrimRight, this_cmd, %A_Index%, 0
    if this_cmd =
        return
    if A_Index = 1
        cmd = %cmd%%this_cmd%
    else
        cmd = %cmd%%A_Space%%this_cmd%
}
return
138名無しさん@お腹いっぱい。:04/12/06 18:38:21 ID:bd+gP8fM
"C:\Program Files" "C:\Program Files\hoge"
みたいに複数ファイル渡すと
C:\Program | Files | C:\Program | Files\hoge
って感じで分割してくれるな。
139名無しさん@お腹いっぱい。:04/12/06 18:38:51 ID:bd+gP8fM
というわけで修正。
多分動くと思う。

    gosub GetCmdFilePath
    loop, %cnt%
    {
        StringTrimRight, this_cmd, cmd%A_Index%, 0
        msgbox, %this_cmd%
    }
    return

GetCmdFilePath:
    cmd=
    cnt = 0
    loop,
    {
        StringTrimRight, this_cmd, %A_Index%, 0
        StringTrimRight, currcmd, cmd%cnt%, 0
        if this_cmd =
            return
        ifInString, this_cmd, :\
        {
            cnt++
            currcmd =
            cmd%cnt% = %currcmd%%this_cmd%
        }
        else
            cmd%cnt% = %currcmd%%A_Space%%this_cmd%
    }
    return
140名無しさん@お腹いっぱい。:04/12/06 19:03:46 ID:zqzYY0JD
これは作者に何とかしてもらったほうがいいと思う
141135:04/12/06 19:05:52 ID:iniyGzU5
お忙しい中、お付き合いいただきましてありがとうございます。
自分のショボイスクリプトに組み込んで利用させて頂きます。
142名無しさん@お腹いっぱい。:04/12/07 00:23:55 ID:DeTOpcCM
msgbox,cnt=%0% @=%1% A=%2% B=%3% C=%4%

ってahk作って試してみたんだけど、漏れの環境では
(機種依存文字スマソ、数字だとわかりにくいんで)

Cnt=2 @=C:\Progra~1\hoge\hoge.txt A=C:\Progra~1\hoge\hoge.2txt

てな感じでDosチックなパスが帰ってきた。スペースはあっても実質上問題なさそうな感じだけど
んー何が違うんだろ

WinXP Home SP1a
Autohotkey V1.0.23
143名無しさん@お腹いっぱい。:04/12/07 00:43:28 ID:nJCYKPEQ
ファイラーかなんかで渡してたりして。
144名無しさん@お腹いっぱい。:04/12/07 00:46:42 ID:DeTOpcCM
終わってる話題にしつこく自己レス
プロンプトから Start test.ahk "c:\program files\hoge\hoge.txt" ってしたら

cnt=2 @=c:\program A=files\hoge\hoge.txt
ってなった。
エクスプローラからファイル選択してスクリプトにドロップした時や
XFから「送る」の動作でスクリプトに渡したときは>142になるですね。

>135
>ファイラ等がSFNをあつかえれば良いのでしょうが・・・。
って最初に書いてあるし orz
スレ汚しスマソ
145名無しさん@お腹いっぱい。:04/12/10 03:22:03 ID:goBUkbng
1.0.24 で直ったらしい
146名無しさん@お腹いっぱい。:04/12/10 06:49:52 ID:6RKLPTWc
これか
Improved behavior of command line parameters on Windows NT/2k/XP so that: 1) 
more than 8 files can be dragged and dropped onto a .ahk script 
(if the drag-and-drop option was enabled during installation); 
and 2) .ahk files launched directly via shortcut or command line can receive parameters containing spaces 
if they are enclosed in double quotes.
147名無しさん@お腹いっぱい。:04/12/10 07:52:04 ID:LTN6Qu5m
個人的には↓あたりが嬉しい
スペシャルフォルダ調べんのに{20D04FE0〜 とかやんなくて良くなった

Added the following built-in variables: A_Language, A_ComputerName, A_UserName,
A_Desktop, A_DesktopCommon, A_StartMenu, A_StartMenuCommon, A_Programs,
A_ProgramsCommon, A_Startup, A_StartupCommon, and A_MyDocuments.
148135:04/12/10 09:41:01 ID:tjcJeaTT
おー直ってるっぽい。
(前ver)HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoHotkeyScript\Shell\Open\Command\: "D:\tool\AutoHotkey\AutoHotkey.exe "%l" %2 %3 %4 %5 %6 %7 %8 %9"
(今) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoHotkeyScript\Shell\Open\Command\: "D:\tool\AutoHotkey\AutoHotkey.exe "%1" %*"

(前ver)HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoHotkeyScript\Shell\Run\Command\: "D:\tool\AutoHotkey\AutoHotkey.exe "%l" %2 %3 %4 %5 %6 %7 %8 %9"
(今) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoHotkeyScript\Shell\Run\Command\: "D:\tool\AutoHotkey\AutoHotkey.exe "%1" %*"
ここが変更されただけかな?
それにつけても良かった良かった。

>>猫さんありがとうございました。
149名無しさん@お腹いっぱい。:04/12/11 19:08:07 ID:YA2kaXEW
SysGetで SM_CXSIZE、SM_CYSIZEの値がうまく取れなくて悩んでたが
ヘルプの Sub-command一覧表の対応数値が間違ってた模様

× SM_CXSIZE、SM_CYSIZE= 29, 30
○ SM_CXSIZE、SM_CYSIZE= 30, 31

全部調べたわけではないので他の数値についての整合性はわかんないけど
ハマったのでとりあえず貼っとく
どなたか英語できるかた本家フォーラムへの代理報告キボンヌ
150名無しさん@お腹いっぱい。:04/12/13 09:11:12 ID:SZIsgfyC
どうぞジャンプして来てください。川幅はそれほど広くないですよ。
あなたならきっとうまく跳べるはずです。そして、黄金の国ジパングを
さらに魅力的なものにしてくれることでしょう。
151名無しさん@お腹いっぱい。:04/12/13 18:11:48 ID:0hIbm5nP
>>150
おいおいw
152名無しさん@お腹いっぱい。:04/12/17 14:40:31 ID:XMEeCWWa
AutoHotKeyの機能のいくつかをCの関数として用意しているようなライブラリってないの?
153名無しさん@お腹いっぱい。:04/12/18 11:20:22 ID:nswdvxM+
AutoHotkey自体はC++で書かれてる
ソースコード配布されてるから拾ってきて解析汁
154名無しさん@お腹いっぱい。:04/12/21 23:02:51 ID:uT9fmXdg
ウインドウ閉じる前に処理を入れ込みたいんだけど、うまいこと制御奪うことって
できないですかね。WinWaitCloseだと閉じてから戻ってくるので間に合わないし、
地道に Alt+F4,アイコンダブルクリック、[X]ボタン当たりを張るしかないかな
155名無しさん@お腹いっぱい。:04/12/22 12:46:51 ID:7I1dFW+a
意味が分からんとです…
156名無しさん@お腹いっぱい。:04/12/22 15:40:12 ID:0HcezQve
必ず特定のホットキーで閉じればいいやん、と適当にレス。
157名無しさん@お腹いっぱい。:04/12/22 20:27:01 ID:UevEBYDq
>>155-156
WindowShadeをやりたくて公式にあるWinowShading.ahkを改造してるんだけど
Shadeしたままアプリを閉じてしまうと次回起動時タイトルバーのみのウインドウになってしまう
ウィンドウが閉じられる前につかまえてシェード解除してから閉じるようにできたらなと

>>156
特定の操作以外で閉じたウィンドウはシラネで通そうかと思ったんだけど
OSシャットダウンや再起動のときちょっと困るです。
スクリプト終了前に全部アンシェードはするけど常駐のAutohotkeyより先に終了させられてしまう
ウィンドウをどうしようかと思って
158名無しさん@お腹いっぱい。:04/12/22 21:17:26 ID:qtgQDggQ
タイトルバーのみのウィンドウが出てきたらログを調べて適当に復元すれば?
159名無しさん@お腹いっぱい。:04/12/23 16:45:06 ID:J6rIZpBx
再起動とかもAutoHotKeyでやれば(ry
160名無しさん@お腹いっぱい。:04/12/23 17:03:18 ID:c884k2Kg
>158
そうですね。ログに関してはスクリプトリロード対策用にID情報だけiniに保存してるんだけど、
一回閉じられるとID変わっちゃうから、やるならClassで管理かな
でもエクスプローラとか多数窓開いてるとわかんなくなるか。
面倒なんでとりあえず決め置き値400くらいで復元するの作ってみて様子見ることにします。

>159
そこまでやれば確かに無問題かも
ノートでPowerボタンを押してWinの終了メニュー出すようにしてるので
それをAutoHoekeyでフックできればいいのかな
161名無しさん@お腹いっぱい。:04/12/23 17:10:33 ID:c884k2Kg
AutoHoekeyって何だよもう orz
162名無しさん@お腹いっぱい。:04/12/23 18:11:44 ID:JiKmn8wS
ワラタ。混ざってるな
163名無しさん@お腹いっぱい。:04/12/23 18:39:06 ID:J6rIZpBx
そういやしばらくAutoHotKeyとHoeKeyを併用していた時期が合ったな…
164名無しさん@お腹いっぱい。:04/12/27 14:43:05 ID:43nefnH4
GUIのgオプションのやつで、
A_GUIEventで呼び出された時の操作を調べられるが、
どうやっても空かNormalにしかならない気がするんだけど、
ver1.0.25以降の機能だったりするのかな?
165名無しさん@お腹いっぱい。:04/12/27 14:46:27 ID:gwY2/edQ
DoubleClickはなるよ
1回目でMsgBox出しちゃうと2回目のクリックができないが
166名無しさん@お腹いっぱい。:04/12/27 15:04:52 ID:43nefnH4
うお、Sleepが入ってたのが原因だったのか。thx
ためしに↓を動かしてみるとちゃんとDoubleClickになるね。
    GUI, Add, ListBox, gClicked, aaa|bbb|ccc
    GUI, Show 
    return

Clicked:
    if A_GuiControlEvent = DoubleClick
        Msgbox, %A_GuiControlEvent%
    ;sleep, 300
    return

GUIClose:
    ExitApp
167名無しさん@お腹いっぱい。:04/12/28 22:37:26 ID:xxz8sTY5
素朴な疑問なんだが、AutoHotkey.iniがデカくなりすぎている人、
速度とか低下するもん?それとも、殊更軽さが変わらない?
168名無しさん@お腹いっぱい。:04/12/28 22:59:19 ID:ZvklM78e
ttp://cgi19.plala.or.jp/lukewarm/news/2004_10.html#26
この辺を見るに、あまり問題はないんじゃないかな
169名無しさん@お腹いっぱい。:04/12/28 23:53:41 ID:xxz8sTY5
ありがとう!安心して拡張に励めるよ。
170名無しさん@お腹いっぱい。:04/12/29 00:14:09 ID:c2VaG1Qh
大して参考にならないと思うが、
ホットキー型ランチャの部分のスクリプト2KBと、
普段使ってるマウスジェスチャー・仮想デスクトップ・MinimizeToTray・IntelliSenseその他もろもろ32KBの
起動直後のメモリ使用量をConfigInspectorで見てみたが、1MBほど増加している。
仮想メモリ使用量は大して変わらなかった。

機能を見比べると、1MBくらい大したこと無いか
171名無しさん@お腹いっぱい。:04/12/29 00:56:51 ID:3lE1SfWD
スプリクト内で使ってる変数の数とか格納内容によってメモリ使用量は変動すると思われ

まぁスクリプト内容そのものもオンメモリに取られてはいると思うけど、
コメント多く書くとそのぶんメモリ使用量増えるのかとかはちょっと気になるな
172名無しさん@お腹いっぱい。:04/12/29 01:11:43 ID:c2VaG1Qh
そうだね。
配列を大量作成するIntelliSenseを切ったら300KB程減った。


…ホットキー型ランチャの部分のスクリプト2KBと
ホットキー型ランチャの部分のスクリプト+コメント文64MBで比べてみた。
おお、全く同じだ。
さすがにスクリプトの解釈に時間が掛かったが
173名無しさん@お腹いっぱい。:04/12/29 04:16:50 ID:3lE1SfWD
>>172
おぉわざわざ調べてくれたんか、検証乙
まめにコメント付けるべきか省くべきか迷ってたんだけど
起動速度には多少影響あってもそれ以降は問題なしってことなのか、安心した

ちなみにIntelliSenseってのはどこのスクリプトだろう
ググッて見たけどわからんかった。自作でつか?
174名無しさん@お腹いっぱい。:04/12/29 16:12:25 ID:c2VaG1Qh
175名無しさん@お腹いっぱい。:04/12/29 19:02:26 ID:3lE1SfWD
d
Tooltipに構文ルール表示してくれるスクリプトか
ちょっと確認したい時にヘルプ立ち上げなくてすんで楽そう

こういうのはエディタの機能領分だと思ってたが、Autohotkeyでやっちゃうのか、スゴイな
176名無しさん@お腹いっぱい。:04/12/31 04:27:48 ID:5Xvpi5bH
Alt + ^ キー に Alt + F12 を割り当てたいのですが、
どのように書けばよいのでしょうか?
!^::Send,!{F12} じゃだめなので よろしくお願いします。
177名無しさん@お腹いっぱい。:04/12/31 04:33:29 ID:BuUCO6kI
環境
178176:04/12/31 07:42:49 ID:XFMh0Zp+
!sc00d::Send,!{F12} でいけました。
スレ汚してすみません。
179名無しさん@お腹いっぱい。:05/01/04 18:22:14 ID:7IoZiq++
ここが盛り上がらないのは流行らせるページに2ch型掲示板があるせい
180名無しさん@お腹いっぱい。:05/01/04 18:54:36 ID:9yzyNlNW
wiki が欲しい
181名無しさん@お腹いっぱい。:05/01/05 10:02:37 ID:qFubuwTB
>>179
本気でそう思ってるならあっちに書けばいいよ
182名無しさん@お腹いっぱい。:05/01/05 21:38:21 ID:Z98EP+wK
KbMediaPlayerでWinampのリジューマーみたいなことをやりたいのですが
ahkで再生位置(m:s)を取得する方法ってなんかないですかね
やっぱhttp://hp.vector.co.jp/authors/VA026252/online/index.htmlのツール使うしかないのかなあ
できればahkでやりたいんですけどなんかいい方法ありますでしょうか
183名無しさん@お腹いっぱい。:05/01/05 21:59:46 ID:6pbEvloO
自分ぬるさんではないけど、正直盛上がるならどっちでもいい
…でもあっちは書込み度更に低いしなぁ
184名無しさん@お腹いっぱい。:05/01/05 22:27:06 ID:8J25MKkn
質問やスクリプト晒しは向こうでやって、こっちは他ツール儲との罵り合いとか、
教えて厨叩きとか、Dat落ちで読めなくなっても困らない内容に使うってのはどうだ。
185名無しさん@お腹いっぱい。:05/01/08 16:50:48 ID:bpoRGJtM
一定時間操作しなかったら、特定のアプリケーション(ACCESS)を終了させたいのですが
サンプルを利用して下記のスクリプト実行したのですが、うまく作動しません
どこが悪いのでしょうか?

#Persistent
SetTimer,ExecWWWC,60000
return

ExecWWWC:
If A_TimeIdle < 100000
Process, Close, -MSACCESS.EXE
return

WinXP HOME OfficeはXPです

お願いします 
186名無しさん@お腹いっぱい。:05/01/08 19:20:46 ID:9UC7/CXz
>>185
If A_TimeIdle < 100000

If A_TimeIdle > 100000

Process, Close, -MSACCESS.EXE

プロセス強制終了するよりWinCloseかWinKill使ったほうがいいと思う

あと、A_TimeIdle は「アクセスlを操作しなくなってから」ではなく
PCの操作をしなくなってからの時間だけどその辺の認識はOKなの?
それと動作に関係ないけどサブルーチンの名前はCloseExcelとかに変えたほうがいいかも
187名無しさん@お腹いっぱい。:05/01/08 19:32:39 ID:9DDLL3bP
まず
SetTimer,ExecWWWC,60000 → SetTimer,closeACCESS,1000 /*一秒ごとに監視*/
ExecWWWC: → closeACCESS:
If A_TimeIdle < 100000 →If A_TimeIdle > 100000 /*100秒無操作だったら*/
にかえる
あとファイル名ちがくない?アクセス使わないから知らないけど
あとifの後って{}いらないのかな?俺は必ずつけるけど…

188名無しさん@お腹いっぱい。:05/01/08 21:35:10 ID:bpoRGJtM
>>186-187

有り難うございます
#Persistent
SetTimer,closeACCESS,60000
return

closeACCESS:
If A_TimeIdle > 1000000
WinKill,Microsoft Access
return
でウィンドウを閉じる事はできました。
ただ、アクセスのフォームによってウィンドウのタイトルの名前が変わるので、
WinKill,Microsoft Access では不都合です。
やはりプロセスの終了を試してみましたが、
Process, Close, -MSACCESS.EXE
ではなぜか終了できません。>>187さんの言うとおりプロセス名がちがうのでしょうか?
189名無しさん@お腹いっぱい。:05/01/08 22:47:50 ID:5NbcsjCO
使ってないから知らんけど、
SetTitleMatchModeでなんとかなるんじゃまいか?
190名無しさん@お腹いっぱい。:05/01/09 02:18:19 ID:6JG3K/lq
名前の最初にハイフンが付いた実行ファイルなんてあるのか?
191187:05/01/09 05:37:19 ID:X+WIco3/
俺もそれが言いたかった…
192186:05/01/09 06:45:29 ID:uWx5n3Wv
CloseExcelってなんだ、トンチンカンな回答してどうするよ漏れ orz

>>187
CとかでもそうだけどIFやLoopの{}は中身が1行(1命令)のみの時は省略可能みたい

>>188
Process, Close使ったことないのでようわからんが
タスクマネージャのイメージ名でそれっぽいもの探すか
WinGetでプロセス名調べて見たらどうだろう
193名無しさん@お腹いっぱい。:05/01/09 10:25:56 ID:3yljtdih
名前の最初にあるハイフン削ってみたら?
194名無しさん@お腹いっぱい。:05/01/09 11:56:32 ID:RE3446kg
リロードを繰り返すと、パス文字列が増えていくんだが・・・

AutoHotkey.iniに

Path = %Path%;D:\hoge1
Path = %Path%;D:\hoge2
Path = %Path%;D:\hoge3



最後に
EnvSet, Path, %Path%
としてる。

書き方がまずいのかなあ?
あとパスには文字数制限があるのかなあ?
一応、AutoHotkeyを再起動すると直りますけど・・・

Version 1.0.24
Windows XPです。
195名無しさん@お腹いっぱい。:05/01/09 17:23:39 ID:6JG3K/lq
リロードはAutoHotkeyからAutoHotkeyを起動する形になるので、
環境変数がそのまま引き継がれるような気がする。
196名無しさん@お腹いっぱい。:05/01/10 05:12:29 ID:OuuGQXV0
確かPATHの文字数制限は127バイトだったかな
DOSの時代の話なので今は違うかも。

文字列が増える件は>195っぽいけど、
Path=%Path%;D:\hoge1
とかやるのは混乱の元になると思う。
%Path% で環境変数PATHを参照してしまうので、Autohotkey内部で使う変数名に
環境変数と同じ名前付けるのは止めたほうがいい。
197名無しさん@お腹いっぱい。:05/01/10 23:52:01 ID:CwGBmCDk
猫まねきから乗り換え完了
メモリ使用量が寝こまねきの半分くらいで、出来ることは格段にこっちが上
ただのキーカスタマイズソフトだと思っていたんだが、何のソフトか分からないくらい何でも出来るのね
X Wheel もAutoHotkeyで代用したいけどこれはちと大変そうだなあ
問題点はスクリプト作るのが楽しすぎて時間を忘れるってとこだろうか
198名無しさん@お腹いっぱい。:05/01/11 09:55:24 ID:Aqmb4pWZ
「ホイール加速」だけ実現できれば、漏の場合は「X-WHEEL」の役割が終わるなぁ。
199194:05/01/11 18:26:03 ID:qMv34yIJ
>>195
>>196
返信遅れました。
その様な感じみたいですね。ご意見ありがとうございました。
あと環境変数をそのままダイレクトに使うのは混乱の元なので、止めました。
200名無しさん@お腹いっぱい。:05/01/13 14:44:55 ID:nDw3vddS
AutoHotkey1025age
201名無しさん@お腹いっぱい。:05/01/13 20:08:41 ID:8ArpJG1s
zipで配布してくれねえかなあ
202名無しさん@お腹いっぱい。:05/01/13 20:36:25 ID:z9zDc1tX
GPLなので流行らせるページに奇態
ついでに日本語化も
203名無しさん@お腹いっぱい。:05/01/13 20:52:49 ID:sBv98Ic3
日本語化なんてする必要あるか?
中学卒業してれば読めるレベルだと思うが
204名無しさん@お腹いっぱい。:05/01/13 21:23:10 ID:+m1Q0xe/
向こうのソフトの常駐サイズ見て思うんだけど、コンパイラそのものが軽めだったりするのかな
日本語環境でリコンパイルしたらメモリ常駐量が増えたりしたら…嫌だなぁ

ヘルプなどのドキュメントだけ日本語化してくれたら…
流行らせるページのDL版HTMLで間に合ってしまうな
205名無しさん@お腹いっぱい。:05/01/14 00:34:17 ID:zmmQYEjF
v1.0.25バージョンうpしたら今まで作ったのスクリプトエラー出まくりで
起動できなくなってもうた(つд`) XP SP1a

if ErrorLevel <> 0,return
とか、行分けないとダメっぽい

しかし
if ErrorLevel <> 1,return
はOKなんだよね、何なんだろ
206名無しさん@お腹いっぱい。:05/01/14 00:38:55 ID:HhXWo9yC
IfNotEqualにする
207名無しさん@お腹いっぱい。:05/01/14 01:14:52 ID:zmmQYEjF
>>206
0以外でも
 OK: if A_ExitReason=Single , xxxx
 NG: if A_ExitReason=Logoff , xxxx
だったり。そもそもこれってイリーガルな記述だったのかな
早まって本家に書込んできてしまったんだけど

等号、不等号のが分かりやすいので、至る所で使ってる死 ⊂⌒~⊃。Д。)⊃
全部修正するようだとかなりしんどい
208名無しさん@お腹いっぱい。:05/01/14 08:46:13 ID:853cqvDk
>>203
ユニコードに対応って意味だろ

>>205
そこでautohotkeyの出番ですよ
209名無しさん@お腹いっぱい。:05/01/14 16:23:24 ID:w3N1xfe4
if ErrorLevel <> 0
    return
みたいな書き方してたから助かった。
210名無しさん@お腹いっぱい。:05/01/14 17:56:32 ID:Tsv4VAVH
日本語化でユニコード対応なんてできるわけないじゃん
211205:05/01/14 18:55:23 ID:zmmQYEjF
ExciteのWeb翻訳でエラるので、OCNでリトライして見たら…
ChangeLogに思いっきり書いてあった orz
Chrisさん えろうすんません。
212名無しさん@お腹いっぱい。:05/01/17 01:32:51 ID:BddnzZM8
マウ筋から移行中。
出来ることが多過ぎだなこりゃ。
213名無しさん@お腹いっぱい。:05/01/17 03:00:56 ID:E7AfJ3rN
exe化した実行ファイルを逆コンパイルしてソース表示するのってどうやればいいの?
ソース間違って消しちゃって。パスは掛けてない
214名無しさん@お腹いっぱい。:05/01/17 04:08:25 ID:uE8s8r3I
公式のどっかに逆コンパイラがある
215名無しさん@お腹いっぱい。:05/01/17 18:08:25 ID:lKVw7e93
http://lukewarm.s101.xrea.com/commands/indexframe.html
>lParam引数にはコマンドID〜
とあるが、wParam引数にはコマンドID〜の間違いでないかい?
というかしばらくハマった。
216名無しさん@お腹いっぱい。:05/01/19 14:13:24 ID:yDVHSxPz
昨日導入した初心者です
スクリプトごりごり書いているのですが
こういう事はできるのでしょうか

Windowキーだけを押した時は無視
(スタートメニュー出さない)
Windowキーと何かを押した時は実行
(Windowキー + D でデスクトップ)

LWIN::return
#D::(Windowキー + Dと同じ処理)
と登録してもだめでした

よろしくお願い致します
217名無しさん@お腹いっぱい。:05/01/19 23:47:38 ID:/y98KpAa
ここまで書いて諦めた。
inputのところで上手く動いてくれん。
LWin::
    send, {LWin Down}
    input, output, I L1, {LWin Up}
    if output <>
        send, #%output%
    return
218名無しさん@お腹いっぱい。:05/01/20 11:35:18 ID:FEgW5CwC
公式でZIP配布キター
219名無しさん@お腹いっぱい。:05/01/20 12:16:52 ID:6i0sbK/K
C-\ キーに 全角/半角 を割り当てるために
^\::Send,{vkF3sc029}
と書いているのですが、
これをメモ帳が Active なときは無効にして、
それ以外のときは有効にしたいのですが
どのように書けばよいでしょうか?

よろしくお願い致します

220名無しさん@お腹いっぱい。:05/01/20 14:54:46 ID:B+PKEcso
zip キテタ Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!!
221216:05/01/20 16:42:09 ID:6X76Nm0d
>217
スクリプトありがとうございます
後は自力で頑張ってみます
222名無しさん@お腹いっぱい。:05/01/20 22:42:10 ID:8GMFYf6M
>219
こんな感じ?
^\::
WinGetClass, winclass1 , A
if winclass1=Notepad
   send,{vkF3sc029}
return
223222:05/01/20 22:50:27 ID:8GMFYf6M
>219
本文読み間違えました(;´Д`)スミマセン
これでどうでしょ。
^\::
WinGetClass, winclass1 , A
if winclass1<>Notepad
   send,{vkF3sc029}
return
224名無しさん@お腹いっぱい。:05/01/20 23:29:43 ID:+2+ByuU/
^\::
    IfWinNotActive, ahk_class Notepad
        send,{vkF3sc029}
return
225名無しさん@お腹いっぱい。:05/01/20 23:59:17 ID:qbKj/ztw
WheelRedirectorやWheelPlusみたいにマウス直下のコントロールに
ホイール情報を送れないもんかね。

WM_MOUSEWHEELをコントロールにPOST すればいいらしいが、
常にMouseGetPosし続けるのは重すぎる…
226名無しさん@お腹いっぱい。:05/01/21 00:11:12 ID:LnAlcMXa
加速とか気にしないのであれば
WheelUp::
WheelDown::
で引っかけて MouseGetPosすればそんなに重くないと思うが

前に試した時はアプリによってMOUSEWHEEL、WM_VSCROLLと
使い分けないといけない感じで結構面倒そうだった
あと xyzzyとかスクロールできないものもあった。
227名無しさん@お腹いっぱい。:05/01/21 02:30:21 ID:9S5vCmPb
~WheelUp::
MouseGetPos,,,winclass, newclass
IfWinNotActive,ahk_id %winclass%
winactivate,ahk_id %winclass%
if newclass<>%oldclass%
ControlFocus ,%newclass%,ahk_id %winclass%
oldclass=%newclass%
return

こんなんじゃあかんの?ホイール加速も間にかませて使ってるけど普通に動いてる
たまにホムペの画像とかにひっかかるんがよくわからん
変数の比較も結構負荷かかってるんかなぁ。。動いてるからまあえっか。。
228219:05/01/21 05:01:54 ID:pF8nqZbc
>>223
>>224
いけました。
御両人ともどうもありがとうございます。

229名無しさん@お腹いっぱい。:05/01/21 07:29:33 ID:LnAlcMXa
>>227
それだとマウス下のウインドウがアクティブになってしまう
フォーカスは奪わないまま裏でスクロールさせたいってことじゃないの?

ちなみにControlSend だとウインドウ自体アクティブなってしまったり裏で動いたりで
効いたり効かなかったりで安定しなくて、PostMessage使ったほうが良さげな感じだった
最近のバージョンでは試してないけど
230名無しさん@お腹いっぱい。:05/01/21 08:09:39 ID:L84rVbe1
おまえらすごいな!ぜんぜんんわかんねえ
231名無しさん@お腹いっぱい。:05/01/21 09:12:51 ID:OxrfMiNK
>>229
PostMessageだとWheel Redirectorでいうところの互換モードとかの扱いがあるので
アプリごとの設定を覚えさせたりかなり面倒そう
232名無しさん@お腹いっぱい。:05/01/21 20:31:47 ID:LnAlcMXa
>>231
だったら全て互換モードを(WM_VSCROLL)使えばいいかっつーとそうでもないのが
また面倒なんだよね。ExcelとかはWM_MOUSEWHEELじゃないとあかんみたいだし。

Excelで思いだしたけど、現状だとMDI子ウィンドウは操作できないよね。
シェードにしてもリレダイレクトホイールにしてもフォーカスのある子ウィンドウしか制御できないぽい。
233225:05/01/22 00:29:49 ID:VfzxxRIk
重かったのは漏れのゴッタ煮糞スクリプトにぶち込んでたせいだった(;´Д`)
一応、加速付き。かっ飛びスクロールが好きだから増加分とリミットは変えてくり。

#SingleInstance
#HotkeyInterval 5000
#MaxHotkeysPerInterval 130
;#NoTrayIcon
SetMouseDelay, -1
CoordMode,Mouse,Screen
Hotkey,WheelDown,Wheeling
Hotkey,WheelUp,Wheeling
Wheeling:
If (A_PriorHotkey <> A_ThisHotkey || A_TimeSincePriorHotkey > 50)
delta = 120
Else If delta < 1000
delta+=120
IfEqual,A_ThisHotkey,WheelDown
wParam:=-delta*65536
Else
wParam:=delta*65536
MouseGetPos,x,y,hwnd,cnn
lparam:=y*65536+x
PostMessage,522,%wParam%,%lParam%,%cnn%,ahk_id %hwnd%
;PostMessage,277,%wParam%,%lParam%,%cnn%,ahk_id %hwnd%;WM_VSCROLL
return

>>232
それとWM_VSCROLLだと▼▲押したときのスクロール量がアプリによって結構違うのも痛いな。
エディタでスクロールさせたら1行毎だったしorz

234名無しさん@お腹いっぱい。:05/01/22 06:55:01 ID:IVaAQ6AX
>>233
v.1.0.24 なのですが、試したところエラーがでました。
235名無しさん@お腹いっぱい。:05/01/22 08:51:08 ID:l3bdjXp0
うpだてしる
これからは 1.0.25以降じゃないと動かないコードたくさん貼られるぞ
236名無しさん@お腹いっぱい。:05/01/22 08:52:32 ID:VfzxxRIk
or(||) って 1.0.25 からかも新米。つか、エラー内容書けよな。
それなら

If (A_PriorHotkey <> A_ThisHotkey || A_TimeSincePriorHotkey > 50)
delta = 120
  ↓
If (A_PriorHotkey <> A_ThisHotkey)
delta = 120
Else If (A_TimeSincePriorHotkey > 50)
delta = 120
237名無しさん@お腹いっぱい。:05/01/23 03:44:59 ID:zRBsWSTG
ネ甲光臨!キター
238名無しさん@お腹いっぱい。:05/01/23 20:53:08 ID:IASoCt9E
なるほろ。ホイール加速は、こうやってするんだ。
239名無しさん@お腹いっぱい。:05/01/24 07:56:25 ID:/7DQuwwj
>>233

unDonutだとマウス下のClasNNが拾えないみたい?
MouseGetPosのあとに

WinGetClass,cls,ahk_id %hwnd%
if (cls == "WTL:Donut")
    cnn:= "Internet Explorer_Server1"

で強制的にコントロール指定したら何とか動いたみたい
XP SP1 v1.0.25.5


PostがだめなアプリもSendやMouseClickはOKみたいなので
アクティブ時はそっち使うようにしてもいいかも
240名無しさん@お腹いっぱい。:05/01/24 17:41:23 ID:TlkEn5+f
1.0.25.06 age?
241233:05/01/26 02:28:05 ID:gpg/BsZT
結局このスクリプトは常用してないなぁ(藁
いちいち対応させるのが面倒でだし。
設定GUI作るのも面倒だ。
242226=239:05/01/27 03:15:59 ID:HYxPJjHm
>>241
お前さんが張ってくれたのと前に手前で作りかけだったのと混ぜ合わせて
今ゴリゴリ作ってまふ。
設定GUIは面倒なんで漏れもあんまマジメに作る気はないんだけど
もうちっと推考したら うpろだのほうに上げてみるわ
243名無しさん@お腹いっぱい。:05/01/27 11:50:05 ID:bTV4MASY
>>242
そうか。適当にガンガッテ栗。できたらどこぞにうpしてくれたら嬉しい。

やっとahkに慣れてきて、今自分用のスクリプト組んでるけど、この構文は正直いって厳しい。

比較や呼び出しに一時変数に格納したり、あとは配列の扱いも…
実質的に仮想配列使えるからいいけどさ。
もっさりしないためにこういう仕様なのかもしれないけど。
if else が多すぎて疲れる。

で、いま作ってるのがマウスが端にくるとdockが出てくる部分で、
LRTBに対して汎用に使える判定部分が↓。
なんとかすっきりさせることが出来たが、さて…

MouseGetPos, x, y, hwnd, cnn
Check_Left := ( x < ( DesktopLeft + Sensitivity ) && DockPosition == "Left" )
Check_Right := ( x > ( DesktopRight - Sensitivity ) && DockPosition == "Right" )
Check_Top := ( y < ( DesktopTop + Sensitivity ) && DockPosition == "Top" )
Check_Bottom := ( y > ( DesktopBottom - Sensitivity ) && DockPosition == "Bottom" )
if( isGuiShow != 1 && Check_%DockPosition% )
{
 DockX := (DesktopLeft-1) * (Check_Right != 1) + (DeskTopRight - DockWidth + 1 ) * ( Check_Right )
 DockY := (DesktopTop -1) * (Check_Bottom != 1) + (DeskTopBottom - DockWidth + 1 ) * ( Check_Bottom )
 DockW := (DesktopRight-DesktopLeft) * ( Check_Top || Check_Bottom ) + DockWidth * ( Check_Right || Check_Left )
 DockH := (DesktopBottom-DesktopTop) * ( Check_Right || Check_Left ) + DockWidth * ( Check_Top || Check_Bottom )
 Gui,Show,x%DockX% y%DockY% h%DockH% w%DockW%
 :
}
244名無しさん@お腹いっぱい。:05/01/27 21:05:50 ID:HYxPJjHm
うーむ、どうやらマウス下ウィンドウのコントロールClassNNが正常に取れないっぽい?
CoordMode,Mouse,Screen
MouseGetPos, X ,Y, OutputVarWin, OutputVarControl

>239でDonut云々書いたけど、MDIアプリの場合、マウスポジション下に
複数子ウィンドウが重なってたりすると最前面の子ウィンドウ上を透過して
下の子ウィンドウ(or MDI親ウィンドウ)のコントロールが入ってくることがある。
最前面かどうか見ないで最初に見つかったモノを返してるっぽい気がする。
V1.0.25.08 NT4SP6 / XP SP1a

っつーわけでMDIアプリのホイール全滅くさい orz
何かうまい対策ないっすかね。
245名無しさん@お腹いっぱい。:05/01/27 21:28:00 ID:bTV4MASY
PnirのIEコンポもそうだし、Beckeyのメールビューとかもそうだし…
おまけに、Janeの板一覧のカラムはVM_HSCROLL送るとスクロールするわで
もう大変で漏れは挫折したんよ。     ~~

コントロールの多層構造をちゃんと把握してるんかいな?と思うときがある。
プニルで>>233試してたとき、全くスクロールしないときがあって何でかな?と思って
他の窓にフォーカス変えて、また戻したらスクロールしたり、と。
やや挙動がおかしいなと思ったことはあった。

窓使いの憂鬱みたく、コントロールの重なりを取得・指定できたらいいんだけど。
たとえば、explorerのアドレスバーなら
 /explorer\.exe:CabinetWClass:WorkerW:ReBarWindow32:ComboBoxEx32:ComboBox:Edit/
みたいに、きちんと取得できるし、指定もできる。

AHKだとEditだったりComboBoxだったりと不安定なときがちらほら…
WIndowSpyはmayuの方を信頼してたりする。

色々出来る代わりに器用貧乏のような感じ。
まぁでもこれからのverうpに期待はしてるけど。
246名無しさん@お腹いっぱい。:05/01/28 00:27:44 ID:8UYayQHr
メールビューって3ペインの右下のこと?
Becky!でホイールトラブったことはないけど。
あとうちのJaneDoeViewだと板一覧はVM_HSCROLLでも無理だったorz
スレ一覧、トレース、スレ欄はOKなのになあ

V1.0.25でifや数値計算あたり楽できるようになったので
自分的にはかなり助かってる。
247名無しさん@お腹いっぱい。:05/01/28 02:27:07 ID:QdYvhzuq
>>246
> メールビューって3ペインの右下のこと?
そう。
AHKのWindowSpyで見ると、ペインの枠ギリギリが DanaEditWindowClass1 で、
その内側の文字のある本文が #327703 。
で、スクロールバーのあたりじゃスクロールしたけど、本文の部分は無反応。

ここまで書いてもう一度試したら、スクロールするし…
と、思ってたらまた動かん…

プニルでもそうだったけど、子ウィンドウの場合、
何回かリサイズすると反応することがあったんで
最大化←→元に戻すを数回繰り返したらまたスクロールできた。

なんだかなぁ…。
248名無しさん@お腹いっぱい。:05/01/29 12:56:44 ID:xE6iTQlw
AHKで、キーを押したときと、離した時を
別のイベントとして拾うのは無理ですか?
249名無しさん@お腹いっぱい。:05/01/29 13:18:18 ID:Peox9sGA
updateおおすぎよ
250名無しさん@お腹いっぱい。:05/01/29 18:36:50 ID:Oy8JVZWq
Version 1.0.25.09
>Launching a script should no longer switch you out of a full-screen application such as a game. In addition, there should be less disturbance/redrawing of the taskbar. [thanks Tekl]
>Improved "Control Choose/ChooseString" to work on multi-select listboxes.
>Added "ControlGet List" to retrieve the contents of a ListBox or ComboBox. [thanks Rajat & mallow]

ZIP配布してくれるようになったのはいいけどソースコードがインストーラ付きのみになったのは
どうしてだろう。それこそZIPだけで良さそうな気がするけど。
251名無しさん@お腹いっぱい。:05/02/05 16:47:48 ID:/8jSk2C8
秀丸でAutohotkeyスプリクトを編集してる人向け Tipsなど
(EmEditorに移行しようと色々見直しているうちに気づいてしまったのだが
これらの機能はEmにはついてないっぽい?)

・Include先ファイルをタグジャンプで一発オープン
  #Include MyScript\hoge.ahk  → NG
  #include MyScript\hoge.ahk  → OK
 ※相対パスもOK ただし"include"は全て小文字でないとダメらしい。

・ラベル(hotkey:: label:) を行の強調に指定する。(正規表現はONで)
  ^[^;\t].[^:^;]*:(;|\t| |$) → 行の強調1
  ^[^;\t].[^:^;]*::.*$    → 行の強調2 にそれぞれ割り当てておく
 :と::で色分けしないなら、^[^;\t].[^:^;]*:.*$ だけでOK

 秀の強調は単純な色分けだけでなくマークアップとしても機能するため
 ・上/下の強調行 でラベル間ジャンプ(Ctrl+↑/↓などに割当てるのがお薦め)
 ・強調表示一覧の枠
 ・ダイレクトタグジャンプ/バックタブジャンプ
 などでCの関数ジャンプみたいな使い方が可能になります。

・サブルーチンへダイレクトタグジャンプで一発移動
  対象ファイル: *.ahk;autohotkey.ini ルール:自動で tagsファイルを作成すると
  Gosub,hoge でダイレクトタグジャンプすると hoge: に飛んでくれる
  hoge:でバックタグジャンプすると Gosub,hogeに戻ってくれる

・あと 前/後の編集マーク をAlt+↑↓などに割り当ててとくと便利かも
 変更された行(行番号が太字のところね)に素早く移動できます。
252名無しさん@お腹いっぱい。:05/02/05 18:27:29 ID:GB3uux10
>>251
> これらの機能はEmにはついてないっぽい?)

ないよ。ラベルジャンプとかはマクロ(wsh)で強引にやろうと思えば出来るけどキー割付も面倒だし非現実的。
↑の機能が常用してるものなら乗り換えはよした方がいいんじゃない。
253名無しさん@お腹いっぱい。:05/02/05 22:02:55 ID:/8jSk2C8
>>252
情報サンクス、結構本気で乗り換える気だったんだけど、どうしようかな
一応Em軽く使ってみて秀より良いなと思った部分も揚げとくね

・AutohotkeyのパッケージにEm用の強調言語ファイルが含まれているので
 自分で一から強調言語育てていかなくていい。

・範囲コメント /* */ と 行コメント ; を混在できる(秀はどちらかしか選べない)

・強調文字列カラーを9種類指定できる
(秀は強調4、特に強調2、行の強調2、しかも;をコメント色にするのに1個潰してる orz)

・検索文字列のハイライト

・ファイル別の設定を、標準からの差分って形で指定できるのがスゴク(・∀・)イイ!!
254名無しさん@お腹いっぱい。:05/02/05 22:50:54 ID:GB3uux10
まるおエディタが行コメント、範囲コメント共存不可なのね。俺的には致命的かも。

外部ファイルから強調語インポートできるんならAHK公式からスタイルファイル落として
やればいいとおもうけど。単なるテキストファイルだから。

レジストリならそれこそAHK使って書き込むのも手か?w

まぁEmユーザが増えると嬉しいけど、慣れた環境を変えるのは結構大変だと思うしねぇ…
wshを割と使ってるならマクロは取っつきやすいとは思う。とはいってもperlやrubyは対応してないけど。

サブルーチンジャンプかぁ。いいねぇ。画面分割と行ブックマークとでなんとかやっていけるけどね。
あと、AHK公式のスタイルにラベル強調はいってないから
 ^\s*\w+:{1,2}(?!=)
って感じで行を強調表示してラベルとしての視認性上げてるくらいかな。
255名無しさん@お腹いっぱい。:05/02/09 21:31:54 ID:YiiBiFhj
ネタねぇなw

保守がてらチラシの裏にでもするか。
ahkあると単機能ツールのいくつかはいらなくなるな。
- 単純に
- SendToにぶち込んでファイルのパスを取得してClipboardに入れるやつ
- 同じくSendToから呼んで任意のフォルダに移動させるやつ。
- メモ帳トラッパー(Notepad.ahkをコンパイルして %systemroot%へ)
- 常駐してexploreの表示状態を特定のモノにさせるやつ
- キーを送るやつ
- キーボードで音量変えるツールやコマンドラインから音量変更するツール
- コマンドラインから電源落としたりサスペンドさせたりさせるやつ

ガンガレば代替させられるかもってやつは
- クリップボード履歴(テキストオンリー)
- WheelRedirect(漏れの作ったヤツは動きが怪しいがw
- マウスジェスチャ
- ランチャ

とはいっても、タスクトレイのアイコンは全く減っていないのだがw
256名無しさん@お腹いっぱい。:05/02/09 22:04:03 ID:+BvhVzSI
そこまでやるのしんどいから使いなれた常駐物で済ましてるな
257名無しさん@お腹いっぱい。:05/02/09 23:03:19 ID:j0sSGMTU
漏れは主に常駐メインで
 ・ タスクバーと重なったら押し戻す
 ・ キーボードで WinMove/Resize/Snap
 ・ qdirもどき
 ・ Windowシェード
 ・ RedirectWheel

ホイールは Ver1.0.25.10で MouseGetPosにオプション追加してもらったので
ガンガレば結構まともに動作するものが作れそう。
ただセッティング部分作り込むと手抜きでもメンドイがなl

非常駐物は(スクリプトの性質上)どうしても起動が遅いのがネックかなぁ
環境変数セットして指定のexe起動とかできるので、batの代わりに使おうと
思ってた時期もあったんだけど。

> - 常駐してexploreの表示状態を特定のモノにさせるやつ
TTBaseのプラグインなんかにあったやつみたいのかな? よければ詳細キボン
258名無しさん@お腹いっぱい。:05/02/09 23:30:51 ID:YiiBiFhj
>>257
CabFixer や SetDetail とかに相当するやつ。
TTBaseだと、Explore Contかなぁ…。
SetTimer で窓監視のプロセスを入れて、explorer なり開くダイアログだったりしたら
Send でキー送るなり、 PostMessage するなりして詳細表示にしたり窓位置・サイズを変えたりする。

TTBaseといえば、TTBaseのプラグインって殆どAHKで実現できるのが多いね。

そういえば、SysMenuとか閉じる([X])ボタンとかってクラス指定してトラップ出来る?
259名無しさん@お腹いっぱい。:05/02/10 00:09:10 ID:tmo7SMWV
>>257
まとめたい機能がいっぱいだ…よければ流行らせるあぷろだで投稿してほしい
260名無しさん@お腹いっぱい。:05/02/10 06:42:52 ID:9tWJp67z
>>258
[X]は漏れはMouseGetpos & SysGet でポジションチェックしてる
SysMenuはタイトルバー右クリック時に Alt送ってキャンセルとかくらい。
SysMenu自体を操作する方法は不明、つかメニューへのPostって全然わからん
エクスプローラ制御でも Send, !fwfとかやってるし orz
CabFixer とかは具体的に何送って制御してんのかな

漏れはahk始めるにあたってTTBaseのパクリから始めてるので(w
Autohotkeyはああいう小物系は結構いけるね

>>259
一度にあちこち手をつけてしまったので、どれも実装が中途半端なんよ。
もうちっと整理してたら少しずつあげてみる。
261名無しさん@お腹いっぱい。:05/02/10 16:25:42 ID:rgpCohSH
猫まねきや窓使いの憂鬱みたいに
キーボード置換をメインに考えているんだけど、
そういう意味でこのソフトウェアの機能・使いやすさはどうですか?
262名無しさん@お腹いっぱい。:05/02/10 16:50:17 ID:edREmXl6
そういう用途ならmayuの方が融通が利く
なんか扱いが難しいから使ってないけど。
263名無しさん@お腹いっぱい。:05/02/10 16:57:18 ID:FJ4sb5nK
>>261
やりたいこと次第かねぇ。単純にキー入れ替えだけなら、レジストリいじるだけってだけでも実現出来るし。

猫まねきは知らんから繭とAHKの比較だけ書く。
窓ごと、もしくはコントロールのクラスごとに動作を指定したいっていうんなら、結論から言えばどちらでも出来る。
手間さえ惜しまなければ、どちらも2ストロークキーや任意のキーをモディファイアキーにしたりも出来る。
↑を、踏まえた上で、


○ 正規表現を用いた窓・クラス判定が出来る。コントロールの重なりも考慮されている。
○ ドライバレベルでの実装のため他のアプリに制御が来る前にキーをトラップできているので
  あらゆるアプリでのキーバインド変更が可能。(無理なヤツもあるかもしれないけど漏れは知らない)
○ 国産ソフトなので、IMEのon/offや変換中かどうかなどでも挙動を変えることが出来る。
○ キーバインドに特化したソフトなので、AHKよりは定義ファイルをいじるのが楽かも(人によるとは思う)。
○ 様々な日本語入力メソッド(AZIK,さくら,TCodeとかか?よく知らんけど)に対応した定義ファイルが出回っている。
○ Unix使いだった人は幸せになれるかも。
×標準ドライバでないキーボード・マウス(PS/2)ドライバの場合うまく動作しないことがある。
×AHKと比較での話だが、単なるキーバインド変更ソフトなのでそれ以上のことは無理。
  (外部でWSHなどと連携という手はあるが、色々限界はある)

AHK
○ キーだけでなく、マウス・ジョイステックにも対応。
○ スクリプトなので複数のアクションを定義したり、条件分岐したりも可能。
○ 内部のスクリプトでかなりのことができる。単機能ツールをわざわざ呼び出すまでも無く色々できる。
○ ↑と絡むが、GUIを作成出来るのでユーザに処理を聞いたりも出来る。(MsgBoxなど)
△ なんでも出来る代わりにいちいち全てを自分で書く必要がある。これは柔軟性とのトレードオフか。
× 国産でないので、日本語処理が面倒なことがある。ドキュメントは英語。>>1から和訳は見られる。
× ソフトウェアレベルの実装なので、うまくキーを拾えない事がある。

漏れ的には…繭は外せないって結論になったけどね。
264名無しさん@お腹いっぱい。:05/02/10 17:03:40 ID:FJ4sb5nK
>>262が的確だなorz

ま、もうちょい補足するなら…
繭はアプリ起動と窓操作(最大化・最小化・移動など)はデフォで出来る。
あと、プラグインで多少の機能拡張は可能。

ahkはexe化してUSBメモリとかに入れればすりゃどこでも同じ環境にできるってのは
場合によってはかなりのアドバンテージかと。管理者権限のないPCでつかうとか。
265261:05/02/10 20:07:49 ID:rgpCohSH
とても参考になりました。詳しく書いてくれてどうもありがとう。
現状は mayu を UNIX 風キーバインド+窓ごとのいくつかの拡張
の目的で使ってるんだけど、機能上不満はないものの、
ロジマウスやタッチパッドの関係で動作が不安定なときがあるので、
代替として考えてました。
思った以上に高機能な感じですが、単なるキー入れ替えソフトでないので
結構カスタマイズに時間がかかりそうですね。
>>263 さんは mayu と併用してるような感じなので、
とりあえずどんな感じかみるために自分も併用してみます。
266名無しさん@お腹いっぱい。:05/02/10 21:18:45 ID:kQvb6Eld
$!f::
IfWinExist, Untitled - Notepad
WinActivate
Else
Send,!f
Return

こんなようなものを書いたんですが(これは例ですが)、
メモ帳が存在しないときにアクティブなウインドウの
メニューを開くためAlt+Fキーを押すと、
メニューバーが一瞬開かれてすぐ閉じてしまいます。
ElseのあとをSend,{ALTDOWN}f{ALTUP}とかSend,!f{DOWN}とか
いろいろやってみたのですがうまくいきません。
上記のような書き方は間違っているのでしょうか?対策はありますか?
267名無しさん@お腹いっぱい。:05/02/10 21:59:23 ID:59RYRQ/z
うちですぐ閉じちゃった奴は Send,{AltDown}f
でとりあえず開いたままになったけど
268名無しさん@お腹いっぱい。:05/02/10 22:13:11 ID:S3XrzDJY
>>266 SetKeyDelay, 0, 100 位をセットする手もあるよ。
269名無しさん@お腹いっぱい。:05/02/10 23:26:31 ID:FJ4sb5nK
>>265
スレ違いだが、繭は路地みたいなマウスドライバ入っているとうまく動かないことがあるよ。
つーのも、PS/2(丸いコネクタ)キーボードのドライバはマウスドライバも同時に置き換えるため。
270名無しさん@お腹いっぱい。:05/02/11 06:48:00 ID:K4M+p0g+
ロジマウスといえば、logigamer という、アプリによって
ボタンの役目を変えられるソフトがあるんだけど、
その代用になるね。
ただマウスの速度とか加速の on off はかえるの無理かな。
271名無しさん@お腹いっぱい。:05/02/11 07:53:13 ID:zCbMdsu2
1.0.26 キター。
ImageSearchなるものが追加された模様。
UWSCにあるやつみたいなやつか。
272253:05/02/13 04:14:27 ID:pHsNHbEE
亀ですが秀丸用の強調キーワードファイル作成スクリプト作ってみた(マルチスマン)
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/72


>>254
>まるおエディタが行コメント、範囲コメント共存不可なのね。俺的には致命的かも。
C++の // と /* */なんかは共存してるんだけど、自分で任意のコメント文字列を
指定できないんだわ

って一週間前のに今ごろレスつけるなってか、スンマセン
273名無しさん@お腹いっぱい。:05/02/15 00:31:14 ID:cubZjBBM
互換シェル(bbLean)にしたら、WinMaximizeが効かなくなった…
まぁ、プラグイン(bbKey)でなんとかなるから実害はないけど。
274名無しさん@お腹いっぱい。:05/02/16 09:39:39 ID:xlmo16wv
>>272 GJ!
これで秀丸でAutoHotkeyの作業がしやすくなりました。
275名無しさん@お腹いっぱい。:05/02/17 07:56:24 ID:5vdDHO9h
>>274
(・∀・)人(・∀・)ナカーマ
お役に立てたなら幸いです。
ただ秀は次期バージョンで強調回り見直されるみたいなので
hilightのフォーマット変わっちゃわないかちと心配
276名無しさん@お腹いっぱい。:05/02/17 10:19:56 ID:BmIzG9Cz
AutoHotkey\bin\Extras\Editors\Syntax内のテキストの活用方法とか
自動補完のついてるエディタだと補完辞書として使えるので便利そうだ

EmEditor
AutoCompletmentプラグインで自動補完が利用できる模様
CommandNames.txt, Keywords.txt, Variables.txt, Keys.txtをインポートすればOK

サクラエディタ
本体の機能で利用可能 (タイプ別設定-支援-入力補完機能)
単語ファイルの指定は1個だけなので上の4ファイルを一つにまとめとく必要あり

秀丸
ConpleateXマクロで利用可、詳しくは>272のリンク先参照

xyzzy
abbrevとかdabbrevとかが補完に相当する機能らしい。
lispわからんので詳細は不明

TEditor系
よくわからんが j( ゚ー^) WSH補完クン とかでは対応不可なんだろうか
某管理人氏がVxEditor使いらしいので、いづれ改善されるかも?
277名無しさん@お腹いっぱい。:05/02/19 01:24:56 ID:mIyGUGqk
VxEditorは富強に補完スクリプトがあるよ
278名無しさん@お腹いっぱい。:05/02/19 08:16:04 ID:IvxF9ZIH
>>277
ほんとだ、さすが布教に力入れてるな
279名無しさん@お腹いっぱい。:05/02/20 09:01:57 ID:hZXd8E5l
おいこれいいじゃないか!
ホットキーなんていらねーよと馬鹿にしてたが、
柔軟なカスタマイズ性と多機能性に驚いた。
CD のトレイの開け閉めまでできるとは気に入った。
何がしたいというのが今あるわけではないが、
いろいろできそうなので夢がひろがリング。
常駐メモリもいまどきにしては少ないし。
280名無しさん@お腹いっぱい。:05/02/20 20:23:31 ID:MdNanBr/
色々出来る器用貧乏のような気がしないでもないがね。
WSHでやっていたSendkeyなんてもう使えない罠w
281名無しさん@お腹いっぱい。:05/02/22 17:50:24 ID:cXH8xJI+
Craftとあふの連携でとりあえず満足していたがまたりと導入してみよう。
282名無しさん@お腹いっぱい。:05/02/22 20:38:16 ID:PD8t1uHl
>>281
漏れもその組み合わせで満足してるなあ
なんか便利な使い方あったら教えてくれ。オレも試してみよう
283名無しさん@お腹いっぱい。:05/02/23 08:01:10 ID:4rvGJl80
1.0.28 age
個人的に目を引いたのはahk_pid とキーUpイベントサポートかな

mButton up:: tooltip, up
mButton:: tooltip,down

マウスUpで使えばドラッグキャンセル考えなくて良くなりそう
単独ShiftとCtrlは元々Upのタイミングで発生してたから
Downタイミング取れないみたいだけど
284名無しさん@お腹いっぱい。:05/02/23 08:14:11 ID:2IuRi11H
ダブルクリック実装してくれたらX Wheelから乗り換える。
285名無しさん@お腹いっぱい。:05/02/23 16:34:51 ID:MMQLMyS+
キーうpきたかー。
これでCapsLockをCtrlに交換しつつCapsLock自体にも機能を割り当てられそうだな。

>>284
具体的に何をしたいのか知らんけど出来るよ。
286名無しさん@お腹いっぱい。:05/02/24 08:48:27 ID:ACcSVAV2
>>285
>>284じゃないけど実装されてたっけ?
287名無しさん@お腹いっぱい。:05/02/24 09:46:55 ID:NHWbTL8C
ホットキーイベントとしてはない
key double tapの要領でやればそれっぽい事は可能だが
ドラッグやシングルクリック時の処理も入れ込んでやらないといけないし
結構面倒だと思う

>>285
Lockキー系はGetKeyStateでもキーUP状態拾えなかった気がするが
その辺改善されたんだっけ?
288名無しさん@お腹いっぱい。:05/02/24 10:59:51 ID:ACcSVAV2
>>287
それは知ってるけど
それじゃ実装されてるとは言わないよ
289名無しさん@お腹いっぱい。:05/02/24 13:30:34 ID:NHWbTL8C
いや、漏れ 285じゃないから
むしろ突っ込みのつもりだったんだが
290名無しさん@お腹いっぱい。:05/02/24 13:33:57 ID:gaFKcV1V
外人さんは Ctrl と CapsLock 入れ替えるような
使い方しないのかな。
デスクトップはともかくノートでは入れ替えないと
どうしようもなく使いにくいと思うんだけど。
291名無しさん@お腹いっぱい。:05/02/24 14:23:01 ID:n7Bra6jx
NECとか国産のPCは昔はAの隣がCtrlなのが多かったな。
いま主流のキーボード(A脇CapsLock)はIBMのが元だからでないのかねぇ。
いまだにPC/AT互換機とかOADG仕様とかいってるわけだしw
292名無しさん@お腹いっぱい。:05/02/24 16:02:05 ID:WfkWbapB
>>285
流行らせるページの中の人によるとうまく行かないらしい

*CapsLock::Send,{LCtrl Down}
*CapsLock up::Send,{LCtrl Up}
293名無しさん@お腹いっぱい。:05/02/25 07:50:31 ID:9fVCmr3G
ここができないとキー入換えしたい派は絶対取り込めないだろうから
そこが惜しいね

個人的にはCtrlの位置は慣れちゃったから別にいいんだけど
滅多に使わない割にいい位置にあるCapsLockは有効活用したいかな
294名無しさん@お腹いっぱい。:05/03/01 15:22:58 ID:LDpcqQ8b
1.0.29出てるんで一応age
295名無しさん@お腹いっぱい。:05/03/01 17:39:44 ID:Yu0urGxO
Fixed key-up hotkeys to work on the neutral keys Control, Shift, and Alt. [thanks jonny]
キタ━━━━━(゚∀゚)━━━━━!!!!
296名無しさん@お腹いっぱい。:05/03/01 19:52:36 ID:0lYdByr/
ClipboardAll ついにキタ
種類とかは見れないみたいだから一時待避の復旧以外はあんまり役にたたんのかな?
でも これでSend, ^c で選択文字列をどうにかしたあとは完全復旧できるようになった。
297名無しさん@お腹いっぱい。:05/03/03 18:24:49 ID:un1waaJf
Tww = WindowsForms10.Window.8.app45;ウィンドウクラス名
Twc = WindowsForms10.SysTabControl32.app451;タブのクラス名

$WheelUp::
IfWinActive,ahk_class %Tww%
MouseGetPos,,,,cn
IfEqual, cn, %twc%
Send,{F2}
return
return

$WheelDown::
IfWinActive,ahk_class %Tww%
MouseGetPos,,,,cn
IfEqual, cn, %twc%
Send,{F3}
return
return

2chブラウザのtwintail2でホイールによるタブ切り替えを実装するために上のようなコードを
書いたんだけど、この条件を満たさないときにWheelUp&Downをそのまま送る様にするには
どんなコードを追加すれば良いのん?
一応環境書いておきます。 XP Pro sp1 AHK 1.0.29
298名無しさん@お腹いっぱい。:05/03/03 19:05:20 ID:kvG2gIbi
IfWinActive,ank_class %Tww%
hoge
else
Send,{WheelDown}
return
299297:05/03/03 20:05:42 ID:un1waaJf
>>298
レスd
自分もそれと似たようなコードを書いて、elseに対応するifが無いぞというエラーが出るので
どうしたもんかと思ってたんですが、どうやら原因はreturnを入れすぎていたことみたいっす。
if文の後には必ず書かなきゃいけないと思い込んでました。
ということで、正常に実行できたスクリプトも後学のために貼っておきます。
もっと効率の良い書き方があったら教えて下され。

Tww = WindowsForms10.Window.8.app45
Twc = WindowsForms10.SysTabControl32.app451

$WheelUp::
IfWinActive, ahk_class %Tww%
MouseGetPos,,,,cn
IfEqual, cn, %Twc%
Send,{F2}
else IfWinNotActive Or IfNotEqual
Send,{WheelUp}
return

$WheelDown::
IfWinActive, ahk_class %Tww%
MouseGetPos,,,,cn
IfEqual, cn, %Twc%
Send,{F3}
else IfWinNotActive Or IfNotEqual
Send,{WheelDown}
return
300名無しさん@お腹いっぱい。:05/03/03 20:19:53 ID:kvG2gIbi
if を重ねる場合、
{} で囲んだほうが見通しがよくなりそうです。

あと return は if に必要なのではなくて、
WheelDown:: <-この Hotkeys というサブルーチンに必要らしい。
http://lukewarm.s101.xrea.com/Hotkeys.htm
私も今日から始めたばかりでまだよくわかってないのですが。
301名無しさん@お腹いっぱい。:05/03/03 23:09:49 ID:pNhpP8Ks
>299
>IfWinActive, ahk_class %Tww%
>MouseGetPos,,,,cn
>IfEqual, cn, %Twc%
>Send,{F2}
この書き方だと アクティブウィンドウがツインテールじゃないときも
IfEqual, cn, %Twc% 以下を実行してしまうので{}で括ったほうがよい

WheelUp::
WheelDown::
  /* フォーカスがツインテールのタブ上にある時は特殊処理 */
  IfWinActive, ahk_class %Tww%
  {
    MouseGetPos,,,,cn
    IfEqual, cn, %Twc%
    {
      ifEqual A_Thishotkey, WheelUp,  Send,{F2}
      Else                   Send,{F3}
      return
    }
  }

  /* それ以外は普通にホイール */
  Send,{%A_Thishotkey%}
return


>else IfWinNotActive Or IfNotEqual
これはちょっとわからん、つかこんな書き方ってできるんだ? エラーにならんのか
302297:05/03/03 23:51:23 ID:un1waaJf
どうにも初スクリプト書きなんで駄目駄目っぽい(ノ∀`)
>>300
>WheelDown:: <-この Hotkeys というサブルーチンに必要らしい。
そう、それを勘違いしてました。

>>301
うまく動きました。dクス
{}の位置を間違えていたために、エラーが出てしまっていたので付けてませんでした。
C言語より改行やスペースの扱いが難しい…
んで、else IfWinNotActive Or IfNotEqualについてですが、
何か適当にこう書いたらうまく実行できたのでこんなもんなんかなぁと。
自分も何かおかしいとは思うんですが。エラーは出てません。
303名無しさん@お腹いっぱい。:05/03/04 08:59:22 ID:uefmjTOg
else if 〜 ってよくやると思うんだが…

if (A_ThisHotkey == "〜")
 Send, boo
else if(A_ThisHotkey == "〜")
 Send, foo
else
 Send, woo

case とか switch が使えたらなぁと想うけどね。
304名無しさん@お腹いっぱい。:05/03/04 14:38:59 ID:Oc3Rm3dE
The list of upcoming/planned featuresの真ん中らへんに書いてある
305名無しさん@お腹いっぱい。:05/03/04 14:39:50 ID:Oc3Rm3dE
書き込み失敗 orz

swicth caseは実装予定だよ
The list of upcoming/planned featuresの真ん中らへんに書いてある
306名無しさん@お腹いっぱい。:05/03/04 14:43:43 ID:dB30m37W
最近のverUpが激しすぎてついていけね('A`)
307名無しさん@お腹いっぱい。:05/03/04 19:08:21 ID:OEKBkDdb
>>303
else ifはもちろんアリだが

If
If
else If Or If
なんて書き方が許される言語は初めてだよ…
それとも漏れが使ったことないだけでCとかでも有効なのか?
308名無しさん@お腹いっぱい。:05/03/04 19:40:58 ID:e4NFsNEk
許されるというよりエラーにならないだけで
意味を成してないんじゃないの。
309名無しさん@お腹いっぱい。:05/03/06 20:21:39 ID:AW1SbXpt
ミュートのオン・オフをしたい場合どうすれば良いのでしょうか?
310名無しさん@お腹いっぱい。:05/03/06 22:35:58 ID:cKyBT7/p
Volume_Mute

を割り当てる。
311名無しさん@お腹いっぱい。:05/03/08 05:33:51 ID:6FRIf7CS
1.0.31 - March 7, 2005

1.0.30 - March 5, 2005
312名無しさん@お腹いっぱい。:05/03/09 10:29:07 ID:uGDZfkjI
流行らせるページの日本語リファレンスに
「タイマーは、前回のスレッドが開始されたときから指定時間後に次が実行されるので、
スレッド終了後から一定時間経過後に次回を実行したい場合、サブルーチンの最初で
いったんタイマーをOffにして、サブルーチンを抜ける前にOnにしなおす必要がある。」
ってあったけど これは管理人さんの解釈なのかな
下の書き方だと待たずに速攻で再起動されてしまうみたいなんだが。
WinNT4 SP6 / ahk ver 1.0.30.01

;2.5秒(+?) かかるルーチンを 2秒アイドルごとに実行しようとしたサンプル
#SingleInstance FORCE

SaveTime = %A_TickCount%
Settimer,Test1,2000
return

test1:
Settimer,Test1,OFF

reStartTime := (A_TickCount - SaveTime)
Tooltip, %reStartTime%ms後にタイマ起動したよ

Loop,10
Sleep,250

Tooltip,
SaveTime = %A_TickCount%
Settimer,Test1,2000
return

~ESC:: ExitApp
313名無しさん@お腹いっぱい。:05/03/09 14:50:01 ID:ctwchlzf
確かにSetTimerやり直してもカウントはリセットされないな
314名無しさん@お腹いっぱい。:05/03/09 21:36:44 ID:ZGkl9BBi
1.0.31導入。
XButton1とXButton2をShift, Ctrlに割り当ててるのを key up で書き直した。
だいぶすっきりした。
でもダブルクリック検出させるときは A_Priorkey に key up の方が入っててちとハマった。

で、うまくいってたんだが。ちと調子が悪いときがある。

自前のマウスジェスチャー搭載のソフト(JaneやSyleraなど)を利用しているとき、
AHK、上記のソフト、およびマウ筋のいずれかのアクションが認識されないことが多々あった。
3つのうちどれが反応しなくなるのは毎回違う。
リロードしたりソフトを再起動させたりプロパティ開いて閉じたりしているうちに治る。
起動順を変えてみたりしたんだがいまいち原因がつかめない。
3つのマウスジェスチャーで重複するような設定は無いんだけどなぁ。
315名無しさん@お腹いっぱい。:05/03/09 23:55:39 ID:dJxxIXJc
フックの問題じゃね?
316名無しさん@お腹いっぱい。:05/03/17 22:37:45 ID:0n8rPfUR
S and S がうまくいかねぇ。
あ、いや、別に常用するわけじゃないんだが、なんとなくやってみたくて。
ごり押しなら可能なのは分かるんだが、スマートに実現出来んもんか…
317名無しさん@お腹いっぱい。:05/03/18 06:41:36 ID:dqftPDrk
こんなのみつけた

> tp://limz80.at.infoseek.co.jp/program/old_ctrl.html

> グローバル・フックという Windows の機能を使用して、CapsLock キーの挙動を見てみた事があるのですが、
> このキーは特殊な扱われ方をしているらしく、普通のアプリケーションやサービスでは
> 「キーが押された事は分かっても、キーが離された事は分からない。ついでにキーが押され続けている事も分からない。」キーです。
> キー入力を司る何かのデバイス・ドライバ (多分 IME…ひょっとしたらキーボード・クラス・ドライバや日本語 106 キー・フィルタ・ドライバかも) が
> このキーの入力に手を加えているのでしょう。


ctrl と capslock の入れ替えは日本語Windowsでは無理っぽいな。
AutoHotKeyのページのChangeLog 1.0.26 で、capslock のサンプルが載っていることから、
多分英語Windowsでは使えてるんだろうな。

俺はAutoHotKeyを起動しているときだけのキー入れ替えは諦めた。
レジストリでキーマップ変えてる。
318名無しさん@お腹いっぱい。:05/03/18 07:47:32 ID:5gcuaKn5
入換えは別にいいんだけど(ctrlの位置は慣れちゃったし)
ベストポジションに使いもしないキーがあるのは勿体ないんだよね
>317のリンク先のヲサンも書いてるけど何とか活用したかったんだが、残念

>>316
S and S ってなんだ?よくわかんね
LShift & RShiftってことか?
319名無しさん@お腹いっぱい。:05/03/18 07:53:24 ID:HD7sW+cf
S and S は Space & Shiftの略。
Spaceキー普通に押して離したらA_Space出力
押しっぱなしで、他の文字キー押すときはシフトキーの働きするヤツ。
320名無しさん@お腹いっぱい。:05/03/18 09:10:22 ID:pvMfLqSV
GUIのeditboxってIMEの変換中に一文字しか表示されないんだけど回避方法しってるやつ居る?
INPUTBOXは大丈夫なんだけど…
321名無しさん@お腹いっぱい。:05/03/18 14:10:35 ID:/hDSORYt
>>319
Space Up:: Send,{Space}
Space & a:: Send,+a
Space & b:: Send,+b
Space & c:: Send,+c

みたいな?
CapsLock ONの状態でも大文字出力になっちゃうけど
(うちの環境だとCapsONで Send,+A しても小文字出力にはならなかった)
322名無しさん@お腹いっぱい。:05/03/18 23:27:08 ID:edlHxfYp
解説が足りなかったな。俺も入れ替えはしてないよ。
CtrlはそのままでCapsLockを色々活用してる。
具体的に言うと、CapsLockと変換キーをレジストリで入替えて、
スクリプトは変換キーで書く。
こんな具合 ↓

1. まずこれをダウンロード
tp://homepage2.nifty.com/winfaq/w2k/capsctrl.reg

メモ帳などで開くと、 1d となっている箇所が2箇所あるので、
この値を2箇所とも 79 に書き換える。

2. 保存したファイルを実行すると、レジストリに取り込まれる。

3. Windowsを再起動 (再起動後はCapsLockと変換キーが入れ替わっている。)

4. スクリプト例

sc079 & $j::Send,{Left}
sc079 & $m::Send,{Return}
sc079 & $c::Send,^c
sc079 & $v::Send,^v

大文字固定/元に戻す がShift + 変換 だから注意。
他の人がPC触るときは、レジストリの該当値を削除して再起動の必要あるが、
大文字に固定する人はあまりいなそうだからそんなことしなくても気づかれないかも。
変換キー使う人は他のキーに変えればいいだろ。
レジストリは正しく使えば別に問題ないから毛嫌いしなくてもいいだろ。
キーボードドライバいぢってそうな訳分からんソフトいれるよりいいと思う。

323名無しさん@お腹いっぱい。:05/03/18 23:37:41 ID:PTrOH4Hy
GPLなんだし、
そこらへんの日本語環境特有のバグをフィックスしたAutoHotKeyJPみたいなのキボン…
324318=321:05/03/19 00:09:58 ID:pX2qc26u
S and S、結構おもろいかも

aList=1|2|3|4|5|6|7|8|9|0|-|\|q|w|e|r|t|y|u|i|o|p|@|[|a|s|d|f|g|h|j|k|l|;|:|]|z|x|c|v|b|n|m|,|.|/|Tab|Enter|Esc|BS|Del|Ins|Home|End|Pgup|Pgdn|Up|Down|Left|Right|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12
aList=%aList%|sc00D  /* ^ */
aList=%aList%|sc073  /* 右下 \ */
Loop,Parse,aList,|
  Hotkey, Space & %A_LoopField%, SandS
return

SandS:
  Loop,Parse,A_ThisHotkey,%A_Space%
    ifEqual A_index,3, SetEnv,Key,%A_LoopField%
  StringLen, len, key
  ifNotEqual,len,1,  SetEnv,key,{%key%}
  GoSub, ModifierKeyCheck
  Send,%modifier_key%%key%
return

ModifierKeyCheck: /* 同時押し修飾キーチェック */
  modifier_key = +  /* Shift */
  GetKeyState,work,Ctrl,P
  ifEqual,work,D, SetEnv,modifier_key,^%modifier_key%
  GetKeyState,work,Alt,P
  ifEqual,work,D, SetEnv,modifier_key,!%modifier_key%
  GetKeyState,work,LWin,P
  ifEqual,work,U, GetKeyState,work,RWin,P
  ifEqual,work,D, SetEnv,modifier_key,#%modifier_key%
return

Space Up:: Send,{Space}
325名無しさん@お腹いっぱい。:05/03/19 00:40:14 ID:pX2qc26u
>>322
レジとAutohotkeyの2段がまえにするのね。詳しい解説サンクス
つかその方法 前に昔流行らせるページに書込んでたわ 漏れ
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1095764510/12

結局入換えできる(使ってない)キーがなくて断念したような
キーボードに存在してないF13〜F20とかを割り当てられると良かったんだけど
レジ弄ってキーボード入換える系のフリーソフトでは見当たらなかった。

F12が sc058 だから、sc059 あたり割り当てればいいのかな…
貰った capsctrl.reg 弄って試してみるわ、アリガトン
326名無しさん@お腹いっぱい。:05/03/19 00:53:16 ID:39aRjgDj
>>323
>>263をみればわかるように、AutoHotKeyはドライバレベルの実装ではないと思う。
だから、原理的に無理だと思う。
ドライバ書くしかないし、書けても新しいIMEでたらまたドライバ書き直し(多分)。
きちんと書かないと、ノートパソコンなどで使ったときに下手するとOSハングアップするかもしれん。
327名無しさん@お腹いっぱい。:05/03/19 02:07:27 ID:w+azIIRZ
そこで繭と合流
328名無しさん@お腹いっぱい。:05/03/19 03:15:23 ID:rSCP/6b2
タスクトレイすっきり化計画はなかなか上手くいかないなw
329名無しさん@お腹いっぱい。:05/03/19 05:35:11 ID:uC3uGflC
autohotkey みたいなスクリプト的な拡張はともかく、
単なるキーボード入れ替え機能は windows で提供してくれても
いいと思うねえ。X なんか実際ユーザーレベルで変えられるんだし。
330名無しさん@お腹いっぱい。:05/03/19 21:27:33 ID:UeNuGxMr
>>321,324
そうそう、そんな感じ。
一部の人にはキーカスタマイズソフトではコレができるか否かが肝になるらしい。AHK布教にはいいかなと。
繭では One Shot Midifier ( modifer = 広義のシフトキー ) と言う機能で一発登録できる。

>>329
ユーザにカスタマイズさせない方向に持っていきたいのがM$でしょ。
331名無しさん@お腹いっぱい。:05/03/20 12:33:32 ID:RSTZJfjG
S and S に興味が有って >324 をコピペしたんですが
エラーになってしまいます。何故?他の人は大丈夫だったんですか。
332324:05/03/20 16:19:31 ID:DfvGvyZp
全角スペース → 半角2スペース

あとスレに張るのに行コメント ; だとわかりにくいんで範囲 /* */ にしたんだけど、
/* 同時押し修飾キーチェック */ と /* Shift */ がエラってるっぽい
→ 行コメント ; (半角セミコロン) へ置換えてクレ
333名無しさん@お腹いっぱい。:05/03/20 19:02:49 ID:uMhXOhSW
あぁ、何となく思いつきでやってみたら出来たわ。数分で書いたスクリプトだから色々詰めなきゃいけない所はあるけど。
本来ならShiftDownの間にいずれかのキーが押されてなきゃSpace吐くようにしたいんだけど
「どれでもいいからキーが押された」ってことを拾えない(漏れが知らない?)んでキャレットが動かなきゃSpace吐くってようにした。(つまりバグは内包してる。)

; S and S
Gosub,InitCaret
Space::
 if(CX == -9999 && CX == -9999)
 {
  CX := A_CaretX
  CY := A_CaretY
 }
 Send, {ShiftDown}
 return
Space Up::
 Send, {ShiftUp}
 If(CX == A_CaretX && CY == A_CaretY)
 {
  Hotkey,Space,off
  Send,{Space}
  Hotkey,Space,on
 }
 Gosub,InitCaret
 return
InitCaret:
 CX := -9999
 CX := -9999
 return

334名無しさん@お腹いっぱい。:05/03/20 19:06:22 ID:uMhXOhSW
行頭インデント全角スペースの方が分かりやすいね orz
335名無しさん@お腹いっぱい。:05/03/20 20:46:35 ID:DfvGvyZp
>どれでもいいからキーが押された
漏れも最初Inputでいけそうな気がして軽く試してみたんだが
Spaceのキーリピート発生しちゃうのとEndKeyを ShiftUpに指定できないので諦めた
うまいこと設定してやれば使えるのかも知んないけど
336名無しさん@お腹いっぱい。:05/03/20 20:47:43 ID:DfvGvyZp
× EndKeyを ShiftUpに
○ Space Up をEndKeyに
337名無しさん@お腹いっぱい。:05/03/20 23:59:53 ID:uMhXOhSW
よく見たらひどいスクリプトだなぁ。CXとCYのつもりだったが…
推敲はするもんだねorz
338名無しさん@お腹いっぱい。:2005/03/21(月) 19:38:15 ID:3lfi8roc
>>337
推敲したやつを是非!
339333:2005/03/21(月) 19:58:02 ID:5M52dZ2k
>>338
あぁ推敲っていっても>>333そのままでも動くと思うけど、訂正点は、

4行目
if(CX == -9999 && CX == -9999)
     ↓      ~~~
if(CX == -9999 && CY == -9999)
            ~~~
下から2行目
CX := -9999
~~~ ↓
CY := -9999
~~~
にするだけ。
>>333 でも書いたけど、S and Sってこんな感じってサンプルでバグ内包してるから常用しないように。
キャレットの移動がないキーとの組み合わせをやったあとにスペース吐くんで。
(分かってて使うぶんにはいいけど。)
340324:2005/03/21(月) 23:17:36 ID:HpFCrz0e
基本姿勢は>333の方向でキャレットが進まなくてもOKにしてみた。
NT系限定 例によって全角スペース → 半角2スペース置換えで

MatchList=1,2,3,4,5,6,7,8,9,0,-,^,\,q,w,e,r,t,y,u,i,o,p,@,[,a,s,d,f,g,h,j,k,l,;,:,],z,x,c,v,b,n,m,,,.,/
EndKeys = {Tab}{Enter}{Esc}{BS}{Del}{Ins}{Home}{End}{Pgup}{Pgdn}{Up}{Down}{Left}{Right}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{sc073}
return

$Space::
  Send,{Shift Down}
  keycnt = 0
  Loop
  {
    Input,key,I L1 T0.1,%EndKeys%,%MatchList%
    ifInstring ErrorLevel, EndKey:
    {
      StringReplace,Key,ErrorLevel, EndKey:
      key = {%key%}
    }
    StringReplace,key,key,%A_Space%,
    StringLen,len,key
    if len > 0
    {
;;      Gosub, ModifierKeyCheck  ; 同時押しチェック (>324)
      Send,%modifier_key%%key%
      keycnt += len
    }
    GetKeyState,work,Space,P
    ifEqual, work,U, break
  }
  Send,{Shift Up}
  ifEqual keycnt,0,  Send,{Space}
return
341名無しさん@お腹いっぱい。:2005/03/22(火) 00:10:19 ID:ZWUNk2OZ
324さんと333さんは私の中で神と認定させて頂きました。
333での書式はバグを内包しているとの事ですので340をコピペして使わせて頂いています。

「猫まねき」でSandSを知ってから、ずっとこの機能を使ってみたかったのですが
私が同時打鍵入力方式の親指シフト配列の愛用者なので泣く泣く諦めていました。
それで質問なのですが以下のような事ってAutoHotKeyで実現できるのでしょうか?

1.IME/OFFの時だけSandSが機能するようにする
2.IME/OFFの時だけ無変換(変換)をスペースキーにする
3.無変換と変換の同時打鍵でIME ON/OFFを切り換える

実はAutoHotKeyには前から非常に興味が有ったものの、初心者には敷居が高く
掲示板をたまに覗く程度で済ませていました。質問した機能を実現させたい
とは思ってはいたものの、私の実力では無理っぽかったので諦めていました。

AutoHotKeyは外国産のソフトなのでIME ON/OFFと日本語専用キーの判定が
難しい云々という話も見た事が有るのですが、どんなものなのでしょうか?
実現できそうならインストールとアンインストールを繰り返していた
AutoHotKeyを本格的に導入したいと思っています。敬白 m(_ _)m
342340:2005/03/22(火) 00:21:34 ID:u8g20rRv
StringReplace,key,key,%A_Space%,
→ StringReplace,key,key,%A_Space%,,ALL
の方が安全カモ

ウチの環境だと>333や↓のスクリプトで何故かSpaceキーリピート発生しちゃう
XP Sp1a ahk Ver.1.30.04
Send,{Shift Down}すると押しっぱなしにしてても勝手にSpace Upになってしまうらしい
>340は何故か大丈夫なのだが…? >317のIME関係かしらん
$Space::
 Send,{Shift Down}
 KeyWait,Space,U
 Send,{Shift Up}
 Send,{Space}
return
343名無しさん@お腹いっぱい。:2005/03/22(火) 17:55:25 ID:hGX419B1
鯖移転したのか。
>>341
1&2
IME状態取得は現状でどうなんだろ。
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1095764510/16-17
辺りをみると厳しいのか?漏れはATOK使いでMSIMEヌッ殺してるから分からんけど。
3
コンビネーションキーでいけるんじゃね。下はAlt+全半吐くやつ。
vk1Dsc07B & vk1Csc079::Send, !{vkF3sc029}
344名無しさん@お腹いっぱい。:2005/03/22(火) 22:33:43 ID:q6kOYwGg
>>341
その目的だと、
AutoHotKey より「窓使いの憂鬱」の方が向いてる。
猫まねきより高度な設定ができる分、設定が難しいけど、
設定の仕組みさえわかれば
>>341 に書いてあることがすんなりできると思うよ。
345名無しさん@お腹いっぱい。:2005/03/22(火) 22:54:59 ID:u8g20rRv
>>341
ほい
ttp://lukewarm.s101.xrea.com/up/file/015.zip

>343のリンク先だと現在変換中かどうかの判定になってしまうんだな
今回の使い方には合わないのでIMEの設定で
「直接入力のときにIMEツールバーを隠す」にしている前提での判別方法にしてみた。
ただムリクリ感は否めないので>344の紹介してるものを使ったほうがいいかも知れぬ
346名無しさん@お腹いっぱい。:2005/03/23(水) 00:28:52 ID:u+jkcuR0
確かに>>341やるなら繭だわな。数行で出来る。
やっぱ専用ソフトっつーのは便利だな。

以下チラシの裏

現在の言語仕様じゃ他人のスクリプト組み込むのに手直しは必須っつーのが…
まぁ、その辺を変えることで重くなったりバギーになったりしたら本末転倒だが。
布教するにもマニアにしか受けんし。スクリプト仕様みてイラネって言う香具師もいる。
VBでSendKey連発するようなスクリプト書いてる香具師には訴求力ありそうなんだが。
ロカル変数くらいは欲しい。
347名無しさん@お腹いっぱい。:2005/03/23(水) 07:55:25 ID:FuBDL8hK
>現在の言語仕様じゃ他人のスクリプト組み込むのに手直しは必須っつーのが…
スクリプト自体に手を加えないでいい作りにしたいなら
カスタマイズオプションを.iniから読込むように作ればできないこともない
小規模のスクリプトだったら直書き換えさせちゃったほうが手軽だけどね
348名無しさん@お腹いっぱい。:2005/03/23(水) 19:52:38 ID:0rrNT0fg
これ、アプリごとにキーバインド変えようと思ったら、
アプリごとにキーバインド設定をするんじゃなくて、
キー設定の中でアプリ判定→分岐
するしかないの?

ようは
if (アプリ A){key a=hoge;key b=fuga}
じゃなくて
key a=(if (アプリ A){key a=hoge}else{key a=gaga})
こんな風にしかできない?
349名無しさん@お腹いっぱい。:2005/03/23(水) 20:32:12 ID:FuBDL8hK
SetTimer か Loopで
IfWinActiveすればアプリごとの設定のできないことはないけど
ホットキー登録しないので取りこぼしが発生する可能性大
350名無しさん@お腹いっぱい。:2005/03/23(水) 20:36:41 ID:u+jkcuR0
>>348
基本的にはそうかな。
SetTimerで指定間隔毎にアクティブ窓で分岐させてキー割付を動的に切り替えるって方法もあるけど…

SetTimer,Hoge,100
 :
 :
Hoge:
 WinGetClass,class,A
 If(Class == "〜")
 {
  HotKey,〜,〜
  HotKey,〜,〜
 }
 Else If(Class == "〜")
   :
  以下略
   :
 return
351名無しさん@お腹いっぱい。:2005/03/23(水) 20:37:58 ID:u+jkcuR0
うは、かぶったw
352348:2005/03/23(水) 20:51:59 ID:0rrNT0fg
どうもです。
window が切り替わったときのフックみたいなのがあれば
もっときれいにできそうですね。
353341:2005/03/23(水) 21:41:19 ID:jdrum20v
>>345さん
わざわざありがとうございました。まさかこんな事までして頂けるとは! ありがとうございます。m(_ _)m フカブカ〜
ただ、挙動に関しては少し問題が出ています。実は私、親指シフトのエミュレーションのため
に富士通製のOASYS系のIMEであるJapanistを愛用していて、それでツールバーからIME
の状態を取得する方法が上手く行かないようです。IME/ONの状態の時に変換(無変換)
との同時打鍵が正常にできなくなってしまいます。

ちらっと覗いたらAHKを流行らせるページさんの方のBBSでも親指シフトの方がいらっしゃったり、
IMEの検知について書いておられる方が居るので、そちらも参考にしてみようと思います。
まぁ、あそこの管理人さんのマウスジェスチャーのスクリプトすら設定できなかったヘタレ初心者なんで、
どれだけ時間が掛かるか分かりませんが・・・。

何にせよ、私なんぞのためにわざわざ手間暇かけてまで尽くして頂いて非常に感謝しています。
改めて御礼申し上げます。

>>344,>>346さん
どうも。窓使いの憂鬱の存在は知っているのですが、猫まねきと共存できないとの事ですので、
色々と細かい事ができて良いという話は聞いていても今まで諦めていました。興味は有るんですが、
作者の方も更新を止めておられるようですしWindowsXPに完全に対応していないとかの話も聞くので、
初心者としては手が出しにくいです。う〜ん。
354名無しさん@お腹いっぱい。:2005/03/23(水) 22:10:23 ID:u+jkcuR0
漏れはAHKと繭との併用がかなりしっくりくると思うんよね。
AHKより繭の方が(PC界でいう)低レベルだからバッティングしない。(ハズ)
まぁどのソフト使うかっつーのはそれぞれだから何とも言えんが。

スレ違いだけど、繭の最新版(Snapshot20040810)だとXPで安定っつー報告が多い。
つか、繭スレ過疎ってるなぁ。いい意味で枯れてるからなんだが。
355名無しさん@お腹いっぱい。:2005/03/23(水) 23:56:49 ID:hwCpAJQG
>>354
繭は過去ログとML読めば、大体やりたいことはできるからなー。俺もsnapshot+XPで安定。
おっさん的には枯れてるメディアの方が肩が凝らなくてイイ。

ただ、「ランチャ-ファイラ-AutoHotkey」をフラッシュメモリかなんかに入れて持ち歩けたら
めちゃくちゃ便利な気がするんで、ただ今移行試行中。
356名無しさん@お腹いっぱい。:2005/03/24(木) 01:36:45 ID:o2hZlty4
ランチャ持って行ってどうするよ
システム関連のしか起動できないだろ
357名無しさん@お腹いっぱい。:2005/03/24(木) 01:48:58 ID:0iJjPf2m
アプリもメモリに入れていくんじゃね?
Autohotkeyなら作り方しだいで相対パスランチャも作れるし。
358名無しさん@お腹いっぱい。:2005/03/24(木) 01:51:29 ID:NE3PvoZW
まあ、絶対パスにしか対応してなくても、subst使えばいいんだけどね。
359名無しさん@お腹いっぱい。:2005/03/24(木) 08:11:35 ID:ZFYJxLnl
文字列を計算式として認識させられないかな
例えばエディタで 1+2 を打って、それを選択して3に書き換えるようにしたいんだけど
これが出来れば常駐ソフト一つ減らせる
360名無しさん@お腹いっぱい。:2005/03/24(木) 08:20:52 ID:/dBqUNUy
>>359
そういや、ATOKプラグイン?であったぞ。
361名無しさん@お腹いっぱい。:2005/03/24(木) 08:56:10 ID:lTfEK0IO
>>360
AMET Multi だな。ATOKの入力文字列を引数にコマンドラインで何でも(perlとか)起動できるやつ。
でも、IME On/Offの面倒さはあるなぁ。

AHKでもやろうと思えば出来なくは無い。スクリプト投稿スレにも似たようなのでてたし。
362名無しさん@お腹いっぱい。:2005/03/24(木) 09:08:14 ID:ZFYJxLnl
>>360
IMEのATOKと無関係かと思って探してたけど
まんまATOKのプラグインだったんですね->AMET ATOK入れてないんで・・

AHK単体でやるのは無理なのかな


363359 362:2005/03/24(木) 09:12:03 ID:ZFYJxLnl
>361
かぶった・・すいません
投稿スレ見てきます
364名無しさん@お腹いっぱい。:2005/03/24(木) 15:32:50 ID:NE3PvoZW
>>359
秀丸とサクラエディタならそういうマクロあるよ。
ttp://www.edit.ne.jp/~deagle/
365名無しさん@お腹いっぱい。:2005/03/24(木) 17:17:39 ID:lCSIfVGc
soft1では右クリックとホイールでPageUp
soft2では右クリックとホイールでF2
を押したようにしたいとします。
AutoHotkey.iniに
----------------------------------------
IfWinExist, soft1
{
~RButton & WheelUp::Send,{PgUp}
}
IfWinExist, soft2
{
~RButton & WheelUp::Send,{F2}
}
----------------------------------------
と書いてみましたが、うまくいきません。
根本的な勘違いをしているような気がしますが、
どうすれば希望の動作が実現できるでしょうか?
366名無しさん@お腹いっぱい。:2005/03/24(木) 17:48:09 ID:9ah/0VJm
条件分岐でホットキーを設定するにはホットキーラベルじゃなくてHotkeyコマンドを使う。
ただこの場合SetTimerでループさして
アクティブなソフトを監視しないといけなくてめどいから、
~RButton & WheelUp::
    IfWinExist, soft1
    {
        Send,{PgUp}
    }
    IfWinExist, soft2
    {
        Send,{F2}
    }
という風にする。
367名無しさん@お腹いっぱい。:2005/03/24(木) 19:20:14 ID:0iJjPf2m
IfWinExist → IfWinActive でそ
368365:2005/03/24(木) 19:44:17 ID:lCSIfVGc
>>366
ありがとうございます。
AutoHotkey便利そうです。
369叩き台〜その1〜:2005/03/24(木) 21:53:05 ID:lTfEK0IO
^!C::
 ToolTip,[Calc], %A_CaretX%, %A_CaretY%
 Operand1 =
 Operand2 =
 CalcStr =
 math =
 Loop
 {
  Input, key, L1
  If(key == "") ; ""内は 0x1B
  {
   break
  }
  Else if(key == "`n" || key == "=")
  {
   If(Operand2)
   {
    if(math = "+")
     Operand1 := Operand1 + Operand2
    Else If(math = "-")
     Operand1 := Operand1 - Operand2
    Else If(math = "*")
     Operand1 := Operand1 * Operand2
    Else if(Operand2 = "" || Operand2 = 0)
     Operand1 := "NaN"
    Else
     Operand1 := Operand1 / Operand2
   }
370叩き台〜その2〜:2005/03/24(木) 21:53:39 ID:lTfEK0IO
   Else
   {
    Send, %Operand1%
    Break
   }
   Operand2 =
   math =
  }
  Else If key in 0,1,2,3,4,5,6,7,8,9,0,.
  {
   CalcStr = %CalcStr%%key%
   If(math)
    Operand2 := CalcStr
   Else
    Operand1 := CalcStr
  }
  Else If key in +,-,/,*
  {
   If(math == "")
   {
    math := key
    CalcStr =
   }
  }
  Tooltip,[Calc] %Operand1%%math%%Operand2%,%A_CaretX%,%A_CaretY%
 }
 Tooltip
 return
371名無しさん@お腹いっぱい。:2005/03/24(木) 21:55:16 ID:lTfEK0IO
適当に作ってみた2項の四則演算のみ。
バグがあるかもしれない。
あくまで叩き台ってことなんで、叩かないでw
372名無しさん@お腹いっぱい。:2005/03/24(木) 21:59:34 ID:lTfEK0IO
あぁ、行数制限で説明抜いてたわ。
Alt+Ctrl+[C]でインライン(?)電卓モードに。
数字 演算子 数字の並びになったときに Enter で計算
結果はツールチップに。
ツールチップに1項のみが表示されているとき Enter で数字を出力。

つか0割の所うまく動いてないわw
373名無しさん@お腹いっぱい。:2005/03/24(木) 22:53:47 ID:lTfEK0IO
色々直したよ。一人で連投してスマソ…
ttp://lukewarm.s101.xrea.com/up/file/016.zip
374359:2005/03/24(木) 22:54:16 ID:PlnAtin8
>>364 369-372
ありがとうございます!

>>369 せっかく作ってもらってすいませんが 秀丸-サクラマクロマクロがよさげなのでこっち
使ってみます ヒマな時にこれも解読してみます
375名無しさん@お腹いっぱい。:2005/03/24(木) 23:03:26 ID:PlnAtin8
>>373
使ってみました
かっことか使えないと不便かと思ったけどこれはこれで実用的
計算結果をもとに続けて入力出来るのが良いです

AHK内だけででここまでやれるとは思わなかった
376名無しさん@お腹いっぱい。:2005/03/24(木) 23:47:41 ID:g5osJG3P
autohotkey に lisp インタープリタ内臓して欲しい
377名無しさん@お腹いっぱい。:2005/03/24(木) 23:59:19 ID:9ah/0VJm
lispイラネー
378名無しさん@お腹いっぱい。:2005/03/25(金) 00:09:41 ID:2fwQhLFn
skk乗っけてAutoHotKeyだけで漢字変換か。
379Num0+矢印キーで矢印を入力:2005/03/25(金) 00:54:37 ID:vzJGrVeL
Numpad0 & Up::
{
CLipboard=↑
Send,^v
return
}
Numpad0 & Down::
{
CLipboard=↓
Send,^v
return
}
Numpad0 & Left::
{
CLipboard=←
Send,^v
return
}
Numpad0 & Right::
{
CLipboard=→
Send,^v
return
}
380379:2005/03/25(金) 01:00:12 ID:vzJGrVeL
↑のようなものを作ってみたのですが、
これをもっと短縮あるいは効率よく書く方法はありますか?
クリップボードの履歴を監視するソフトを導入しているため、
なるべくクリップボードを介したくないのですが…
ClipboardがCLipboardになってるのは単なるミスです^^
381名無しさん@お腹いっぱい。:2005/03/25(金) 01:07:15 ID:G0VsG/1l
send,^Vした後クリップボードの内容を元に戻す。
382名無しさん@お腹いっぱい。:2005/03/25(金) 01:24:42 ID:dBIaKFwl
流行らせるページにSendで2バイト文字を入力するサンプルがあったような。
長い文字列にはむかないけど、1文字程度ならいけるんじゃないか。
383名無しさん@お腹いっぱい。:2005/03/25(金) 05:57:29 ID:TKg9mzHA
>>379
Cじゃないのでサブルーチンの括りに{ }は不要、書いても間違いじゃないみたいだが
ルーチンの終わりが分かりやすいので漏れは↓みたいなインデントにしてる
label:
  code
   :
return

>>380-382
流行らせるページのサンプルはクリップボード使ってるみたい
使えるのかどうかわからんがUnicode関連のコマンド
とかできたから
そっちチェックしてみたらいいかも
(Transformの見た感じだとそっちもクリップボード経由っぽいが)
384名無しさん@お腹いっぱい。:2005/03/25(金) 09:01:49 ID:9HGHpGci
自治する気ないし俺の意見として言うけど
スクリプト自体の投稿は流行らせるページにしてほしい
情報を見に来るのに見づらい
質問に答える>>366みたいなのはいいけど…
385名無しさん@お腹いっぱい。:2005/03/25(金) 11:40:50 ID:UAu+Z2MA
>>384
>369-370あたりは漏れもそう思った。あっちのが1レスに貼り付けられる量が多いので
投稿スレかあぷろだに上げてリンク張ったほうがいいと思う。
と、書きつつも貼り付ける漏れ

Numpad0 & Up::
Numpad0 & Down::
Numpad0 & Left::
Numpad0 & Right::
  ifInstring, A_ThisHotkey, Up,   SetEnv,PasteData,↑
  ifInstring, A_ThisHotkey, Down,  SetEnv,PasteData,↓
  ifInstring, A_ThisHotkey, Left,  SetEnv,PasteData,←
  ifInstring, A_ThisHotkey, Right, SetEnv,PasteData,→

  ControlGetFocus, Actrl,A
  Control,EditPaste,%PasteData%,%Actrl%,A
return

Control使えばクリップボードは汚さないけどEditコントロール限定なのでいまいち汎用性無いな
1行だったら大体OKそうだけどマルチラインだと殆どだめぽ
秀丸 W
EmEditor ○
メモ帳 ○
サクラ W
xyzzy W
Becky!2 エディタ部 W
386名無しさん@お腹いっぱい。:2005/03/25(金) 11:44:11 ID:UAu+Z2MA
W -> X

職場からは2ch-modeで見てるんだが書き込みで記号が化ける orz
387名無しさん@お腹いっぱい。:2005/03/25(金) 12:00:51 ID:D7WX2GIP
笑ってるのかと思った。w←これ
388名無しさん@お腹いっぱい。:2005/03/25(金) 17:31:21 ID:dBIaKFwl
>>380
こういうこと?
Numpad0 & Up::Send,{ASC 33194}
Numpad0 & Down::Send,{ASC 33195}
Numpad0 & Left::Send,{ASC 33193}
Numpad0 & Right::Send,{ASC 33192}
389名無しさん@お腹いっぱい。:2005/03/25(金) 20:27:12 ID:TKg9mzHA
>>388
NT4だと ェォゥィ ってなる orz
XPだとおkっぽい。
390379:2005/03/26(土) 01:19:46 ID:F+IEPJ/l
皆さん色々とありがとうございました。
Alt+Numpad[0-9]で文字コードを送信するという方法があったのを失念していたため、
Sendではできないものだと思い込んでました。
>>388さんの書き方でできました。
>>385さんの方法だと確かに独自のコントロールを使っているエディタでは入力できないため、
残念ながら使えませんでした。
ただ、特にフォーカスを移したり、明示的に指定しなくても、
ウィンドウ内のEdit部に入力してくれるというのは別の用途では使えるかもしれません。
391名無しさん@お腹いっぱい。:2005/03/27(日) 09:04:00 ID:c3gPcejd
投稿スレ見たんだが、SendMessageで IME の on/off 取得できることが分かったらしい。
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/89
392名無しさん@お腹いっぱい。:2005/03/27(日) 10:14:32 ID:KYsw2UmA
SendMessage って何か魔法の呪文っぽい感じだな。
IME関連以外にも色々何かできそう。
393名無しさん@お腹いっぱい。:2005/03/27(日) 10:18:37 ID:n9jN/MF/
マジッスカ
このソフトを知って4ヶ月、なんとなくromってて
ようやく入れる決心がつきますた(・∀・)
394名無しさん@お腹いっぱい。:2005/03/27(日) 12:41:33 ID:Gfq9hDvj
昨日から使い始めました。

質問なんだけど、AutoHotKeyって日本語化パッチある?
探してみたけど見つけられなかったんで。
あ、ないならないで別にいいんだけど、あるかどうかを知りたいな、と。
395名無しさん@お腹いっぱい。:2005/03/27(日) 14:47:43 ID:sb/4Ivmu
ない。というか、全く必要ないと思うよ。
どの部分を日本語化したいの?
強いていえばメインウインドウのメニューぐらいしかローカライズ
するところはないと思う。
タスクトレイの右クリックメニューはMenuで自分で日本語のを作れば
いいわけだし。
396名無しさん@お腹いっぱい。:2005/03/27(日) 15:05:03 ID:J8XeKnDI
エラーメッセージじゃないか。
394じゃないけどそういうレスがくることは分かってたんだ…
397名無しさん@お腹いっぱい。:2005/03/27(日) 15:08:21 ID:dV5t5TmZ
inputoboxは日本語化しといたほうが何かとイイかも
あんま初歩的なんでここの猛者は使わないかもしれんが
398名無しさん@お腹いっぱい。:2005/03/27(日) 15:34:48 ID:6NtREb84
>>353
もういないかもしれないけど、修正したー
ttp://lukewarm.s101.xrea.com/up/file/019.zip

> IME/ONの状態の時に変換(無変換)との同時打鍵が正常にできなくなってしまいます。
んでもコレはHotkeyのフックの仕方の問題かもしれない。
親指シフト使ったことないからよくわからんのよ。何と何を同時押しするのかな
399名無しさん@お腹いっぱい。:2005/03/27(日) 15:39:21 ID:6NtREb84
>>395
MsgBoxとか日本語でメッセージ出そうとすると化けるダメ文字が結構ある。
漏れは諦めてるけど。
それより 流行らせるページの .chm版ヘルプがほすぃ…
400名無しさん@お腹いっぱい。:2005/03/27(日) 15:47:57 ID:Gfq9hDvj
必要性を聞きたいんじゃない、ってことが分かるように質問したつもりだが。
だから、ないならないで別にいい、と書いた。
英語うざいから目につくところだけ日本語化しようかな〜と思ってね。
やっぱりないんだね、サンクス。
401名無しさん@お腹いっぱい。:2005/03/27(日) 15:58:57 ID:sb/4Ivmu
だからどこの英語がうざいのよ?
キミの投稿じゃどこの英語がうざいのか分からないから
確認したかったんだけど?
つーか、日本語化したい>どこがしたい?>ここ
という流れにならず
なんでそんないきなりギスギスした
態度になるのかわからんよ。
ちょっとは対話を心がけてくれまいか。
402名無しさん@お腹いっぱい。:2005/03/27(日) 16:03:37 ID:J8XeKnDI
いちいち噛み付くなよ、そんなことでよ。
403名無しさん@お腹いっぱい。:2005/03/27(日) 23:22:16 ID:c3gPcejd
単純に日本語化したいなら AutoHotkey.exe を UPX 解凍してリソースハッカーでも使えばいいんじゃねーの。

>>399
今まで文字化け経験してないけど、 \(0x5C)が含まれてたりとかってやつかねぇ。
その文字を晒してくれればある程度特定できるかもしれない(出来ないかもしれない)。
.chm欲しいならHelpMachine使えば作れる。インデックス作るのマンドクセーけど。

# 最近またスクリプト熱が出てきた。春だからだろうか…
404名無しさん@お腹いっぱい。:2005/03/27(日) 23:41:33 ID:S3wtnfmi
せっかくソースがあるんだから
そっち書き換えたほうがいいよ
405名無しさん@お腹いっぱい。:2005/03/28(月) 00:58:56 ID:dyJDqkVp
一瞬荒れたのかと思ったが、>>394の4行目の意図が全く読み取れなかった
ID:sb/4Ivmuが(2レスとも)的外れなこと書いてるだけか。そりゃ怒る罠。
そんな中、ちゃんと礼を言ってるところがなかなか。

俺も最近使い始めたんだけど、これが日本語化できたらやっぱりうれしいな。
今のところ特に困ってないけど、英語普通に苦手だから、使い込んでるうちに
エラーメッセージとかが出てきたらだるくなりそうな予感。
406名無しさん@お腹いっぱい。:2005/03/28(月) 01:14:04 ID:4QB7Nt+y
なにをそんなにカリカリされてんのかちっともわからんよ(;´ー`)
つーかぎゃーぎゃー怒られるぐらいなら親切に「どこが必要?」とか
対話せず「ある」とか「ない」だけ書けばよかったよ。
全くその通りだ。
407名無しさん@お腹いっぱい。:2005/03/28(月) 01:52:23 ID:sWrAcxx0
>>406

>>394が有るか無いかだけの答えを求めている(4行目で明確)のに対して
>>395が余計な事言ってくるのがウザかったってだけだろ。

おれの職場にもいるよ>>395みたいなタイプ。 そういうやつにものを聞くときは場合を考えるようにしてる。
うざくてかなわん。
408名無しさん@お腹いっぱい。:2005/03/28(月) 02:00:37 ID:a5GACU9O
なんか知らないけど
外国のソフトのスレでは
日本語化を求める人と
英語のままで十分と過剰に主張する人の間で
必ずごたごたが起こるね。
409名無しさん@お腹いっぱい。:2005/03/28(月) 02:03:16 ID:e/JcWmZ3
>395じゃないけど「ないならないで別にいい」を見て「必要性を聞きたいんじゃない」って思う人はあんまりいないと思うよ。
「ないならないで別によくない」なんて書く馬鹿はいないだろ、というか最初から「必要性を聞きたいんじゃない」って書けばいいのに、というか。
410名無しさん@お腹いっぱい。:2005/03/28(月) 02:11:19 ID:dyJDqkVp
>>407
ふむ、それもあるのかもしれんが、それだけでいきなり>>400にはならないのでは?
>>395には明らかにいらん一文(←>>400と合わせるとより明らか)がある。
例の4行目にはそれを書いてほしくない、という意図もあったのだろう。

>>408
よく見るけど、だいたいそれは後者が前者を逆撫でしてるな。

>>409
俺は普通に「必要性を聞きたいんじゃない」と読み取れたよ。
「ないならないで別によくない」人は、わざわざあんな4行目は書かない(=不要)から。
俺には、「必要性を聞きたいんじゃない」って言う、カドのたつ言い方を避けた
気を使った表現に思えた。
411名無しさん@お腹いっぱい。:2005/03/28(月) 02:17:21 ID:y4I7LxlP
あんた達いい加減にせい。板違いのことでグダグダ議論してんじゃね。( ゚Д゚)
わざわざこのレスにまでレスつけんじゃねぇぞ。
412名無しさん@お腹いっぱい。:2005/03/28(月) 02:51:57 ID:sWrAcxx0
んじゃぁプログラミングのプの字もわからない漏れからの初歩的質問。

たとえばF12を押したときの挙動を複数のアプリで割り当てたいとき、
現時点では

~F12::
IfWinActive, ahk_class abcd
send,!fa

IfWinActive, ahk_class wxyz
send,!daa

return

みたいな感じで書いててとりあえず問題ないんだけど、これって記述的にはおかしい?
何も知らない漏れが言うのも変だけど、「もし」ばっかり何個も続くのっておかしいような気がして。

413名無しさん@お腹いっぱい。:2005/03/28(月) 04:02:51 ID:9whGZbWq
大丈夫おかしくないよ
強いて揚げるなら2個目のif以降は Else If使ったほうがいいかも知らんけど
414名無しさん@お腹いっぱい。:2005/03/28(月) 08:25:23 ID:XIq2NfMQ
ダメ文字は何回か経験してる
2バイト扱うならUWSCの方が安全か。新しいのも出た。
415名無しさん@お腹いっぱい。:2005/03/28(月) 09:00:12 ID:55noSKPL
>>412
んにゃ、たいていどの言語でもそれが常套手段。

ただし、>>412の場合、一つ目の
 IfWinActive 〜
でマッチしたら、他の IfWinActive は評価する必要が無いから2つ目以降は
 Else IfWinActive 〜
としたほうがいい。

言語によっては、case とか on 〜 gosub … みたいに特定の中身によって
飛び先を指定するってやつがあるけど、基本的な考えは上のやつと同じだし。
4161行規制引っかかった。改行は”削除”して:2005/03/28(月) 19:24:54 ID:9whGZbWq
>>403
ひらがな、カタカナだと「チ」の字とか。0x5Cではないみたいなんだけど

msgbox,ぁ ぃ ぅ ぇ ぉ っ`nあ い う え お`nか き く け こ`nが ぎ ぐ げ ご`nさ し す せ そ`n
ざ じ ず ぜ ぞ`nた ち つ て と`nだ ぢ づ で ど`nな に ぬ ね の`nは ひ ふ へ ほ`nば び ぶ べ ぼ`n
ぱ ぴ ぷ ぺ ぽ`nま み む め も`nや ゆ よ`nら り る れ ろ`nわ を ん`nァ ィ ゥ ェ ォ ッ`n
ア イ ウ エ オ`nカ キ ク ケ コ`nガ ギ グ ゲ ゴ`nサ シ ス セ ソ`nザ ジ ズ ゼ ゾ`nタ チ ツ テ ト`n
ダ ヂ ヅ デ ド`nナ ニ ヌ ネ ノ`nハ ヒ フ ヘ ホ`nバ ビ ブ ベ ボ`nパ ピ プ ペ ポ`nマ ミ ム メ モ`n
ヤ ユ ヨ`nラ リ ル レ ロ`nワ ヲ ン`nァ ィ ゥ ェ ォ ッ`nア イ ウ エ オ`nカ キ ク ケ コ`nサ シ ス セ ソ`nタ チ ツ テ ト`n
ナ ニ ヌ ネ ノ`nハ ヒ フ ヘ ホ`nマ ミ ム メ モ`nヤ ユ ヨ`nラ リ ル レ ロ`nワ ヲ ン`n゙ ゚

去年の10月位までは自分で .chmに直してたんだけど
どうにも使い勝手が慣れなくて >へるぷましん
差分のインデックス作ったりとか、手作業前提なのがとにかくしんどい
あとからドロップしたhtmlの階層メタメタになるしで
フリー作家の人は偉いなぁと心底思ったよ。
417名無しさん@お腹いっぱい。:2005/03/28(月) 19:27:16 ID:9whGZbWq
名前欄に 削除 っていれると ” ”で括られるのか、初めて知った。
418名無しさん@お腹いっぱい。:2005/03/28(月) 20:32:15 ID:55noSKPL
>>416
そういや「\」がエスケープ文字じゃなかったわ。「`」だった。
「チ」は0x8360、「`」が0x60。まさか……
419412:2005/03/28(月) 22:20:17 ID:zpfXdbTz
dクス。
基本がわかってないからちょっと不安だったのですが、安心しました。
二度目以降のIfの前にはelseをつけるようにします。
420名無しさん@お腹いっぱい。:2005/03/28(月) 22:26:00 ID:pkJ1AidZ
「〜」もだめぽ
421名無しさん@お腹いっぱい。:2005/03/29(火) 01:13:36 ID:d7T84XNc
やっぱ ` でのエスケープっぽ

MsgBox,チ〜
MsgBox,チ`〜`
422名無しさん@お腹いっぱい。:2005/03/29(火) 03:29:46 ID:TQLH2O6o
キター(`〜`)
423名無しさん@お腹いっぱい。:2005/03/29(火) 10:55:28 ID:+Zu/56Y7
ホイールクリックで基本的にEnter、AutoCADの場合はそのまま、としたいです。
下の例だとクリックが送られてしまい、押しっぱなしができません。
どうすれば良いでしょうか。
あと、mayuでいうところの&Defaultがあれば教えてください。

~MButton::
IfWinActive, AutoCAD
Send,!{MButton}
else
Send,!{enter}
return
424名無しさん@お腹いっぱい。:2005/03/29(火) 12:55:34 ID:1/bQp6ee
>>423
キー押し上げと押し下げに分けて処理すればOK
425423:2005/03/29(火) 17:23:55 ID:+Zu/56Y7
>>424
どうも。できました。
GetKeyStateのサンプルそのまんま。

MButton::
IfWinActive, AutoCAD
{
MouseClick, middle, , , 1, 0, D
Loop
{
Sleep, 10
GetKeyState, state, MButton, P
if state = U
break
}
MouseClick, middle, , , 1, 0, U ; ホイール離す
}
else
Send,{enter}
return
426名無しさん@お腹いっぱい。:2005/03/29(火) 17:37:05 ID:d7T84XNc
KeyName::
KeyName Up::
って今は出来るんだけどな。動けばいいか。
427名無しさん@お腹いっぱい。:2005/03/29(火) 19:15:57 ID:icg0usqm
>>423
ラベルに ~つけるならMButtonの処理を自分でやる必要はないと思われ
~MButton::
IfWinNotActive, AutoCAD
Send,!{enter}
return
でいいんとちゃう?
428名無しさん@お腹いっぱい。:2005/03/29(火) 20:29:24 ID:icg0usqm
>>418,421
なるほど `で後ろエスケープすればいいのか、アリガトン

一応参考 2バイト目が0x60な文字↓
〜AチЯ`荏柿義形港餐汁秦疏蛋伝覗描冒輿倭兪啻嫣彖拜杼歔濮畫秡總臍藾訌軈鐐饒鸛||
(S-JIS漢字コード表 ttp://www.ne.jp/asahi/qpon/b/pc/sjis.htm )

あとLoop (files)とかだと普通に \(0x5C)がダメだね。むしろこっちのほうが深刻そうだ
429名無しさん@お腹いっぱい。:Lastupdate:2005/04/02(土) 11:20:42 ID:z4/57e82
昨日とか一昨日の日付を得たい。AHK ver 1.0.30.1, W2KSP4。
 dt := A_Now
 dt -= 1,days
 MsgBox,%dt%
これで、現時刻より1日前のものが表示できるかと思いきや
 Error: This date-time string contains at least one invaild component.
と、おっしゃりやがって止まる orz

EnvSub, dt, 1, days でも同様。実行時エラーの文句には -= の形式で出る。
ごり押しスクリプト書けばどうにかなるけど、どうしたもんか……
430名無しさん@お腹いっぱい。:Lastupdate:2005/04/02(土) 12:38:02 ID:Q1KXxUvO
EnvSub,Var,Value,days は
引いた値をの日付を返すのはなく、日付同士の計算を日数で出すらしいね。
× 20050401 - 1 = 20050331
○ 20050401 - 20040401 = 365

ちなみにFormatTimeも年/月越しでダメっぽい
dt = 20050401
dt -= 1
dt = %dt%%A_Hour%%A_Min%%A_Sec%
FormatTime,dt,%dt%,yyyyMMddHHmmss
MsgBox,%dt%

%A_YYYY%%A_YDay%→ YYYYMMDD 逆変換とかできりゃいいんだろうけど
431名無しさん@お腹いっぱい。:Lastupdate:2005/04/02(土) 14:12:43 ID:z4/57e82
>>430 サンクス
やっぱそうかぁ…。「流行らせるページ」のEnvSubのところに、
> たとえば、Valueを100、TimeUnitsを「Days」とすると、Valueの日付を100日進める。
ってあるからなぁ。コレが違ってるんかな(EnvAddのコピったままの部分は除く)。

ちょっとしたファイル整理の書き捨てスクリプト作ろうと思ったんだがハマってしまったよ。
日付処理のサブルーチン作るの面倒だから他の言語でやるわ…
432名無しさん@お腹いっぱい。:Lastupdate:2005年,2005/04/02(土) 15:21:57 ID:JWJwJ6VZ
EnvAddは負の値も使えなくない?
433名無しさん@お腹いっぱい。:Lastupdate:2005年,2005/04/02(土) 18:38:27 ID:TCwbXqil
ver1.0.30.04で、""で括って渡しても、また空白でコマンドラインをぶった切るようになってない?
434名無しさん@お腹いっぱい。:Lastupdate:2005年,2005/04/02(土) 18:49:27 ID:TCwbXqil
やべ、噛ませてたAutoHotKeyスクリプトの問題だった
435名無しさん@お腹いっぱい。:2005/04/02(土) 19:50:12 ID:Q1KXxUvO
>>432
本当だ↓だと上手くいく。年/月越しもOKだね

var1 = %A_Now%
var1 += -1, days
MsgBox, %var1%

EnvAddとEnvSubて単に加算減算の違いなんだと思って見てなかったよ orz
EnvAdd → 足した(引いた)値の日付を返す: 20050401 - 1 = 20050331
EnvSub → 日付同士の計算を日数で出す : 20040401 - 20040401 = 365
てことなのね。
436名無しさん@お腹いっぱい。:2005/04/02(土) 21:10:45 ID:A0CyYlzr
にしてもコンパクトな中にいろいろ入ってるねえ、こいつは。
だいぶ依存度が増してきた…
437429:2005/04/02(土) 22:10:20 ID:z4/57e82
ナナンダッテー (AAry
そうだったんかぁ。コレで日付でファイル振り分けが楽になるわ。
438名無しさん@お腹いっぱい。:2005/04/03(日) 11:12:08 ID:ZfS+Xv1s
質問です。
これをインストールするときは
窓使いの憂鬱はアンインストールしておいた方がいいですか?
439名無しさん@お腹いっぱい。:2005/04/03(日) 18:15:31 ID:euGPrUZ3
必要ナス。併用可能。
ただし、キー割り当ては窓使いの憂鬱が優先する。
つまり、窓使いの憂鬱が吐き出すキーコードを受け取ってAHKが動作する。

例)
窓使いの憂鬱で Ctrl + A に Ctrl + B を割り当てる
AHK で Ctrl +B に Enter を割り当てる
→ Ctrl + A を押すと Enter が出力される。
440名無しさん@お腹いっぱい。:2005/04/07(木) 10:33:12 ID:aihkwInv
IDが惜しかった…
441名無しさん@お腹いっぱい。:2005/04/07(木) 20:29:10 ID:DuNRUFCP
doma
442名無しさん@お腹いっぱい。:2005/04/09(土) 17:58:58 ID:cHH8AI+9
関数
443名無しさん@お腹いっぱい。:2005/04/09(土) 23:21:41 ID:kUXIkJIx
ChrisたんGJ
444名無しさん@お腹いっぱい。:2005/04/09(土) 23:23:40 ID:LrmAhce7
1.0.31 ついに関数とローカル変数きたね。
 ・SetTimer >>312の問題修正
 ・関数サポート: result = Function(palam) みたいのが有効に
 ・ローカル変数: local x, y, z とかで宣言できるっぽい
 ・A_LineNumber、A_LineFileで #Include先ファイルの行番号、ファイル名が取得可能に
 ・他いろいろ


しかし仕様変更だかバグだかよくわからんがエラー出まくりで全然うごかねぇ orz

Menu,TRAY,Add,流行らせるHelp(&C) ,Sub_MenuTray
メニューにアクセラレータキー入れるのに()で括ってたら、そんな関数ないって怒られた
445名無しさん@お腹いっぱい。:2005/04/10(日) 07:31:18 ID:OcaV6+sC
今常用してるスクリプトはコンパイルして新しいのにしてみっかな。
446名無しさん@お腹いっぱい。:2005/04/11(月) 09:37:00 ID:N1PxD+h2
手軽さがなくなって来た気が…
次スレはプログラム板かな
447名無しさん@お腹いっぱい。:2005/04/11(月) 16:36:04 ID:m/uAlqKf
ver2はECMA準拠で
448名無しさん@お腹いっぱい。:2005/04/11(月) 17:47:41 ID:rJUnNEN1
いちいちオブジェクト作ってたらメモリとCPU喰いまくりそう…

function と local valuables は歓迎かな。
449名無しさん@お腹いっぱい。:2005/04/11(月) 18:08:08 ID:B60TEnfo
mayuのドライバを使ってフックかけられないかな?
450名無しさん@お腹いっぱい。:2005/04/11(月) 21:31:15 ID:rJUnNEN1
ローカル変数ってアルファベット1文字だと怒られる…
ループに使う i, j とか、 座標の x, y とか面倒すぎ。
451名無しさん@お腹いっぱい。:2005/04/11(月) 22:41:56 ID:rJUnNEN1
>>450は勘違いっぽ。

こっちにも貼っておく、ツッコミ・修正ヨロ
103 名前:unnamed.ahk:05/04/11 22:39 ID:3sWbWrfk
ローカル変数と関数実装のテストをかねて、
文字列に記載された数式を計算する関数を作ってみた。
ttp://lukewarm.s101.xrea.com/up/file/020.zip
数式の評価って結構めんどい。何とか動いてるけど大丈夫かな
452451:2005/04/16(土) 08:54:54 ID:J3RVri/i
漏れはスレッドストッパー orz
453名無しさん@お腹いっぱい。:2005/04/17(日) 09:49:35 ID:+hE+T1Hh
イ`
454451:2005/04/17(日) 12:45:27 ID:9YkLHgvW
クソッ、またネタ投下してやるよ!!
オートスクロールスクリプトつくったよ。
ttp://lukewarm.s101.xrea.com/up/file/021.zip
455名無しさん@お腹いっぱい。:2005/04/17(日) 14:23:10 ID:lL7lHI1a
健気でワラタ 乙
456名無しさん@お腹いっぱい。:2005/04/20(水) 21:46:44 ID:SMytWmy0
http://pc8.2ch.net/test/read.cgi/software/1112524846/から誘導されてきました

あるテキストファイルが3行だけになったらあるソフトを終了する。
こんなスクリプトはどう書けばいいでしょうか。

よろしくお願いします。
457名無しさん@お腹いっぱい。:2005/04/20(水) 22:18:39 ID:hGAA5JT/
少しは努力の成果を見せろよw
458名無しさん@お腹いっぱい。:2005/04/20(水) 22:20:03 ID:k4tAhkBG
よくわからんがこんな感じ?

#SingleInstance FORCE
#Persistent
Autoexecute:
  ;10秒ごとにテキストファイル監視(間隔は適当に変えれ)
  SetTimer, Watch, 10000
return

Watch:
  ;hoge.txt内の改行が 3個未満かチェック
  Loop,READ, c:\hoge\hoge.txt
  {
    MaxLineNo := A_Index
    if A_Index > 3       ;3行以上あるので処理中止
      return
  }
  ;指定のソフトを終了
  WinClose , WinTitle
;  ;タスクトレイ収納型などのWindowがないソフトの場合はプロセス強制終了で。
;  Process, Close, hoge.exe
return
459456:2005/04/20(水) 22:22:30 ID:SMytWmy0
>>457
今頑張っています。先に聞くのは失礼だと思ったんですが
何分こういうソフトは初めてなもので・・・。

>>458
ありがとうございます!
これと>>1のサイトの解説で試行錯誤したいと思います。
460名無しさん@お腹いっぱい。:2005/04/20(水) 22:23:36 ID:k4tAhkBG
MaxLineNo := A_Index
の行はいらなかったな、何か後で判定しようと思って入れたんだけど
461名無しさん@お腹いっぱい。:2005/04/20(水) 22:50:21 ID:k4tAhkBG
あ、漏れ IDがAhkだよ、今気づいた

それはそうと静観してるうちに、1.0.31.05までバージョン上がってるね
>444のバグも直ったっぽい。あと引っかかってたのはバージョンチェックで
If A_AhkVersion < 1.0.25.00
などの比較してたんだけど、数値認識できずエラーになるようになったみたい。
1.0.30まではOKだったんだけど元々イレギュラーな比較の仕方だったのも
462名無しさん@お腹いっぱい。:2005/04/20(水) 23:00:15 ID:uUC9cBJl
>>456
こいつny厨じゃん
463456:2005/04/20(水) 23:55:03 ID:SMytWmy0
>>462
nyってこの機能使うんでしょうか?

>>459のレスからずっと弄ってるのに未だできません・・・。
464名無しさん@お腹いっぱい。:2005/04/21(木) 00:07:24 ID:XjBihYGf
ずっとって…ヲイヲイ
初めて触るスクリプトを2時間かそこらでうまく走らせるようになるなんてあり得んぞ。

つか、にテキストファイルが読み込んで何行あるか読ませるのとか
プロセスや窓を閉じるのとか部品部品を試すもんだろ、最初は。

自分がどうやったとかが全然書いてないし、コマンド一つすらレスにないっつーのはどうよ。
465名無しさん@お腹いっぱい。:2005/04/21(木) 00:52:10 ID:ZpOgg+A2
nyのDLリストがクラスタワード3つを残して空になったらnyを終了させたいんだろ
466名無しさん@お腹いっぱい。:2005/04/21(木) 01:06:54 ID:uhGUjX+Z
それはまた贅沢な悩みだな
467名無しさん@お腹いっぱい。:2005/04/21(木) 07:50:16 ID:RPJr1Pmb
ヒント >332 あとは勝手にガンガレ
nyに詳しい人降臨してるな、漏れは使ったことないから知らんかったよ
468名無しさん@お腹いっぱい。:2005/04/21(木) 10:27:58 ID:z+w12zib
>>456
;--------------------------------------------------------------
SetEnv, filename, aaaa
SetEnv, WinTitle, bbbb

#Persistent
SetTimer,watch,500
return

watch:
FileReadLine, dummy, %filename%, 4
if ErrorLevel = 1
WinKill , %WinTitle%
return
;---------------------------------------------------------------

点線内を a.ahk って名前で保存

aaaaを監視したいファイル名→C:\Program Fil…
bbbbを終わらせたいアプリのタイトルバーの文字→文書 1 - Microsoft Word
みたいに変えて実行

>>462
スレ違い
469名無しさん@お腹いっぱい。:2005/04/21(木) 11:51:15 ID:z+w12zib
>>456
一応言っとくとファイルが書き換わる瞬間にチェックしてしまったら
終了させてしまうかもしれない
それに対応するのはアプリの特性とかが分からないと無理だし
わかってもめんどくさい
470名無しさん@お腹いっぱい。:2005/04/21(木) 12:22:42 ID:PpLuciwL
ahk ってそういう cron 的な使われ方も想定されてるの?
471名無しさん@お腹いっぱい。:2005/04/21(木) 12:44:38 ID:32ExG6IA
Menuお手軽に使えていいんだけど垂直セパレータ追加する方法って
今のところない…よね?

職場で使ってる業務用ソフト、ボタンで3階層くらい辿るようになってるんだが
アクセラレータキーもなくでマウス操作するしかないという。
しんどいんで ahkでメニュー化してキー操作できるようにしようとしてるんだが
項目多すぎてもう死にそう
472名無しさん@お腹いっぱい。:2005/04/21(木) 12:53:06 ID:FHyJg+E+
ShorterとSendではだめかいね?

------------------
%1 {autohotkeyのパス}
%2 {キー送るだけのスクリプトのパス}

A | %1 | %2 a
=
B | %1 | %2 b
新規作成 | %1 | %2 {ShiftDown}a(…略)
------------------

みたいな
473名無しさん@お腹いっぱい。:2005/04/21(木) 13:37:06 ID:XjBihYGf
文字ラベルのボタンならControlSetTextで "更新(&U)" みたいにすれば
Altキー併用のキー設定できるけどな。
474名無しさん@お腹いっぱい。:2005/04/21(木) 15:23:29 ID:32ExG6IA
>>472
Shorter NT4だと正常に動かないっぽ orz
あーでも ver. 0.18以前ならかろうじてOKなんで試してみようかな

>>473
うーん、ネットワーク越しの鯖のウィンドウを呼び出してるらしくて
ControlClassもテキストも取得できないんですよ...
WindowTextだけはなんとか取得できるので、かろうじて制御は可能なんだけど
(Ahk_Classは兄弟ウィンドウ全部同じクラス名になってしまいNG)
最初の階層のボタンをMouseClickで叩けばフォーカスが定まるんで
2階層目以降は Send,{Tab n}{Enter}てな感じでいけるんだけど
475名無しさん@お腹いっぱい。:2005/04/23(土) 23:09:18 ID:D+CWl25+
_をシフト押さずに入力したいんだけど
_::send,+_
と設定しても出来ませんがどうしてでしょうか?
476名無しさん@お腹いっぱい。:2005/04/23(土) 23:15:51 ID:PmzldVYZ
>>475
当然だろ
477名無しさん@お腹いっぱい。:2005/04/23(土) 23:30:59 ID:cXKM2D4y
>>475
sc073:: Send,_

詳しくは
ttp://lukewarm.s101.xrea.com/KeyList.htm
の、その他のキーを参照
478名無しさん@お腹いっぱい。:2005/04/25(月) 22:52:53 ID:5GoYBG9c
クリップボードにあるパスの親フォルダのパスを参照するって無理ですか?
例えばクリップボードにD:\AAA\BB.txtがあった時のD:\AAAって意味です。
479名無しさん@お腹いっぱい。:2005/04/25(月) 22:58:17 ID:AOWWwPcd
SplitPathで余裕じゃないか?
480478:2005/04/25(月) 23:06:32 ID:5GoYBG9c
>>479
見落としてました。
これでできました。ありがとうございます。
481名無しさん@お腹いっぱい。:2005/04/27(水) 09:09:31 ID:2zCb+BMn
右クリックを押しながらホイール上下でアプリを切り換えに
Alt+Tab の機能を持たせたいんですがどうすれば良いのでしょうか。
あと、右クリック+左クリックを コントロール+左クリックにもしたいです。
教えてエロい人!
482名無しさん@お腹いっぱい。:2005/04/27(水) 10:02:37 ID:NTmWoNv7
for NT or higher

~RButton & WheelDown::AltTab
~RButton & WheelUp::ShiftAltTab
483名無しさん@お腹いっぱい。:2005/04/28(木) 17:31:48 ID:amNnm4SV
1.0.31.06
484名無しさん@お腹いっぱい。:2005/04/28(木) 18:36:42 ID:qAs43z2U
>>482
ありがとう。ところでこの書き方だと切り換え後に切り換え前の
アプリの右クリックメニューが表示されてしまうんだけど
これをキャンセルする方法は無いかな?激しくウザくて。

書式の先頭のチルダを削除したら大丈夫だけど
それだと右クリック自体がキャンセルさせてしまうし。
何か良い方法は無いかな。
485名無しさん@お腹いっぱい。:2005/04/28(木) 19:49:34 ID:HpvtWP+K
Send,{Alt}]で右クリメニューはキャンセルできるよ
486名無しさん@お腹いっぱい。:2005/04/28(木) 23:32:08 ID:RsB0C757
>>484
~RButton Up::
If(IsTaskChange)
{
Send,{Alt}
IsTaskChange := 0
}
return
WheelDown::
GetKeyState, RB, RButton, P
If(RB = "D")
{
IsTaskChange := 1
Send,{AltDown}
Send,{Tab}
}
Else
Send,{WheelDown}
return
WheelUp::
GetKeyState, RB, RButton, P
If(RB = "D")
{
IsTaskChange := 1
Send,{AltDown}
Send,+{Tab}
}
Else
Send,{WheelUp}
return
487名無しさん@お腹いっぱい。:2005/04/29(金) 03:13:39 ID:cMJ1JB0L
488名無しさん@お腹いっぱい。:2005/04/29(金) 03:22:04 ID:TyBRX4CZ
>>487
ClockLauncher使っとけ。全部対応してるから。
489名無しさん@お腹いっぱい。:2005/04/29(金) 05:13:37 ID:CStkAXQt
>>487
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/
リネームは、ここの102
ダブルクリックで上の階層はこんなんでええんかな?

~Lbutton::
ifwinnotactive,ahk_class CabinetWClass
return
tapcount=1
wingetactivetitle,wintitle1
loop,
{
KeyWait,Lbutton
sleep,50
KeyWait,Lbutton,t0.1 d
if ErrorLevel=0
tapcount+=1
else
break
}
if tapcount=2
{
wingetactivetitle,wintitle2
if wintitle1=%wintitle2%
send,{bs}
}
return
490名無しさん@お腹いっぱい。:2005/04/29(金) 15:05:05 ID:UQbF8bEi
これ AutoIT やね。
AutoITでPC便利化計画。最強
http://www.autoitscript.com/autoit3/
491487:2005/04/29(金) 15:56:37 ID:nR+7qyF1
>>489
なるほどSetTimer使った監視は必要ないんだなぁ、
リネームのと階層移動のを一緒に使うと
~LButtonがダブってると怒られるんだけど、
これはリネームの方の~Lbuttonを切るのが一番だろうか。

作らせて置いて悪いんだけどエクスプローラー自体使ってなくて
なんていうかスクリプト見たいだけなんです、すみません。
>>488もわざわざ代用ソフトすみません
492名無しさん@お腹いっぱい。:2005/04/29(金) 18:43:45 ID:jXzDjvJ4
今TTBaseのスレが地味に盛上がってるからなぁ、気持ちはわかる
>>491
>489の~Lbutton::の直下にでもcount=0の行を追加すればええんちゃう?
493487:2005/04/29(金) 19:13:41 ID:nR+7qyF1
>>492
なるほど、言われてみればそうでした。しょぼいなぁおれ
494名無しさん@お腹いっぱい。:2005/04/29(金) 20:32:34 ID:w6k9J/a8
Autoit で書かれたソフトなん?
495名無しさん@お腹いっぱい。:2005/04/30(土) 01:49:03 ID:3oLihpl2
AutoItはCOMのことでそ
使ったこと無いけど
496名無しさん@お腹いっぱい。:2005/04/30(土) 10:33:43 ID:iT3G//Ou
窓のプロセスのフルパスって取得できないもんかねぇ。
Winget, OutputVar, ProcessName, A
じゃパス無しファイル名だけだし。
497名無しさん@お腹いっぱい。:2005/04/30(土) 10:41:08 ID:c2RiiBbP
QuickDIrを絡ませるのは同かね
INIが一行だけなら即実行するのでフルパス取得スクリプトへ飛ばしたり
498名無しさん@お腹いっぱい。:2005/04/30(土) 11:02:14 ID:iT3G//Ou
>>497
フリーのツールかぁ。コマンドかと思ってリファレンス探しちまったよw

キー割り当てて使いたくてね。
繭だと現フォーカスのクラス名が「ファイルパス:クラス名:クラス名…」って感じで
取得できるからそれを引数にwsh起動して2個目の「:」以降を捨てれば
ファイルパス取得できたんよ。
で、wshから「explorer ファイル名」を実行すれば起動窓のディレクトリ開けたわけ。

でも情報サンクス。
499名無しさん@お腹いっぱい。:2005/04/30(土) 15:20:23 ID:3oLihpl2
>>471
ttp://www.autohotkey.com/changelog/PendingChanges.htmに
>Menu: support for multi-column menus, in automatic or manual mode 
>(automatic mode adjusts based on screen height to make a multi-column menu to prevent a scrolling menu from appearing).
とあるからそのうちサポートするみたいよ。
500名無しさん@お腹いっぱい。:2005/04/30(土) 17:44:56 ID:iT3G//Ou
小ネタ、AHKからオミトロンのバイパス on/off トグル

DetectHiddenWindows, On
IfWinExist, ahk_class PrxTronCls
 PostMessage,0x111,1007,0,,ahk_class PrxTronCls
501名無しさん@お腹いっぱい。:2005/05/01(日) 03:20:06 ID:3lmhGmAd
流行らせるページのような辞書的なものとは別に、
逆引きリファレンスみたいなものもあるといいなぁ。
できればwikiで。(人任せ)
502名無しさん@お腹いっぱい。:2005/05/02(月) 15:57:41 ID:Kk64zGDO
>>501はやれば出来る子
503名無しさん@お腹いっぱい。:2005/05/02(月) 16:17:08 ID:C8rrgpVI
コントロール押したままホイルマウスをくるくるすると
強制的に横スクロールするようにしたいのですが
なかなかうまくいきません
どなたかヒント頂けませんでしょうか

LCtrl & WheelDown::
MouseGetPos,OrgX,OrgY,hwnd,cls
PostMessage, 0x114, 1, %hwnd%
;Send,!{PgUp}これならエクセルだとうまくいきます

よろしくお願いします。
504名無しさん@お腹いっぱい。:2005/05/02(月) 19:34:46 ID:sw0gKEu2
~LCtrl & WheelDown::
MouseGetPos,,,hwnd,cls
PostMessage,0x114,1,%hwnd%,%cls%,ahk_id %hwnd%
return

# wParamとlPramを指定しているだけで、PostMessageをどの窓に送るかが指定されていない。
# また、LCtrlが使えなくなってもいいなら別だが、コンビネーションキーで使うなら ~ あったほうがいい。
505名無しさん@お腹いっぱい。:2005/05/02(月) 22:20:52 ID:VQZHsZNI
>>503

<^WheelUp::
<^WheelDown::
MouseGetPos,,, hwnd, cls
IfEqual A_ThisHotkey, <^WheelUp, PostMessage, 0x114, 0, %hwnd%, %cls%, ahk_id %hwnd%
Else PostMessage, 0x114, 1, %hwnd%, %cls%, ahk_id %hwnd%
return

こんな感じのほうがLCtl使うより良いと思う。ただ、エクスプローラでしか動作確認できてない。
メッセージの送り先が違うんかな…
506503:2005/05/03(火) 08:15:58 ID:ipiKQDcN
>>504 >>505
ありがとうございます。

両者ともエクスプローラ・メモ帳だとうまくいきました。
ExcelとかのMDI形式のものはやはりきつそうですね・・・
507名無しさん@お腹いっぱい。:2005/05/03(火) 09:07:38 ID:d3+17j4k
MouseGetPos,,,hwnd,cls

MouseGetPos,,,hwnd,cls,1
でMDIでもマウス下のコントロール正確に拾えるようになる。
ただWM_HSCROLLを投げてもダメなアプリもある、EXCELとか。
あと lpalam(スクロールバーのウィンドウのハンドル) ってのは
よくわからんがウチだと0にしといても動いてる。
指定するのは目的のウィンドウハンドルではないのかしらん。

EXCELは現在アクティブな子ウィンドウ(マウス位置ではなく)に対しての
WM_MOUSEWHELLしか効かないみたい。スクロールは縦も横も全然ダメっぽい。
508名無しさん@お腹いっぱい。:2005/05/03(火) 11:23:57 ID:nG4sCflU
アクティブ窓のクラス名でMouseGetPosでAltMethodをとるかどうか
挙動を変えた方がいいみたいだな。
509名無しさん@お腹いっぱい。:2005/05/03(火) 19:08:28 ID:qiV6qJiu
タスクトレイに入っているものを復活させたり操作することは無理ですか?
タスクトレイでのそのアプリのアイコンの位置は決まっていません。
510名無しさん@お腹いっぱい。:2005/05/03(火) 19:59:15 ID:nG4sCflU
隠し窓操作でなんとかなるやつもあるかも試練。
>>500参照
511名無しさん@お腹いっぱい。:2005/05/03(火) 20:02:23 ID:d3+17j4k
スクリーンショット取って任意のアプリのアイコン画像をbmpなどに切出しておいて
ImageSearchで位置をとり、MouseClickとかで制御すればいけると思う
ただ状況によってアイコンが変わるアプリのなんかの場合は
アイコン数ぶんだけの画像をチェックしないといかんかも知れんが。


;タスクトレイアイコン左クリでアプリが復活右クリ
;X1〜Y2:タスクトバー座標
CoordMode,Pixel,Screen
ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, c:\hoge\icon.bmp
MouseClick,R,OutputVarX, OutputVarY ;アプリコンテクストメニュー表示
Send,{Down 3}{Enter};メニュー選択
512名無しさん@お腹いっぱい。:2005/05/03(火) 20:05:55 ID:d3+17j4k
書きかけで送信してもうた orz

;タスクトレイアイコン左クリでアプリが復活右クリ
の行は消し忘れ、無視してくれ

>510確かにこっちのが手軽だな
今はahk_pidが使えるから、プロセス名(hoge.exe)とかからPID取って
それで制御すると良いかも。
513名無しさん@お腹いっぱい。:2005/05/04(水) 00:01:31 ID:qiV6qJiu
PostMessageの0x111って何?
ttp://www.geocities.co.jp/SiliconValley-Cupertino/5872/Message/WM/
この中なんだろうけど見つけられない。
514名無しさん@お腹いっぱい。:2005/05/04(水) 00:08:51 ID:agGOSK2h
WM_COMMANDだろうと調べずにレス。
515513:2005/05/04(水) 00:09:55 ID:N+nfMXby
>>514
正解みたい。
サンクス。
516509:2005/05/04(水) 00:15:17 ID:N+nfMXby
でもまだ>>510の意味がよくわからんです・・・。
517名無しさん@お腹いっぱい。:2005/05/04(水) 00:20:15 ID:/j9C8CcH
>>516
結局具体的にはどういうことがしたいのよ。
518509:2005/05/04(水) 00:22:55 ID:N+nfMXby
ものすごく具体的に言うと、
kbMediaPlayerで音楽を再生するときにタスクトレイに入れているんですが
その状態で一時停止とかをホットキーに割り当てたいのです。
519517:2005/05/04(水) 00:54:54 ID:/j9C8CcH
>>518
んー、AutoHotKeyだとちょっと辛いかも。
てか、kbMediaPlayer自体にあるホットキー機能じゃだめなのか?
ツール(I)→その他の設定(A)→ホットキー有効(H)にチェック入れて、
Ctrl+Shift+Pで再生とか。
520名無しさん@お腹いっぱい。:2005/05/04(水) 01:16:17 ID:N+nfMXby
>>519
あ、ホットキーってトレイに入っていても効くんですね。
勘違いしてました。ありがとうございます。
521名無しさん@お腹いっぱい。:2005/05/04(水) 01:57:04 ID:EYxLX1DB
なんだこのつまらない落ちは・・
522名無しさん@お腹いっぱい。:2005/05/04(水) 02:31:46 ID:99sbZHGv
おっと、ほっとけ
523名無しさん@お腹いっぱい。:2005/05/04(水) 21:33:08 ID:rODwuneF
GetKeyStateでマウスのホイールクリック
押し下げ・上げ状態が収得できないのは仕様でしょうか?
常に変数にはDが入ります
524523:2005/05/04(水) 21:38:27 ID:rODwuneF
すいません間違えました
変数には常にUが入ります
525名無しさん@お腹いっぱい。:2005/05/04(水) 22:36:38 ID:/j9C8CcH
>>524
取得できたけど。(XP SP2, AHK 1.0.31.07)
↓のスクリプト試してみて。つか、環境ぐらい書いてや。

GetKeyState, M, MButton
If M = U
MsgBox, Up
Else If M = D
MsgBox, Down
Else
MsgBox, Null
return
526523:2005/05/04(水) 22:57:41 ID:rODwuneF
>>525
ありがとう

でも、なんだか自分の書いたコードでは動きません
環境は WINXP SP2 AHK 1.0.31.07

ホイールクリックしたときに常駐AutoHotKey.iniから以下のコードを書いたファイルをRunで呼び出します。
IfWinActive ahk_class MyApp
{
loop
{
GetKeyState OutputVar, MButton, P
If OutputVar = D
MouseClick left
else
break
}
}
MouseClick MIDDLE
ExitApp

ホイールクリックされたときに任意のアプリがアクティブだったとき
ホイール押してる間は左クリックの連打をしたいのです。。。
よろしくお願いします。
527名無しさん@お腹いっぱい。:2005/05/04(水) 23:08:51 ID:/j9C8CcH
>>526
GetKeyStateのところで P をつけてるけど、
ちゃんと#InstallMouseHookしてるの?
528523:2005/05/04(水) 23:14:34 ID:rODwuneF
>>527
書いてるけどダメです
529525:2005/05/05(木) 00:31:55 ID:iGuOrAOW
>>528
なんとなく原因は分かるんだけど、どうにもうまい解決策が書けない…
とりあえず試したコード置いとく。
RIGHTをMButtonにすると動かんね。
他の人にパス。

;テストコード
;メモ帳で右矢印を押しながらミドルクリックすると、
;右矢印が離されるまでAを出力
;メモ帳以外では右クリック

MButton ::
IfWinActive, ahk_class Notepad
{
Loop
{
GetKeyState, M, RIGHT
If M = D
{
Send, A
Sleep, 100
}
Else Break
}
}
Else Send, {RButton}
return
530名無しさん@お腹いっぱい。:2005/05/05(木) 03:19:46 ID:z1l8NrxL
>IfWinActive, ahk_class Notepad
こういうクラスを複数指定したい時はどうしたらいいですか?
531名無しさん@お腹いっぱい。:2005/05/05(木) 03:26:49 ID:ZfCnTvWw
WinGetClass,cls,A
If cls contains Notepad,CabinetWClass,#32770,…
 MsgBox,hoge
532523:2005/05/05(木) 16:26:59 ID:D9lN4zz2
>>529
ありがとう、ホイールボタンはひとまずあきらめて
キーを絡めてコードを書き直してみます。
533名無しさん@お腹いっぱい。:2005/05/05(木) 16:38:15 ID:J9J/cHxU
http://YahooBB219215212135.bbtec.net/
うぇwwwっっうはっwwwうぇwwwwwwwwwwww
うはっwwwwおkwwwうはっwwwうぇwww

っうぇっうぇwおkwww
wwwwwwっうぇ
534名無しさん@お腹いっぱい。:2005/05/06(金) 14:40:15 ID:rG/L1kSV
ローカル変数マンセーってことで
既存ルーチンをFunctionに書き直したらメモリ常駐量増えたorz
やっぱ>448ってことなんかな
535名無しさん@お腹いっぱい。:2005/05/06(金) 15:31:10 ID:rG/L1kSV
タスクトレイのデフォルトメニュー (Pause Script)を選ぶと
何かエラーメッセージ出る。NT4SP6 1.0.24 , 1.0.30.03 , 1.0.32
(ホットキー or 自分で追加したメニューでのPauseはOK)
以前のバージョンではちゃんと効いてた気がするんだけど、何だろ

SetTimer,test,5000
Menu,TRAY,Add
Menu,TRAY,Add,Pause_2 ,#p
return

#p::
Pause,Toggle
return

test:
cnt++
tooltip,%cnt%
return
536名無しさん@お腹いっぱい。:2005/05/06(金) 23:40:36 ID:niNkgHlg
根本的な解決にはならないけど、ラベル列挙はどうよ。

Menu,TRAY,Add,Pause_2 ,hoge
   :
hoge:
#p::
   :

脱繭はかなりうまくいってるけど、脱マウ筋は厳しい・・・
537535:2005/05/07(土) 00:52:53 ID:ypW7J0hR
いや、Pause_2のほうはラベル列挙しなくてもちゃんと効くんですが
元々ある StandardMenuの方の 「Pause Script」がエラーになるのです。
いつのバージョンからかアラートが出てPauseしてくれなくなっちゃって。

仕様なのかもしんないけど、これだと標準メニューに入れてある意味がないし、
何かバグっぽいのかなと思って。

タイマー使ったテストスクリプトとかちょっと書く時とか、わざわざコードに
入れ込まなくても使えたんでちと不便。
538233:2005/05/09(月) 01:41:23 ID:zU71pxGA
WheelUp::
WheelDown::
 MouseGetPos,x,y,hwnd,cls
 MouseGetPos,,,,cls2,1
 if(cls != cls2)
  cls := cls2
 accel := (A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 80) + (A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 250) + 1
 wParam := 0x780000 * accel * (1 - 2 *(A_ThisHotkey = "WheelDown"))
 lParam := x + y*0x10000
 PostMessage,0x20A, %wParam%,%lParam%, %cls%, ahk_id %hwnd%
 return

ホイールリダイレクト。例によって加速付き。
だいぶ短くなった。今のところMDIを含め殆ど動ようになった。
W2kSP4, AHK1.0.32.00
539名無しさん@お腹いっぱい。:2005/05/10(火) 11:12:56 ID:yD/HtF4C
A_TimeIdleって操作するとクリアされないの?
下のスクリプトだと、600秒たつと常に実行されるみたい。
使い方を勘違いしてたら教えて。

#Persistent
SetTimer, test, 600000
return

test:
If A_TimeIdle > 5000
Send, hoge
return

540名無しさん@お腹いっぱい。:2005/05/10(火) 11:38:37 ID:6L+Y9uvQ
ttp://95.89.111.219.dy.bbexcite.jp/
wwwwwwwwwwwwwwおkwwwwwwwwwwwwwww
っうはっwうはっwwwwwwwwwwww
wwwwwwwwwwwwうはっうはっwwwおk
wwwwwwwwwwwwwwwwwwwっwwwwwwwwwwww
541名無しさん@お腹いっぱい。:2005/05/10(火) 17:10:15 ID:UhnrLUER
A_TimeIdle
最後に何らかの入力があってからの経過時間をミリ秒で格納。(NT系専用)
PCが放置されているときにアクションを起こすのに使える。
何らかのプログラムが生成した入力イベントでもリセットされてしまう。
542名無しさん@お腹いっぱい。:2005/05/10(火) 17:21:48 ID:UhnrLUER
って環境のせいだろと思ったら
不等号逆じゃん
543名無しさん@お腹いっぱい。:2005/05/10(火) 18:57:14 ID:yD/HtF4C
逆なの?
俺の理解では、A_TimeIdleは入力がないと値が増えて、
何か入力がないと0になる。
下の説明でも、
IfGreater, A_TimeIdle, 600000, MsgBox, The last keyboard or mouse activity was at least 10 minutes ago.
は、
IF A_TimeIdle > 600000, MsgBox, 10分間入力がなかった
ということだと思うんだが。

The number of milliseconds that have elapsed since the system
last received keyboard, mouse, or other input. This is useful
for determining whether the user is away. This variable will
be blank unless the operating system is Windows 2000, XP, or
beyond. Physical input from the user as well as artificial
input generated by any program or script (such as the Send or
MouseMove commands) will reset this value back to zero. Since
this value tends to increase by increments of 10, do not check
whether it is equal to another value. Instead, check whether
it is greater or less than another value. For example:
IfGreater, A_TimeIdle, 600000, MsgBox,
The last keyboard or mouse activity was at least 10 minutes ago.

544名無しさん@お腹いっぱい。:2005/05/10(火) 18:57:55 ID:yD/HtF4C
失礼。
何か入力があると0になる。
545541:2005/05/10(火) 21:18:40 ID:BRBDtpga
>>539
結局どうなってほしいの?
内容は合ってるから、入力があっても無くても実行されるんなら
やっぱり環境のせい
素直にA_TimeIdlePhysicalを使えばいいと思う
どうしても、原因を知りたければ

SetTimer, test, 1000

test:
ToolTip, %A_TimeIdle%
return

にするとか
546名無しさん@お腹いっぱい。:2005/05/10(火) 22:54:03 ID:E4J0e5a2
>539
10分ごとに 5秒間無操作だったら hoge送信する
何がやりたいんだがよくわからんが
5秒間無操作状態なんてちょっと小休止してたらすぐだし。

SetTimer→60秒 TimeIdle > 15秒くらいで
とりあえず動作チェックとかしてみてはどうか
547名無しさん@お腹いっぱい。:2005/05/10(火) 23:42:55 ID:LlKGUnGO
指定した時間が経つとPCをロックする。 LockOutTime に分を入れておく。0ならオフとなる。
LockOutTime = 10
SetTimer,LockPC,on
return
LockPC:
OrgFormat := A_FormatFloat
SetFormat,Float,0.0
LockOutRemain := (LockOutTime * 60000 - A_TimeIdlePhysical) / 1000
if (LockOutTime < 1)
SetTimer,LockPC,off
else if (LockOutRemain < 1)
{
SetTimer,LockPC,10000
tooltip,,,,15
Run, rundll32.exe user32.dll LockWorkStation
}
else if (LockOutRemain < 61 )
{
SetTimer,LockPC,1000
x := A_ScreenWidth / 2 - 50
y := A_ScreenHeight / 2
tooltip, あと %LockOutRemain% 秒でロックアウトします,%x%, %y%,15
}
else
{
SetTimer,LockPC,10000
tooltip,,,,15
}
SetFormat,Float,%OrgFormat%
return
548539:2005/05/11(水) 13:07:01 ID:wsBZ7SSX

5秒は短すぎたというのもある。
実際はこう書いていて、
test:
If A_TimeIdle > 600000
Send, hoge
MsgBox, 10分間入力がなかった
return

これは、
test:
If A_TimeIdle > 600000
 {
  Send, hoge
 }
MsgBox, 10分間入力がなかった
return
つーことだったのかと気づいた。今は、
test:
If A_TimeIdle > 600000
 {
  Send, hoge
  MsgBox, 10分間入力がなかった
 }
return
こうしている。
549541:2005/05/11(水) 14:12:49 ID:hbgHet1s
>>548
分かりにけーよ
結局解決したの?してないの?
あとsettimerが10分のままだったら誤差が10分だっつーの
550539:2005/05/11(水) 16:08:15 ID:wsBZ7SSX
解決したよ。
誤差はあるが、要は操作していないときに動いてくれればいいからOK。

んでだな、流行らせるページの
ttp://lukewarm.s101.xrea.com/Tutorial.htm
#Persistent
SetTimer,ExecWWWC,60000
return

ExecWWWC:
If A_TimeIdle < 300000
Run,d:\app\wwwc\WWWC.exe
return
は違うと思うが、どーよ。
551名無しさん@お腹いっぱい。:2005/05/11(水) 17:28:21 ID:vZO0XuMg
で?
552名無しさん@お腹いっぱい。:2005/05/12(木) 00:30:36 ID:h3izDHmk
急激にスレのレベルが下がったな・・・
553名無しさん@お腹いっぱい。:2005/05/12(木) 09:26:43 ID:SGxNRc0t
だな。
何の情報もなく、スレの感想書くやつが現れるまでになったな。
554名無しさん@お腹いっぱい。:2005/05/12(木) 09:59:51 ID:dTuPJH23
>>553
それって>>553のことですか?
555名無しさん@お腹いっぱい。:2005/05/12(木) 10:22:23 ID:SGxNRc0t
>>552-555の事だよ!
つーかそれも含めて分かった上で書いてるんだから
面白いレスが思いつかないなら書くなよ
556名無しさん@お腹いっぱい。:2005/05/12(木) 11:05:31 ID:YxQ/v61u
> 面白いレスが思いつかないなら書くなよ
それってID:SGxNRc0tのことですか?
557名無しさん@お腹いっぱい。:2005/05/12(木) 12:01:06 ID:SGxNRc0t
あのさ、お前それ書くとき何秒考えた?
誰でも考え付くってことはわかるよな。それも無理か?
俺を叩くのもスレを荒らすのもとりあえずはどうでもいいんだよ
ちょっとは考えろって言ってるんだ

で、次あたり俺の書いたレスをコピペして適当に変える気だろ?
ってかいたら「ああコピペされたらむかつくから予防線はってるのか」だろ
誰でも考え付くことを得意げにやってるお前の馬鹿さ加減にいらいらしてることに気付づけやカス
とりあえず次は頑張って捻ったことを書けよ
558名無しさん@お腹いっぱい。:2005/05/12(木) 12:24:40 ID:Jers735D
風俗行って「なあ、お前の両親はこの仕事してること知ってるのか」って言ってそうなやつだな。
559名無しさん@お腹いっぱい。:2005/05/12(木) 13:36:27 ID:SGxNRc0t
そんな奴っているのか
少なくとも俺がとった客には居なかったな
560名無しさん@お腹いっぱい。:2005/05/12(木) 14:12:51 ID:Q0/HDweD
マウスの左ボタンを押しながらホイールで
Alt押しながらホイール、にしたいのですが、
どうすればよいでしょうか。
下のだと駄目でした。

LButton & WheelUp::
IfWinActive, Sleipnir
Send,!{MouseClick, WheelUp}
return
561名無しさん@お腹いっぱい。:2005/05/12(木) 14:59:12 ID:SGxNRc0t
Send!{WheelUp}
あとは>>481-486参照で多分出来る
562名無しさん@お腹いっぱい。:2005/05/12(木) 15:09:03 ID:SGxNRc0t
ミスってるな…一応
Send,!{WheelUp}
563560:2005/05/12(木) 15:44:43 ID:Q0/HDweD
>>561
レスどうも。
>>538のホイールリダイレクト(←便利)を切ったら、それでできました。
同時に走らせられないもんですかね。
564名無しさん@お腹いっぱい。:2005/05/12(木) 18:40:32 ID:ygbcLxmH
よくわからんが
~LButton & WheelUp::
じゃあかんのか?
565560:2005/05/12(木) 19:06:25 ID:Q0/HDweD
あかんです。
566名無しさん@お腹いっぱい。:2005/05/12(木) 19:27:10 ID:ygbcLxmH
ほんなら↓はどないだ? 例によって全角スペース→半角2スペで。
WheelUp::
  GetKeyState,key,LButton,P
  if(key = "D")
  {
    IfWinActive, Sleipnir
      Send,!{WheelUp}
  }
  else
    Gosub,WheelRedirect
return
WheelDown:: Gosub,WheelRedirect

WheelRedirect:
  >>538の中身
return
567560:2005/05/12(木) 20:55:15 ID:Q0/HDweD
うまくいきました。ども。
ただ、~LButton & WheelDownすると「きた」と入力されるのが謎。
スクリプト見てもそんなのないし。
568名無しさん@お腹いっぱい。:2005/05/12(木) 22:34:48 ID:hYeiY7pc
>>547=538=500=486=454=451=373=333= etc. だが(藁

やっぱ住人は少ないのかなぁ。今日も3人(+愉快な仲間たち)で会話っぽいし。

>>500とか>>547みたく思いつきで適当に書いたりしてるけど、反応ないと何かツマンネ。
プギャーくらいは欲しいぜよ。
他スレで工作員をたまにやったりしてるんだが、やっぱ布教が足りんのかな。
569名無しさん@お腹いっぱい。:2005/05/12(木) 22:42:31 ID:la7HjKcw
興味の有るネタじゃないとわざわざ書いてやるのマンドクセ
570名無しさん@お腹いっぱい。:2005/05/12(木) 22:48:55 ID:ygbcLxmH
質問だと自分のわかる範囲ならレスつけやすいんだがな
投稿系スクリプトは己に必要がないとなかなか試さないからなぁ
使ってないソフトの制御とかだと試しようもないし

ちなみに漏れは、このスレ内の流れと関連のないスクリプトは
なるべく流行らせるページの投稿スレのほうに貼るようにしてる。
どっちに貼ってもレスつかないって点では同じだし。
571名無しさん@お腹いっぱい。:2005/05/12(木) 23:54:01 ID:rIUzAmGj
すいません、あるファイルが選択されている状態で、
(たとえば)「Ctrl+Alt+P」が押されたときに、
そのファイルのフルパスを取得するにはどうすればよいのでしょうか?
572名無しさん@お腹いっぱい。:2005/05/13(金) 00:38:03 ID:eia7V2By
エクスプローラ (ahk_class CabinetWClass) での話なら、
コピー(^C)してやればファイルパス取得可能。

^!P::
 ifWinActive,ahk_class CabinetWClass
 {
  ControlGetFocus,cls,A
  IfInString,cls,SysListView32
  {
   Backup := ClipboardAll
   clipboard :=
   Send, ^c
   selected_file_path := clipboard
   clipboard := Backup
   Backup =
   tooltip, %selected_file_path%
  }
 }
 return

ちなみに、複数ファイルのパスを改行(`n)区切りで取得されるので、
場合によっては parsing loop で処理する必要がある
573名無しさん@お腹いっぱい。:2005/05/13(金) 05:53:34 ID:2VWAiMYh
エクスプローラは←側にフォルダツリー出すとClass名変わるよ(ExploreWClass)
任意のホットキーで意識的に発動したいってことみたいだし
デスクトップや他ファイラなんかでも効いたほうがいいだろうから
WindowやControlはチェックしないほうが良いと思われ
^!P::
   Backup := ClipboardAll
   clipboard =
   selected_file_path =
   Send, ^c
   ClipWait,0.5
   IfNotEqual,ErrorLevel,0,  return  ;コピー失敗
   Loop,Parse,clipboard,`n,`r
   {
     IfExist,%A_LoopField%
     {
       ;some action
       ifEqual selected_file_path, ,SetEnv,selected_file_path,%A_LoopField%
       else             SetEnv,selected_file_path,%selected_file_path%`n%A_LoopField%
     }
   }
   clipboard := Backup
   Backup =
   tooltip, %selected_file_path%
return
574名無しさん@お腹いっぱい。:2005/05/13(金) 05:59:25 ID:2VWAiMYh
尚、ショートカット(.lnk)のリンク先のパスを取りたい場合は
FileGetShortcutを使うといい
575名無しさん@お腹いっぱい。:2005/05/13(金) 08:45:35 ID:icqCEluF
>>568
>>486に関しては同情するが
基本的に人の作ったのに興味ない人間しか常駐してないだろ
分からない奴は読まないで質問するだろうし
576名無しさん@お腹いっぱい。:2005/05/13(金) 22:07:38 ID:2VWAiMYh
>538みたいなのはビギナーがコピペで即動かせる反面
ある程度自力で環境作ってる人間には>563のように干渉したり
組込みが面倒だったりするんだよな。
関数も使えるようになったことだし、汎用モジュール化して>451みたいに
配布したほうが他人からは使ってもらいやすいかも。

>>575
逆に言うと人のソースをあてにせずとも自分で何とかできる人間は
多少は存在しているということなので
(漏れみたいに自分が書いたモン以外理解できないだけなヤシもいるが)
「要望出すと誰かがスクリプトを書いてくれるスレ」とかを立てたら
需要と供給が一致して多少にぎわうかモナー
577576:2005/05/13(金) 22:16:30 ID:2VWAiMYh
何かうまく説明できてないな(´・ω・`)

汎用モジュール化云々の下りは別に ホイールリダイレクトに対して
どうこうしろって要求ではなくて
今後自分が投稿する時とかのことを言いたかった。
578名無しさん@お腹いっぱい。:2005/05/14(土) 11:43:06 ID:f7nV+UsG
1.0.33
DllCall()実装キタ
579名無しさん@お腹いっぱい。:2005/05/14(土) 14:31:34 ID:u1U54PFk
拡張してんなぁ。
いっそのことコンパイルしてDLLも作れるように汁。
580名無しさん@お腹いっぱい。:2005/05/15(日) 00:17:32 ID:ao+UXwR7
ArgTypeの指定がようわからん(´・ω・`)
↓の HMODULE* なんつーのはどういうTypeにすればいいんだか…

BOOL EnumProcessModules(
 HANDLE hProcess,
 HMODULE* lphModule,
 DWORD cb,
 LPDWORD lpcbNeeded
);
581名無しさん@お腹いっぱい。:2005/05/15(日) 00:56:24 ID:upN1L5KZ
>>580
DllCall("psapi\EnumProcessModules","Int",hProcess,"Int*",hModule,"Int",4,"UInt*",dwNeed,"Int")
582名無しさん@お腹いっぱい。:2005/05/15(日) 15:33:20 ID:ao+UXwR7
>>581
サンクスです。EnumProcessModulesまでOKになりました。
Ahkでウィンドウのアプリのフルパスが取れれば…と思ったんだけど
次のGetModuleFileNameExが ErrorLevel = -4になってまう(´・ω・`)

#a::
  WinGet,PID,PID,A
  hProcess := DllCall("OpenProcess", "int","0x410", "int","false", "int",PID)
  Msgbox,Open ErrorLevel=%ErrorLevel% PID=%PID% hProcess=%hProcess%

  if (ErrorLevel = 0) && (hProcess <> -1)
  {
    if(DllCall("PsAPI\EnumProcessModules","Int",hProcess,"Int*",hModule,"Int",4,"UInt*",dwNeed,"Int"))
    {
      Msgbox,Enum ErrorLevel=%ErrorLevel% hModule=%hModule% dwNeed=%dwNeed%

      result := DllCall("PsAPI\GetModuleFileNameEx","Int",hProcess,"Int",hModule, "Char*",PName, "Int",1000,"Int")
      Msgbox,ex ErrorLevel=%ErrorLevel% result=%result% PName=%PName%
    }
  }
  result := DllCall("CloseHandle", "int",hProcess)
  Msgbox,Close ErrorLevel=%ErrorLevel% result=%result%
return
583名無しさん@お腹いっぱい。:2005/05/15(日) 15:40:45 ID:C3bhklPB
何かもうここまでやるならCで書いたほうが早い気がしてきた。
584名無しさん@お腹いっぱい。:2005/05/15(日) 18:41:42 ID:upN1L5KZ
>>582
ここにもうある
cgi19.plala.or.jp/lukewarm/news/2005_05.html#14
585名無しさん@お腹いっぱい。:2005/05/15(日) 22:06:31 ID:ao+UXwR7
あー本当だ…管理人さん仕事早いな、そして考えることは皆同じということか

今まではDelphiで作った外部のEXE通してたんだけど、やっぱahk単体でできるのはいいね。
psapi.dllならAutohotkeyのパッケージに含まれてるし、w2k以前のOSでも使えるのがイイ
586名無しさん@お腹いっぱい。:2005/05/16(月) 00:56:55 ID:MZx1OIfL
選択したテキストをクリップボードにコピーするのは↓でいいのですかね?
一応、機能しているようには感じるのですが。。。

~LButton Up::Send,^c
587名無しさん@お腹いっぱい。:2005/05/16(月) 01:29:28 ID:e8uZG3Vr
>>586
それだとクリックアップがあるたびにCtrl-C送っちゃうから誤爆も多いかもね。
ある程度クラス名とかで制限したほうが良いと思う。
588名無しさん@お腹いっぱい。:2005/05/16(月) 01:35:23 ID:MZx1OIfL
>>587
ホントだ。
Shift押しながらとかにしようと思ったけどうまくいかない。。。

Shift & ~LButton Up::Send,^c
589名無しさん@お腹いっぱい。:2005/05/16(月) 01:41:13 ID:e8uZG3Vr
>>588
修飾キーの付け方違う。
ttp://lukewarm.s101.xrea.com/Hotkeys.htm
まあもう少しどうやればいいか(どうしたいか)煮詰めてから書いたほうがいいよ。
でないとチャット状態になる悪寒。
590名無しさん@お腹いっぱい。:2005/05/16(月) 01:53:38 ID:MZx1OIfL
>>589
う〜ん、色々試しましたが、ギブアップです。。。

~+LButton Up::Send,^c
591名無しさん@お腹いっぱい。:2005/05/16(月) 07:55:11 ID:0kg5V75a
unixみたいに選択即コピーって動作にしたいってことだと思うが
Shift自体が選択開始キーなのでマウスと組み合わせると意図しない部分まで
選択されてしまったりしないか?

^c送信前に選択文字列があるかどうか調べられればいいんだろうけど
Selectedが取れるのは一部のEditコントロールだけだしな。
PixelGetColor or PixelSearch でマウス(キャレット)付近に選択色があるか
チェックするとか…
592名無しさん@お腹いっぱい。:2005/05/17(火) 17:11:12 ID:+LNyO5ly
ある条件でマウスポインタのアイコンが変わるようにしたいんだけど
どうすればいいか分かる人いる?
特殊なアプリ上は無視してマウスのプロパティの通常の選択を変更するだけでいいんだけど
ちなみにOSはXP
593名無しさん@お腹いっぱい。:2005/05/17(火) 22:02:59 ID:ak4lmF1P
JavaDog みたいなの、あると便利ですよね・・・
誰か作ってくれないかな(汗)
自分が作れないこともないけど、
そもそもJavaDogについて知ったのがつい最近だから、
作ってみても、質の悪いものしか作れなさそうで(汗)
594名無しさん@お腹いっぱい。:2005/05/17(火) 22:14:07 ID:aI7rmV96
AuoHotKeyで実現できる機能で、あると便利な機能のアイディアを出し合わない?

↓↓↓たとえばこんなの↓↓↓

「を入力&」を入力&カーソルを「と」の間に移動
595名無しさん@お腹いっぱい。:2005/05/17(火) 22:15:51 ID:DXRM2zvu
誰かエニグマ持ってきて
596名無しさん@お腹いっぱい。:2005/05/17(火) 22:16:36 ID:qV0Diah2
>>594
Auto



内容も意味不明
597名無しさん@お腹いっぱい。:2005/05/17(火) 22:50:43 ID:dePC1TGM
よくわからんがコレか?
ttp://www.javadog.com/
598名無しさん@お腹いっぱい。:2005/05/17(火) 22:58:24 ID:0IGl9FJA
整理してみた↓↓↓

カーソル移動の間に「を&を&を」と「入力入力」
599名無しさん@お腹いっぱい。:2005/05/17(火) 23:09:46 ID:zk9p1i9k
>>591
サンクス。
難しいので挫折します。
600名無しさん@お腹いっぱい。:2005/05/17(火) 23:17:43 ID:DXRM2zvu
ttp://d.hatena.ne.jp/monk_saruhobo/20050517/p1の
ドラッグを検知して、カーソルがIBeamだったらコピーってのには
一本取られた思いだ。
ダブルクリッコ効かなくなるけど。
601名無しさん@お腹いっぱい。:2005/05/17(火) 23:27:16 ID:YdD8dr8S
つまり、先にカギカッコを”「」”と打ちこんじゃうと。
すると”「”と”」”の間にカーソルを戻してくれると。

あまり意味ないんじゃないか?
各種括弧を効率よく入力する方法はいろいろ模索してるけど
602名無しさん@お腹いっぱい。:2005/05/17(火) 23:36:59 ID:l7FJqZZM
つまり
1.入力:「 → 「▎
2.入力:」 → 「」▎
3.自動: → 「▎」
こういうことか。( ▎ はキャレット)
ワープロでそういう機能が付いてるものはいくつかあるね。(一太郎とか)
でも有っても使いたいとは思わないな。
603名無しさん@お腹いっぱい。:2005/05/17(火) 23:44:16 ID:zk9p1i9k
>>600
サンクス。
このまま使わせてもらいます。
604名無しさん@お腹いっぱい。:2005/05/18(水) 00:05:54 ID:8plScv9K
>601-602
解説サンクス、やっと理解できた。
JaneDoeだと見え方違うのかと思ってわざわざIE互換ブラウザで開き直しちゃったYO

「」は個人的にはあんまり必要性は感じないけど
ソース書いてる時の {} () は閉め忘れ防止で、閉じてから
中身に取りかかるようにしてるのであったら便利かも知れぬ。
605名無しさん@お腹いっぱい。:2005/05/18(水) 00:22:55 ID:mIDDhW/a
そんなのエディタやIMEにまかせりゃいい
606名無しさん@お腹いっぱい。:2005/05/18(水) 00:26:46 ID:Gk4FIjba
このスレは、他のソフトで容易に可能なことを如何にしてAHKのみで可能にするか、というスレじゃないの?
なんかここ最近ずっとそんな感じなんだけど
607名無しさん@お腹いっぱい。:2005/05/18(水) 08:39:11 ID:VNZzfIsL
>>606
嫌ならほかの話題書けばいいじゃん
608名無しさん@お腹いっぱい。:2005/05/18(水) 08:47:23 ID:w0+qwMtQ
だな、「俺がこう言ってるから、お前らこうしろ」
ってむかつくよな。
609名無しさん@お腹いっぱい。:2005/05/18(水) 12:42:32 ID:VNZzfIsL
>>606
あ、>>605に対するレスか

続けたかったら続けたらいいんじゃないの
>>605はやめろって言ってるわけじゃないし
610名無しさん@お腹いっぱい。:2005/05/18(水) 15:12:09 ID:c1IR08bU
>他のソフトで容易に可能なことを如何にしてAHKのみで可能にするか
そうやって書かれると何かムダな努力をしているかのような(w
冷静に考えてみると確かにそうかもしれんがー
611名無しさん@お腹いっぱい。:2005/05/18(水) 17:01:47 ID:6n1ZXCvy
少しでも無駄な常駐ソフトを減らすためでもあるな
612名無しさん@お腹いっぱい。:2005/05/18(水) 18:30:39 ID:vkEQq2V2
win9xの時代なら意味も大きかっただろうけど、今だとそれほど大きな意味は
無いよなあ、常駐減らし。もちろん少ないに越したことはないけど。
613名無しさん@お腹いっぱい。:2005/05/18(水) 19:41:29 ID:4zEo/3Si
つうか、AutoHotKeyの可能性を試すスレじゃないのか?
様々なスクリプトを書くことに意義があると思うのだが。
614名無しさん@お腹いっぱい。:2005/05/18(水) 23:48:53 ID:w0+qwMtQ
>>613
じゃあ無駄なレスつけてないで、ゴリゴリとスクリプト書けば〜?
615名無しさん@お腹いっぱい。:2005/05/19(木) 18:12:35 ID:1njrKNvb
>>614
何イライラしてるの?煽ってる意味がわからん・・
616名無しさん@お腹いっぱい。:2005/05/19(木) 20:01:24 ID:uasCWANb
言ってることとやってることが違うって言いたいのだが、
間違ってるかい?
617名無しさん@お腹いっぱい。:2005/05/19(木) 20:39:03 ID:W4vpm7Zk
>> 616
広く需要がなさそうだったり、個人的に(゚听)イラネって思ってても
面白そうだと思った誰かがコード書いて貼り付けるかもしれないし
いちいち否定的なレス入れんでもいいよ

ってなことを>606,613あたりは言いたいだけではないか
そう書いたからって、別に要望受けつけの義務が生じるわけではないし
興味ないネタにスルーするのは自由だと思うが。
618名無しさん@お腹いっぱい。:2005/05/19(木) 20:46:32 ID:rGN8wQ6O
ソフト自体の有用性は疑うべくもないが、
素直にホットキーにvbsでも割り当てれば?って感じるケースもあったりなかったり
619名無しさん@お腹いっぱい。:2005/05/19(木) 22:57:59 ID:uasCWANb
ん、まぁ、なんだ、少しイライラしてた。
すまんかった。
620名無しさん@お腹いっぱい。:2005/05/19(木) 23:42:22 ID:W4vpm7Zk
とか何とかやってるうちに v1.0.33.01 出てた。
621名無しさん@お腹いっぱい。:2005/05/19(木) 23:46:06 ID:YeOFTzpa
DllCall()が使いやすく(見やすく)なった。
622名無しさん@お腹いっぱい。:2005/05/20(金) 02:13:01 ID:HVKe+iMq
同じマウス操作を、異なるアプリに異なるキー操作で割り当てようとしたら、
Duplicate label って出てエラーになるんですが、どうやったら回避できるんでしょうか?
623名無しさん@お腹いっぱい。:2005/05/20(金) 07:45:51 ID:IWk2tcfA
ラベルが重複してるって言ってるじゃん

同じラベルにぶち込んでIfWinActiveとかつかって窓判定させて
分岐させて各処理をさせるように汁。
624592:2005/05/20(金) 13:55:52 ID:cx7cMcWi
>>592の質問
流行らせるの方で聞くので取り下げます
625名無しさん@お腹いっぱい。:2005/05/20(金) 15:07:00 ID:LXsBPIHP
>>622
>同じマウス操作を、異なるアプリに異なるキー操作で割り当てようとしたら
よくわからん説明だが
キー操作でマウスコントロールしたいなら別にエラーにはならんと思うが
#a:: Send,{WheelUp}
#b:: Send,{WheelUp}

マウス操作でキー送信したいなら振分けが必要
WheelUp::
  ifWinActive, hoge
    Send,#a
  Else ifWinActive,hage
    Send,#b
return

>>624
レスつかないのはAutohotkey内の機能では多分無理だからだと思う
DllCallで何とかなるかも知れんのでまぁガンガレ
ttp://www.geocities.jp/winapi_database/Graphics/Cursor/index.html
626592:2005/05/20(金) 16:10:55 ID:cx7cMcWi
>>625
質問する前にぐぐった時点でそれは分かったんだけど
もともとdllの呼び出し方を知らない上に
autohotkeyから呼び出すサンプルも少ないんで
類推出来ずお手上げなので質問してみた
627625:2005/05/20(金) 23:58:26 ID:jhPL19PD
とりあえずLoadCursorFromFileで直接カーソルファイル指定で
システムのポインタは変えれるぽい
(LoadCursorも試してみたがイマイチ挙動がよくわからん)

#1::  SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoge.cur"),32512)
#2::  SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoga.cur"),32512)

LoadCursorFromFile(lpFileName)
{ ; カーソルファイルからマウスカーソルを作成する
  return DllCall("LoadCursorFromFile",Str, lpFileName, Int)
}
SetSystemCursor(hCur,id)
{ ;システムカーソルを変更する
  return DllCall("SetSystemCursor", Uint,hCur, Int,id ,Int)
}
628名無しさん@お腹いっぱい。:2005/05/21(土) 00:01:00 ID:jhPL19PD
↑ あ、ahkのバージョンは v1.0.33.01 でね。
629592:2005/05/22(日) 01:27:55 ID:pD90cfjA
>>627
出来ました
やっぱり俺のDllCallのやり方は全然間違ってました
どうもありがとう
630592:2005/05/25(水) 12:53:24 ID:62rl7YBY
IME状態表示用のアイコン作ってみた
ttp://lukewarm.s101.xrea.com/up/file/028.zip
631名無しさん@お腹いっぱい。:2005/05/25(水) 12:54:38 ID:62rl7YBY
あ、マウスカーソルに訂正
632名無しさん@お腹いっぱい。:2005/05/25(水) 15:14:15 ID:zdbfTCru
627 = 投稿スレ94 だが
IME制御のスクリプトをFunctionで書き直してたので便乗上げ
ttp://lukewarm.s101.xrea.com/up/file/029.zip

ただ なまず氏によるとIMEの常時監視は重くて実用的ではないそうだが
633名無しさん@お腹いっぱい。:2005/05/25(水) 20:20:12 ID:UL/StRhm
会社のにはATOK入れられないし言語バー邪魔なんで、
IME状態が切り替わったり、フォーカスが変わったりしたら
キャレット位置に [あ] [A_] のようにATOKナビもどきを表示させようと思い、
投稿スレの>>94を独自にFunction化して状態表示させるのやってみた。

試みとしてはうまくいって便利だったけど、上にもあるように重かった。
ダブルクリックを拾ってくれないし・・・
やっぱ定期的に SendMessage で応答待つのが痛いのかな

IMEヲチャ外しはまだ先になりそう・・・
634名無しさん@お腹いっぱい。:2005/05/25(水) 20:36:57 ID:RWhJ54OD
IMEウォッチャー相当のDLLを作ってAPIでAHKのプロセスにスレッドを作って監視とか出来ないかな
敢えてAHK内でやる意味が皆無だが
635632:2005/05/25(水) 20:45:39 ID:jjP0j4R+
API使えるようになったんで、IME関係の制御とかググって見たんだが
自アプリ以外のIMEの状態はAPIでは見れないらしい。
…ってことでAutohotkey以外でもSendMassageで問い合わせ
してるんだろうと思ってたんだけど。
IMEウォッチャーはどうやって制御してるんだろか
636名無しさん@お腹いっぱい。:2005/05/25(水) 20:57:16 ID:vQU2Nad3
AHKってオープンソースなんじゃなかったっけ? 改造できないの?
637名無しさん@お腹いっぱい。:2005/05/25(水) 22:15:21 ID:WiJcTSrW
ImmGetConversionStatus()とか。
638名無しさん@お腹いっぱい。:2005/05/25(水) 22:52:24 ID:urkwDMaK
重いって言ってる人はどのくらい重いの?
俺は100msで監視してるけど特に重くないけど
639名無しさん@お腹いっぱい。:2005/05/25(水) 23:04:03 ID:jjP0j4R+
>637
他アプリのIMEのハンドルがImmGetContextで取れないので…(´・ω・`)

よく考えたらSendMessageでもシステムメッセージフックして盗み見するのと
毎回自分で投げて問い合わせするのじゃ重さ違って当然だわ。
何いってんだ漏れ orz

こういうのはTTBaseのが得意そうだな
現状のAhkでやるなら高速で常時回すのは諦めて
IME ON/OFFキー押下 と アクティブウィンドウが切替わったタイミングで見る
& EXCELなどセル単位で自動でモードが変わるアプリだけ1秒間隔で見る
とかかな

>>636
開発環境とスキルさえあれば可(漏れには無理ぽ)
640名無しさん@お腹いっぱい。:2005/05/25(水) 23:29:34 ID:WiJcTSrW
>>639
NULL
641名無しさん@お腹いっぱい。:2005/05/26(木) 08:42:30 ID:eOQHBFQN
>>639
AttachThreadInputで対象プロセスに入り込んでからでもダメですか?
642名無しさん@お腹いっぱい。:2005/05/26(木) 10:06:03 ID:HebBcTe6
会社からなんでID変わってますが 639です

>>640
ごめん意図が汲み取れない。hWndとhIMCにあえて0突っ込んでみたけどだめだった。
とりあえず自分はこの辺りまで試して挫折しました。

    WinGet,hWnd,ID,A
    hIMC := DllCall("imm32.dll\ImmGetContext",Uint,hWnd, Uint)
    ret := DllCall("Imm32.dll\ImmGetConversionStatus",Uint,hIMC, Uint*,lpfdwConversion, Uint*,lpfdwSentence, Int)
    
    msgbox, hWnd=%hWnd% hIMC=%hIMC% lpfdwConversion=%lpfdwConversion% lpfdwSentence=%lpfdwSentence% ret=%ret%
    DllCall("imm32.dll\ImmReleaseContext",Uint,hWnd, Uint,hIMC, Uint)

>>641
ググッたらこんなページが。仕事中なんでちゃんと見てないけど
ttp://forums.belution.com/ja/vc/000/190/55.shtml
つか正直もうよくわかりません、誰かパス
643名無しさん@お腹いっぱい。:2005/05/26(木) 16:11:27 ID:XFJshJml
1.0.34
組み込み関数が増えた。
644名無しさん@お腹いっぱい。:2005/06/01(水) 12:43:29 ID:qIOPObk6
保守
645名無しさん@お腹いっぱい。:2005/06/07(火) 16:24:29 ID:ZMpkIRz1
だれもいない・・・・
646名無しさん@お腹いっぱい。:2005/06/07(火) 17:23:33 ID:QsSyLn6r
1.0.35.05 - June 6, 2005
647名無しさん@お腹いっぱい。:2005/06/10(金) 03:13:53 ID:FA9JzWUy
質問があるのでよろしくお願いします
エクスプローラーで複数ファイルを選択後、右クリックから送るでそのディレクトリにフォルダをつくり
選択したファイルをそのフォルダに入れようとおもってます
GUIを表示してそこにドロップすればファイル名とパスは取得できるのですが
スクリプトを起動してない状態から送るでファイル名を取得するやり方がわかりません
コンパイルしたスクリプトだと送るに登録は出来ました
実際にはさらにそのフォルダを別アプリに送る予定です
648名無しさん@お腹いっぱい。:2005/06/10(金) 08:14:43 ID:hqsM7NmR
つか、コマンドラインとかそういうのまず覚えれ。
バッチファイルで同様のもの作れんようじゃAHKは無理だぞ。
649名無しさん@お腹いっぱい。:2005/06/10(金) 09:35:27 ID:mGLo1B0/
>>647
その前に日本語勉強して下さい。
650名無しさん@お腹いっぱい。:2005/06/10(金) 11:54:42 ID:SZhX6IFT
>>647
ttp://lukewarm.s101.xrea.com/Scripts.htm
「スクリプトのコマンドライン引数」および
「スクリプトの起動とAuto-executeセクション」の項参照
%1%とかでコマンドライン引数(この場合はドロップしたファイル名)を受け取れるよ
あと、SendToにスクリプトのショートカットを入れてる場合は
そっちもパラメータ送れるようにしないとだめかも
651647:2005/06/10(金) 14:44:08 ID:FA9JzWUy
説明が下手で申し訳ありませんでした。
>>650
ありがとうございます。スクリプトのコマンドライン引数の項を見逃しておりました

item1=%1%
SplitPath,item1,OutFileName,OutDir
move1=%OutDir%\file\%OutFileName%
FileCreateDir,%OutDir%\file
FileMove,%item1%,%move1%
return

実際にはloopで30ほどやってます
これをコンパイルして送るに登録したら望みどおりの動作になりました
複数ファイルのドロップに対応していないDVD書き込みソフトでしたので非常に助かりました
652名無しさん@お腹いっぱい。:2005/06/17(金) 02:12:24 ID:LvpKm3620
vk1Dsc07B & M::MouseClick, L,,,,,D
vk1Dsc07B & M up::MouseClick, L,,,,,U
vk1Dsc07B & N::MouseClick, R,,,,,D
vk1Dsc07B & N up::MouseClick, R,,,,,U

こんな感じでキーボードにマウスクリックを割り当ててるものの,
キーに一切さわらない状態でも一部のアプリケーションでM,Nが押しっぱなしとして認識されてしまう。
ゲームで起こることが多いのでDirectXとか絡みなのかなぁ…
これとか↓で確認できる。
ttp://www.vector.co.jp/soft/win95/edu/se368955.html
環境はXP SP2,AHK1.0.34.00
原因分かる人います?
653名無しさん@お腹いっぱい。:2005/06/17(金) 12:00:00 ID:inU/T7qc0
>>652
AHKに限らずこの手のソフトはDirectXと相性悪いよ。
654名無しさん@お腹いっぱい。:2005/06/21(火) 15:11:29 ID:Ey8MptHj0
怒涛のばーじょんうぷage
655名無しさん@お腹いっぱい。:2005/06/21(火) 16:56:38 ID:BpI1xQw10
でも日本で使ってるやつは7人だけ
656名無しさん@お腹いっぱい。:2005/06/21(火) 18:50:16 ID:n7np6rMc0
まさに七人のオタ…いや、侍!
657名無しさん@お腹いっぱい。:2005/06/24(金) 12:57:01 ID:SQYn8nRm0
本家ではマイナーバージョンアップが続いてるようだけど
Show Menu後の動作が微妙に改善されてるね
ESCで抜けた時とか、ちゃんと直前のアクティブウィンドウに戻ってくるようになった。
658名無しさん@お腹いっぱい。:2005/06/26(日) 18:57:24 ID:H0kSirzq0
みんなフルパスからファイル名取得するときどうしてる?
SplitPathだと「ソ」とかダメ文字入ってたら変になるよね。
オレDLLつくって、DllCallして取得してるけど、もっと簡単な方法ある?
659名無しさん@お腹いっぱい。:2005/06/26(日) 21:10:54 ID:CfSUPU3Y0
「DLLつくって、DllCall」が一番簡単だと思う。
作るのも使うのも。
660名無しさん@お腹いっぱい。:2005/06/26(日) 22:49:25 ID:CAOhj3xo0
あれ、パス切り出すAPIがあったような無いような
661名無しさん@お腹いっぱい。:2005/06/27(月) 00:41:50 ID:KvSBp0GH0
ダメ元でクリスちんに要望出してみるとか。
本家BBSの常連さんたちは結構攻撃的なので必要性がわからんとか
無駄にメモリ食うだけとかって猛反発されるだろうけど、
サンプルソースの一つも付けてお願いしたらクリスちんは案外対応してくれそうな気もする。
662名無しさん@お腹いっぱい。:2005/06/28(火) 15:11:32 ID:KRytUcik0
ver 1.0.36
ClipboardのChangeイベントキタ
663名無しさん@お腹いっぱい。:2005/06/29(水) 13:35:14 ID:DlaSLCWs0
1.0.35からのキーマクロの仕様変更にまだ対応できてない俺がいる
664名無しさん@お腹いっぱい。:2005/06/30(木) 05:54:39 ID:iGtXyAyT0
とうとうダブルクリック実装された?
665名無しさん@お腹いっぱい。:2005/07/06(水) 15:11:22 ID:JZ0WgC+g0
とりあえず保守
現在の最新のバージョンは1.0.36.02 (released July 3, 2005)
666名無しさん@お腹いっぱい。:2005/07/08(金) 15:15:12 ID:90AmP/Jj0
そこそこ利用者は多いのにスレが伸びないのは何故
667名無しさん@お腹いっぱい。:2005/07/08(金) 15:41:46 ID:eH4qYb+W0
それぞれ自足してんじゃない?
668名無しさん@お腹いっぱい。:2005/07/08(金) 17:03:07 ID:+oXXYJc+0
プログラミングを既習でないので、変数が出たり長い行にはついていけません。
669名無しさん@お腹いっぱい。:2005/07/09(土) 09:37:05 ID:0jM4IK6+0
>666
点呼スレではまだサッカーができない状態だがナー
670名無しさん@お腹いっぱい。:2005/07/09(土) 10:38:32 ID:10GgOrpq0
わかる人にはわかるけど、わからない人には全く手がつけれれないこのソフト。
671名無しさん@お腹いっぱい。:2005/07/09(土) 11:02:22 ID:HJ8nvXPt0
行き当たりばったりに機能追加しすぎてるから、
みんな2.0で作り直されるのを待ってるんだよ
672名無しさん@お腹いっぱい。:2005/07/09(土) 15:42:06 ID:6L+G1tm70
最近のはエンバグ大杉。
673名無しさん@お腹いっぱい。:2005/07/10(日) 16:13:46 ID:dz/Qh5xO0
#\::run, notepad.exe でwinキー+\(右シフトキーの横)でメモ帳が起動するようにしたいんですが起動しません。
これじゃ何でだめなんでしょうか?
674名無しさん@お腹いっぱい。:2005/07/10(日) 16:20:13 ID:OKGBA0wn0
#vk74sc03F::run, notepad.exe
675名無しさん@お腹いっぱい。:2005/07/10(日) 16:26:07 ID:dz/Qh5xO0
>>674
ありがとうございます。動かなかったですがバーチャルキーを色々試してみます。。。
676名無しさん@お腹いっぱい。:2005/07/10(日) 16:28:46 ID:OKGBA0wn0
ホントだオレもうごかねーや('A`)
677名無しさん@お腹いっぱい。:2005/07/10(日) 16:32:36 ID:dz/Qh5xO0
#sc073::run, notepad.exe
これでいけました。メニューのview -> Key history and script infoで調べればよかったですorz
678名無しさん@お腹いっぱい。:2005/07/10(日) 18:06:48 ID:sXwd0jjA0
特定のファイルとアプリケーションを関連づけて起動することが
できるのですか。
#sc073::run, notepad.exe,c:\hoge\foo\bar.txt
みたいにしてみたのですがリロードエラーになります。
679名無しさん@お腹いっぱい。:2005/07/10(日) 18:25:14 ID:zfwbVwK/0
> リロードエラーになります。
当たり前だろw
680678:2005/07/10(日) 19:50:06 ID:sXwd0jjA0
#sc073::run, notepad.exe c:\hoge\foo\bar.txt
いじっていたらできました。
681名無しさん@お腹いっぱい。:2005/07/14(木) 03:10:20 ID:9ttcyQcE0
これって実行してるスクリプトを停止する方法ってどうやるんでしょ
プログラムミスって無限ループって止めらんなくてちょっとあせった
682名無しさん@お腹いっぱい。:2005/07/14(木) 03:47:30 ID:TkHY3qM+0
無限ループになったら割り当てておいたキーでリロードしてる
若しくはループしそうな所に抜け出すキーを置いておく
683名無しさん@お腹いっぱい。:2005/07/14(木) 06:46:20 ID:/kYZeYxy0
マウスが効く時はタスクトレイ操作で何とか終わらせてるけど
いざとなったら Ctrl+Alt+Delでタスクマネージャ呼び出してプロセス殺すしかないかも
動作確認中はリロードと終了はホットキー割り当てといたほうが無難だな
684名無しさん@お腹いっぱい。:2005/07/17(日) 20:48:28 ID:joMCoDhK0
このソフトで、
非アクティブを自動操作(キー連打など) しながら、アクティブウィンドウで自由操作
するという、状態を作り出すことってできますか?
685名無しさん@お腹いっぱい。:2005/07/17(日) 20:53:10 ID:Xujs113t0
出来る。
686名無しさん@お腹いっぱい。:2005/07/17(日) 20:57:40 ID:joMCoDhK0
>>685
どうやって設定すればいいですか?
初心者なので、基礎の基礎から教えていただけませんか?
OSはMEです。お願いします
687名無しさん@お腹いっぱい。:2005/07/17(日) 21:22:23 ID:OOkaJ72R0
>>686
SendMessageでも送ってやればいいじゃん。
SendMessageの使い方についてはスレ違いなのでここで聞かないように。
688名無しさん@お腹いっぱい。:2005/07/17(日) 21:25:08 ID:kpvI7Ywg0
>>686
流行らせるページ見て自分で試行錯誤してから聞けよ…
このソフトは自分である程度調べられないヤツには使えない。
689名無しさん@お腹いっぱい。:2005/07/17(日) 22:36:06 ID:joMCoDhK0
ほんとに>>684のことが出来るの? 
できなかったら、だいぶ時間を無駄に使っちゃうけど。
690名無しさん@お腹いっぱい。:2005/07/17(日) 22:54:35 ID:alal4cIF0
>>689
間違いなく出来るからがんがれ
691名無しさん@お腹いっぱい。:2005/07/18(月) 00:00:03 ID:0hIxkxjT0
>>689
時間を費やす気がないなら諦めれ、自称初心者ならそれこそ腰据えてやる覚悟が必要
あと98系OSは結構機能に制限出るぞ、SendMassageくらいなら変わらんと思うが。
692684:2005/07/18(月) 03:31:02 ID:MgOOM9cI0
SendMassageですよね。それってたしか第3引数。
だとすると、直接、そのウィンドウに反映するキー操作ではなく
内部からのもの。ということは、メッセージは打てても、
テンキーなどの操作はできないってことですよね。
じゃあ、私のやりたいことはできないかな。
693名無しさん@お腹いっぱい。:2005/07/18(月) 07:08:40 ID:k2y5okJ50
なに、この人。
694名無しさん@お腹いっぱい。:2005/07/18(月) 11:46:22 ID:SgPZAgcN0
情報小出しにするなら早く出てけよ…?ビキビキ
695名無しさん@お腹いっぱい。:2005/07/18(月) 11:55:33 ID:1NZ9UvMr0
まぁなんだ、夏休みだな
696名無しさん@お腹いっぱい。:2005/07/18(月) 19:58:37 ID:GZFqkLAC0
>>692
おめーのやりたいことなんてシラネーヨ。
エスパーじゃねーっつーの。
697名無しさん@お腹いっぱい。:2005/07/18(月) 23:35:47 ID:rN9WEzu60
>>684ではないんだが
SendMassageを勉強するのにいいサイトってどこ?
698684:2005/07/18(月) 23:53:09 ID:MgOOM9cI0
>>696
キー連打です。
699名無しさん@お腹いっぱい。:2005/07/18(月) 23:56:35 ID:d6A2GU/+0
>>697
SendMassageの使い方覚えるのに、
いいサイトも糞もあるかよ。
引数の概要だけわかればそれで充分だろ。

ハンドルの取得方法がわからないとか、仮想キーコードがわからないってなら
SendMassageとは関係ない次元の話だし。

>>698
間違いなく出来るからがんがれ。
がんがる気の無い奴にはこのソフトは使えない。
700名無しさん@お腹いっぱい。:2005/07/19(火) 04:04:04 ID:qCXOpUud0
(´-`).。oO(>699 はSendとSendMassageを混同しているような…)

>697
流行らせるページのSendMassageの項にあるリンク切れてるんだよな
ウィンドウメッセージ一覧なら、VBやHSPのページが結構詳しい
ttp://www.winapi-database.com/Message/WM/
ttp://yokohama.cool.ne.jp/chokuto/urawaza/message/index.html

元からプログラミングしないヤシにとってPost/Sendは敷居高い部分だと思うが、まぁガンガレ
701名無しさん@お腹いっぱい。:2005/07/19(火) 06:14:14 ID:Fu3OI+PQ0
>>700
ワロタ
702684:2005/07/19(火) 08:14:55 ID:Q81VsW9F0
Loop, 5000
ControlSend, WA_INACTIVE , F8, ウィンドウ名
#Hotstring EndChars F2`t 

非アクティブのとき、そのウィンドウでF8ボタンを5000回押す。(できれば無限がいいのですが)
というスクリプトを作ってみましたが。しかし、このスクリプトでは、うまく機能しませんでした。
いろんな説明を読んで作ってみましたが、やはり、ちょっと難しかったのでアドバイスください
お願いします。
703名無しさん@お腹いっぱい。:2005/07/19(火) 08:29:16 ID:ZmfLC9hc0
SendMassage なんて隠し API があったのかよ。すげぇな。
704名無しさん@お腹いっぱい。:2005/07/19(火) 16:54:39 ID:gmRNDiPm0
>>684
さっさと消え(ry
705名無しさん@お腹いっぱい。:2005/07/19(火) 20:18:44 ID:qCXOpUud0
まるごと教えてクンなら放置しようかと思ったが、何やらガンガっている様子

>>702
上にも書いたけど Send(ControlSend)とSend(Post)Massageを混同しちゃいかんよ
前者はAutohotkeyの内部コマンド、後者はWin汎用機能へのバイパス用だ
ControlSendが使えるならその方が手っ取り早い、がこいつは送り先によって
効かなかったりするので、まずはWin+AとかのホットキーでF8送れるか試してみれ

#a:: ControlSend,コントロール名,{F8},ウィンドウ名

コントロール/ウィンドウ名は 付属の Window Spyで調べられる。
その他のヒント: #Persistent、ifWinNotActive、SetTimer
706684:2005/07/19(火) 21:45:47 ID:Q81VsW9F0
>>705
回答ありがとうございます。
まず、コントロール名に何を打ち込んだらいいのかわかりません。
ahk_class と ClassNN を試してみました。インスタンス番号はわかりませんでした。
たとえば、ギコナビなら ahk_class TGikoForm なので、 #a:: ControlSend,TGikoForm,{F8},ギコナビ 
という感じでやっていました。
コントロール名が間違っているかもしくは、使いたいウィンドウにはControlSendは使えない、ということがわかりました。
その他のスクリプトも試していこうと思います。
707名無しさん@お腹いっぱい。:2005/07/19(火) 21:48:38 ID:PO30XtFS0
>>706
つか、具体的にどのソフトでどういうキーを連打させたいとか書いてみれば?
708名無しさん@お腹いっぱい。:2005/07/19(火) 22:03:12 ID:ZmfLC9hc0
http://www.google.co.jp/search?q=SendMassage&sourceid=opera&num=100&ie=utf-8&oe=utf-8&lr=lang_ja
SendMassage の検索結果のうち 日本語のページ 約 19 件中 1 - 8 件目 (0.22 秒)

ちなみに、このスレがトップでした。(゚∀゚)アヒャ
709名無しさん@お腹いっぱい。:2005/07/20(水) 00:38:05 ID:DQ///6iD0
…レス抽出8件中3件が漏れでした (ノ∀`)
710名無しさん@お腹いっぱい。:2005/07/20(水) 01:38:37 ID:hm4EHrQU0
教えて君、長居する気満々だな
711684:2005/07/20(水) 03:54:41 ID:H8DNMD750
なんだか罪悪感に苛まれたので、質問はもう止めます。
回答してくれた方ありがとうございました。
712名無しさん@お腹いっぱい。:2005/07/20(水) 04:12:09 ID:R6BNjMLX0
あーあ追い出しちゃった。点呼スレで10人しかいないのにw
713名無しさん@お腹いっぱい。:2005/07/20(水) 09:23:07 ID:+T1xRJyJ0
いくら過疎スレでも教えて君はいらないだろ・・・
714名無しさん@お腹いっぱい。:2005/07/20(水) 17:44:42 ID:s+ZiLj2D0
目的さえしっかり書いてくれればスクリプト書くのは楽しいからいいんだけど、
教えるのはめど過ぎる
715名無しさん@お腹いっぱい。:2005/07/20(水) 18:59:14 ID:DQ///6iD0
非アクティブウィンドウをそのまま操作するのって結構面倒なんだよね。
それはそうとキー連打で何をやりたかったのか気になる…
田代砲もどきとか、2ちゃんビューア上でのオートリロードとかかな。
アイドルディレイ一切なしじゃ遅延キーリピート発生しまくりでどえらいことになりそうだけど
716名無しさん@お腹いっぱい。:2005/07/24(日) 16:51:26 ID:QtUgp6RE0
そのときそのときで異なるファイルを暫定的にホットキーに
オートマチックに登録したいのですが、AHKでファイル操作
はできますか。

@ ファイルパスをクリップボードに取得(手動または
他のアプリケーションにまかせる)
A そのパスのファイルをホットキーに登録するには
iniファイルを自動的に書き換える
そのためのファイル操作はどうすればいいですか。
一応ひまわりとの連携でならできるのですが。
717名無しさん@お腹いっぱい。:2005/07/24(日) 23:08:07 ID:0d50mSOA0
>>716
流行らせるBBSのほうから誘導要請あったんで貼っとくね
(2chには規制で書けないらしい)
misc
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315284/70
718716:2005/07/25(月) 12:35:24 ID:SM6uSrdh0
THX
暫定的というよりも当面というべきだったか、とりあえず
別のファイルを登録するまでは有効な設定にしておける
ような使い方なもので。
それにしてもAHKやひまわりはクリップボードの利用が
手軽にできていいね。
719名無しさん@お腹いっぱい。:2005/07/25(月) 22:09:06 ID:fRta7dfz0
>>717
お優しい人、ありがトン

>>718
まあ、FileAppendとかINI処理コマンドで行けるんちゃいますか
ファイルパスは別のファイルに書き込んで常駐スクリプトはいじらなくてすむようにするとか
720名無しさん@お腹いっぱい。:2005/07/25(月) 22:33:39 ID:GYTcgKoy0
>>718
iniを別ファイルに取らないで自分で自分を書き換えてみるテスト
ホットキーと実行先サブルーチンもコード追加してやれば動的に変えられまふ
(このままじゃわざわざiniReadで読み出してる意味ないけど)


/* ------ 設定部ini (AHK上ではコメント扱い)
[section]
HotKeys=#a
subName=exec_sub
path=C:\Documents and Settings\tama\デスクトップ\DllCallTest.zip
;---------------------------------------------
*/

;AutoexeCute部
IniRead,myhotkey,%A_ScriptFullPath%,section,HotKeys
IniRead,mysub,%A_ScriptFullPath%,section,subName
hotkey,%myhotkey%,%mysub%
return

;実行部
exec_sub:
IniRead,mypath,%A_ScriptFullPath%,section,path
run,%mypath%
return

;書換部
#c:: IniWrite, %Clipboard%, %A_ScriptFullPath%, section, path
721名無しさん@お腹いっぱい。:2005/07/25(月) 22:37:45 ID:GYTcgKoy0
しまった path= のとこテストしたままだった。
よりによってデスクトップだし orz
722名無しさん@お腹いっぱい。:2005/07/26(火) 01:33:54 ID:D1HzB5xg0
>>721
tamaたん(*´д`*)
723名無しさん@お腹いっぱい。:2005/07/26(火) 10:40:50 ID:0zuMmGyX0
>>721
某バンドの元ベースだった人ですか?
724716:2005/07/26(火) 12:19:10 ID:tnSi/fCr0
ソース自体を書いてもらって恐縮です。
/*
[section]
path =              ;暫定ファイルのパス
*/

;ラン
#a::
IniRead,mypath,%A_ScriptFullPath%,section,path
run,%mypath%
return

;ini書換え
#c:: IniWrite, %Clipboard%, %A_ScriptFullPath%, section, path

上のようにして意図したとおり動かせました。
当方タイムフォーマットするにも骨がおれたレベルで、
ありがたたく頂戴します(ホットキーは別のキーに
割当てさせてもらいました)。
またiniファイルをリロードしなくてもよいとはAHKのほうも
よくできていると思います。
自分のやり方に比べるとクールなやり方を教えていただき
ありがとう。
725名無しさん@お腹いっぱい。:2005/07/26(火) 15:13:37 ID:1qab6mM00
せっかくなんでエラー制御も。

;ini書換え
#c::
IfExist,%Clipboard%
IniWrite, %Clipboard%, %A_ScriptFullPath%, section, path
return

0x5C(\)を含む全角ファイルを扱う場合はこれだと多分だめぽ
Ahkは向こうのソフトなんでファイル操作関係のコマンドは\がダメ文字になってる
726名無しさん@お腹いっぱい。:2005/07/26(火) 18:17:35 ID:ojRbqo8H0
誰か他のソフトと連携させて面白いことやってる人いないの
停滞気味だ
727名無しさん@お腹いっぱい。:2005/07/26(火) 20:11:45 ID:RuVoRxC20
個人的なスキマを埋めるようなスクリプトが多いので、
ここで書けるようなネタがない。
728名無しさん@お腹いっぱい。:2005/07/26(火) 21:19:55 ID:TqZuk1b00
#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vArg X Y W220
Gui, Add, Button, gRef x+6 ys-2, 参照(&B)
Gui, Add, Button, Default gArg x+6 ys-2, &OK
Gui, Show, , 引数の指定
return
Ref:
FileSelectFile, select, , %A_MyDocuments%
IfNotEqual, select
GuiControl, , Arg, "%sel%"
return

Arg:
Gui, Submit
SplitPath, 1, , dir
Run, %1% %Arg%, %dir%
ExitApp

GuiEscape:
GuiClose:
ExitApp
729名無しさん@お腹いっぱい。:2005/07/26(火) 21:20:32 ID:TqZuk1b00
#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vArg X Y W220
Gui, Add, Button, gRef x+6 ys-2, 参照(&B)
Gui, Add, Button, Default gArg x+6 ys-2, &OK
Gui, Show, , 引数の指定
return
Ref:
FileSelectFile, select, , %A_MyDocuments%
IfNotEqual, select
GuiControl, , Arg, "%sel%"
return

Arg:
Gui, Submit
SplitPath, 1, , dir
Run, %1% %Arg%, %dir%
ExitApp

GuiEscape:
GuiClose:
ExitApp
730名無しさん@お腹いっぱい。:2005/07/26(火) 21:22:28 ID:TqZuk1b00
#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vArg X Y W220
Gui, Add, Button, gRef x+6 ys-2, 参照(&B)
Gui, Add, Button, Default gArg x+6 ys-2, &OK
Gui, Show, , 引数の指定
return
Ref:
FileSelectFile, select, , %A_MyDocuments%
IfNotEqual, select
GuiControl, , Arg, "%sel%"
return

Arg:
Gui, Submit
SplitPath, 1, , dir
Run, %1% %Arg%, %dir%
ExitApp

GuiEscape:
GuiClose:
ExitApp
731名無しさん@お腹いっぱい。:2005/07/26(火) 21:24:02 ID:TqZuk1b00
#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vArg X Y W220
Gui, Add, Button, gRef x+6 ys-2, 参照(&B)
Gui, Add, Button, Default gArg x+6 ys-2, &OK
Gui, Show, , 引数の指定
return
Ref:
FileSelectFile, select, , %A_MyDocuments%
IfNotEqual, select
GuiControl, , Arg, "%sel%"
return

Arg:
Gui, Submit
SplitPath, 1, , dir
Run, %1% %Arg%, %dir%
ExitApp

GuiEscape:
GuiClose:
ExitApp
732exe起動時に引数を指定するスクリプト:2005/07/26(火) 21:31:23 ID:TqZuk1b00
#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vArg X Y W220
Gui, Add, Button, gRef x+6 ys-2, 参照(&B)
Gui, Add, Button, Default gArg x+6 ys-2, &OK
Gui, Show, , 引数の指定
return
Ref:
FileSelectFile, select, , %A_MyDocuments%
IfNotEqual, select
GuiControl, , Arg, "%sel%"
return

Arg:
Gui, Submit
SplitPath, 1, , dir
Run, %1% %Arg%, %dir%
ExitApp

GuiEscape:
GuiClose:
ExitApp
733名無しさん@お腹いっぱい。:2005/07/26(火) 21:43:24 ID:4e1dMLS30
鯖重いからって連投すな(´д`)
734名無しさん@お腹いっぱい。:2005/07/26(火) 21:52:55 ID:TqZuk1b00
うは、なんかやけに重いと思ってたけど多重投稿になってる…
マジごめん。15分以上経ってから一気に書き込まれてたよ…

えーと、なんかネタ書けってことなのでexe実行時に引数を渡せるスクリプトです。
fenrirを使ってると、たまに引数を指定して起動したいときがあるんで作りました。
fenrirだったら↓みたいな感じで登録してみてくださいな。
[.exe;
引数をつけて実行(&A)|AutoHotkey.exe D:\ap\AutoHotkey\Scripts\arg.ahk %P
]

ほんとスイマセン。荒らしとかじゃナス。
735名無しさん@お腹いっぱい。:2005/07/26(火) 21:53:31 ID:TqZuk1b00
うは、なんかやけに重いと思ってたけど多重投稿になってる…
マジごめん。15分以上経ってから一気に書き込まれてたよ…

えーと、なんかネタ書けってことなのでexe実行時に引数を渡せるスクリプトです。
fenrirを使ってると、たまに引数を指定して起動したいときがあるんで作りました。
fenrirだったら↓みたいな感じで登録してみてくださいな。
[.exe;
引数をつけて実行(&A)|AutoHotkey.exe D:\ap\AutoHotkey\Scripts\arg.ahk %P
]

ほんとスイマセン。荒らしとかじゃナス。
736名無しさん@お腹いっぱい。:2005/07/26(火) 22:31:32 ID:RMNKATDf0
学習しる
737名無しさん@お腹いっぱい。:2005/07/27(水) 13:25:08 ID:HAiUS1PJ0
(;^ω^)
738名無しさん@お腹いっぱい。:2005/07/27(水) 22:57:44 ID:0CvlX/XA0
わろーた(´・ω・`)
739名無しさん@お腹いっぱい。:2005/07/27(水) 23:16:40 ID:DMTqsHP90
重い重い重い重い重い重い重い×33@運用情報
http://qb5.2ch.net/test/read.cgi/operate/1122366639/26,29,38,63,74

ブラウザ側で書込みリトライした結果の連投なんかいな。
ID:TqZuk1b00が何のブラウザ使ってんのか気になる。
ちなみに漏れが使ってるJaneDoeViewでは 書込みボタン押した回数分しか
連投にはならんかったけど。
スレ違いスマソ
740名無しさん@お腹いっぱい。:2005/07/28(木) 05:13:32 ID:tI1HClDB0
ジョイパッド関係で質問です。
Joy1を押したらキーボードのAを入力みたいなのは出来るんですけど、
その逆はできないのでしょうか?
ジョイパッドを(接続はしている)触らずにジョイパッドでの操作がやりたいのです。

ジョイパッドエミュ見たいなものを探していて、
このソフトに出会ったのですが、
やり方が悪いのか出来ませんでした。
もし出来るのであればスクリプト例を教えてください。

お願いします。
741名無しさん@お腹いっぱい。:2005/07/29(金) 12:22:49 ID:wtn5u7eb0
ジョイパット持ってないのでよくわからんが、
レスないみたいだから、試しに書いたスク
リプトを披瀝してみては(できた方とできな
いものを)。
742名無しさん@お腹いっぱい。:2005/07/29(金) 18:49:25 ID:nnXSCluQO
>>740
できない希ガス。
出来たとしてもDirectXとの相性問題で使い物にならない可能性大。
743名無しさん@お腹いっぱい。:2005/07/29(金) 18:59:46 ID:hhJh2fgd0
こないだやろうとして失敗した。
744名無しさん@お腹いっぱい。:2005/07/29(金) 20:12:54 ID:Nz+Nhz5C0
\\PC1\A001
       A001-001.txt
       A001-002.txt        ←全角混じり
       A001-003.txt
    \A002               ←全角混じり
       A002-002.txt
       A002-003.txt       ←全角混じり

サーバーの中の連番フォルダ/ファイルが上みたいな感じになっちゃってるんだけど
文字列の全半変換とかAutohotkeyで扱うのは大変かな?
745名無しさん@お腹いっぱい。:2005/07/29(金) 22:06:36 ID:M6mE9OD20
>744
キー入力関連とか操作系のことを考えないなら、あえて AutoHotkey を選ぶ理由はないと思う。
他のもっと汎用的なスクリプト系言語を使う方が楽だと思う。
746名無しさん@お腹いっぱい。:2005/07/30(土) 00:42:20 ID:UO4jp5R70
>>744
DMonkeyなら1行で出来るよ
747744:2005/07/30(土) 11:22:38 ID:BmwQ4i3R0
>>745-746
うーん、やっぱそうですかね。
自分スクリプトはAutohotkeyと、せいぜいエディタ(秀丸)のマクロくらいなんで
つい何でもahkでできればと考えてしまうんですよね。
WSHとかPerlとかDMonkeyとかはどうにも敷居が高い感じがして。
(VB(A)は仕事で使ってたけどファイル操作系は結構たいへんだったような)

ahkは(流行らせるページ管理人さんによる)リファレンスがしっかりしてるので
とっかかりやすかったんだけど。
748名無しさん@お腹いっぱい。:2005/08/10(水) 17:12:26 ID:9uVaFUC10
age
749名無しさん@お腹いっぱい。:2005/08/11(木) 17:26:15 ID:I03bQi9T0
DllCallで LPCSTR型(const char*)の戻り値ってどう設定したらいいんだろ
一応↓だと8バイト目までは取れるんだけど、それ以降ぶっちぎれてしまう。
"Str" "Str*" "UStr" "Ustr*" あたり指定するとアプリエラーで落ちてしまうし(´・ω・`)

dengakudll = D:\Ap\_reg\Hidemaru\DengakuDLL.dll
p := DllCall(dengakudll "\TOHANKAKU","str","01234567890","Uint64*")
DllCall("kernel32.dll\lstrcpy", "str",str1, "char*", p)
msgbox, "%str1%"
750名無しさん@お腹いっぱい。:2005/08/12(金) 01:31:36 ID:+OM8/o6N0
なんだか変なことになってますねぇ・・
751名無しさん@お腹いっぱい。:2005/08/13(土) 12:00:24 ID:lqWw+A/v0
AHKみたいなことのできるPerlモジュールとかってない?
752名無しさん@お腹いっぱい。:2005/08/13(土) 14:12:23 ID:liY90JN/0
>751
ttp://search.cpan.org/~teverett/Win32-CtrlGUI-0.30/
ttp://search.cpan.org/~ctrondlp/Win32-GuiTest-1.50.3-ad/
AutoHotkey を知るまでは使ってた。
GuiTest の方はちょこっとだけ修正すれば cygwin perl でもコンパイル可能なはず。
753名無しさん@お腹いっぱい。:2005/08/13(土) 14:36:39 ID:lqWw+A/v0
>>752
有り難う
これでわけのわからんAHK文法を覚える必要がなくなったよ
せめて他の言語に似せればいいのにな・・・
754名無しさん@お腹いっぱい。:2005/08/13(土) 17:33:12 ID:z75CMJHZ0
確かに今のAHKの文法はdでもない…。
755名無しさん@お腹いっぱい。:2005/08/14(日) 13:40:53 ID:Jb3tCN7Z0
下のような感じでスクリプトを書いてみたのですが
>if 文字入力中だったら
というところがime_func.ahkを見てもよく分からないのですがこんな感じのことは出来ますか?
よろしくお願いします。

やりたい事>
"/"から打ち始めたときにIMEがONだったらOFFにする。
入力途中の場合は何もしない(”・”等もそのまま入力)

#include ime_func.ahk

$/::
IfWinActive,ahk_class sample_class
{
if IME_CHECK("A") = 0
{
Send,/
{
else
{
if 文字入力中だったら
{
Send,/
}
else
{
IME_OFF("A")
Send,/
}
}
}
return
756名無しさん@お腹いっぱい。:2005/08/14(日) 19:18:26 ID:S6VBj+9e0
>>753-754
Ahk固有の文法に加え、機能追加のために後から既存の言語の
ルールをチャンポンに取り入れてるから
if での等号 = , <> (VB風)  == , != (C風)
:= での代入(Delfhi風) てな感じで
書く時はルーズに書けるからいいんだけど
人のソース見て参考にしようとすると結構キツイかも

>>755
確定前文字列の取得および有無を検知したいってことだよね?
過去ログにあるけどAutohotkeyで他アプリのIME状態をどうにかするのは
APIでは無理っぽくて。ちょっと方法がわかりません

自アプリのIMEに関してはAPI使えば可能みたいだけど
ttp://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200506/05060177.txt
757755:2005/08/15(月) 16:51:09 ID:QJns5zAD0
>>756
そっか出来ないのか。残念
情報ありがとでした
758名無しさん@お腹いっぱい。:2005/08/15(月) 19:09:49 ID:7QGOtX5L0
左WINでIMEをONOFF
一個目のsendmessageのerrorlevelでIMEの状態を取得
見当違いでしたらごめんなさい

lwin::
winget,hWnd,ID,A
IMEWnd:=dllcall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
detecthiddenwindows,ON
sendmessage 0x283,0x005,,,ahk_id %IMEWnd%
if errorlevel=0
sendmessage 0x283,0x006,1,,ahk_id %IMEWnd%
else
sendmessage 0x283,0x006,0,,ahk_id %IMEWnd%
return
759名無しさん@お腹いっぱい。:2005/08/16(火) 11:24:40 ID:pk5OrU2k0
URLDownloadToFileを使うと、実行している間PCが完全に固まります
なんとかならないでしょうか・・・
760名無しさん@お腹いっぱい。:2005/08/16(火) 12:48:22 ID:pPxbuxjO0
>>759
ダウンロードするファイルがでかすぎるんじゃない?
761名無しさん@お腹いっぱい。:2005/08/16(火) 13:30:06 ID:OP5TbBBa0
cURLかWGet使うとか。
762名無しさん@お腹いっぱい。:2005/08/20(土) 13:52:27 ID:FgCdF0jz0
誰かメモスクリプトを作ってください!
・なんかキー押すと起動
・タブ式で、Ctrl+Nでダイアログが出て、名前をつけたタブを追加できる
・内容を書き込んで終了するとかってに保存
・タブ名.txtでどこかにテキストを保存、起動すると読み込み
こんなの!!
763名無しさん@お腹いっぱい。:2005/08/20(土) 14:23:56 ID:SP4TPUoF0
素直に紙2001とかその辺使った方がいい気がするけど・・・
764名無しさん@お腹いっぱい。:2005/08/20(土) 14:37:55 ID:XZHbHB5M0
あれ作ってほしい
D&Dでアイテム落とすとそこのマスクが解除したりボタンが有効化するやつ。
765名無しさん@お腹いっぱい。:2005/08/20(土) 17:31:45 ID:Gpcc4b/u0
アイテムってなんのアイテムや
766名無しさん@お腹いっぱい。:2005/08/20(土) 17:56:10 ID:cMdgHVgd0
>・タブ式で、Ctrl+Nでダイアログが出て、名前をつけたタブを追加できる

これのやり方がいまいちよくわかんないんだよなぁ。似たようなメモスクリプトはちょっと前に作ったんだけど。
767名無しさん@お腹いっぱい。:2005/08/20(土) 19:07:28 ID:XZHbHB5M0
AutoHoeKeyでパスマスク取る関数は無かったと思う

>>765
p://hai-office.ath.cx/soft/soft.html
Passenger
こういうのだろう
768名無しさん@お腹いっぱい。:2005/08/20(土) 19:19:48 ID:E32/QrDp0
AutoHoeKey
769160:2005/08/20(土) 20:22:29 ID:CQrJj7Hz0
>>767
(・∀・)人(・∀・)ナカーマ
770名無しさん@お腹いっぱい。:2005/08/20(土) 21:36:34 ID:eT45noIW0
QuickMemoが結構近いと思う>>762
771名無しさん@お腹いっぱい。:2005/08/20(土) 23:48:15 ID:FgCdF0jz0
>>770
そうです、今QuickmemoをAHKで起動させているんですよ。
それでEscで閉じるとか少し機能つけたんですが、
常駐できないのでAHKで作れたらいいなとおもったんです。
772名無しさん@お腹いっぱい。:2005/08/20(土) 23:56:41 ID:CQrJj7Hz0
常駐ソフトでなくてもホットキー一発で呼び出せるのがAHKの良いところだと思うけど。
まぁ使い方は人それぞれか

ESC → WinHide 使って裏で待機
Ctrl+N → WinShow で表示とかにしたら?
773名無しさん@お腹いっぱい。:2005/08/21(日) 01:04:01 ID:WwOh0lQY0
やっぱりAHKに限らず発想の転換って大事だよな。
774名無しさん@お腹いっぱい。:2005/08/24(水) 04:12:11 ID:ToLgvUfJ0
時間が取れたので、本家のwikiを読んでみた。
自動インストーラやGUIクリエーターみたいな便利な物あったのな。
アドレスバーでDOSコマンドを実行するスクリプトは応用できそうだ。
775名無しさん@お腹いっぱい。:2005/08/27(土) 11:53:01 ID:L28OZRmI0
AHK、まだなれてないんですが、
サブメニューつき(できればショートカットキーつき)のランチャ作ろうかな、とおもってます。

が、車輪の再発明はなんなので、もしよろしければどなたか、
同じようなのをつくってたら、ソースみせていただけませんか?
776名無しさん@お腹いっぱい。:2005/08/27(土) 13:40:58 ID:B8rfyRfF0
そんな程度ならShorter使えば?
777名無しさん@お腹いっぱい。:2005/08/27(土) 15:02:38 ID:kFsjzCwt0
>>775
Menu,hoge,Add,menu1,menu1
Menu,hoge,Add,menu2,menu2
Menu,hoge,Show ,550,300
return

こんな感じに地道に追加してくしかないと思う。
激しくめんどうなので>>776の言うとおりshorter使った方がいいよ。
778名無しさん@お腹いっぱい。:2005/08/27(土) 18:18:03 ID:Tt2PDf2R0
iniを読み込んでメニュー化するスクリプトならある。
何となく動くところまでは書いたが途中で興味を取られ放置したので
結局使ってないが。
779名無しさん@お腹いっぱい。:2005/08/28(日) 06:47:45 ID:rEbjuY4a0
最近、キーのラベルに~をつけて
Ifの条件にマッチしなかったら何もせずにスクリプトを
終わらせる書き方をよくやってるんだけど、
~を付けないで条件にマッチしなかったら
ラベルのキーをsendして終わりにする方が
本来正しいのかな?
sendでキーを発行すると、たまに正常に動作しないことが
あるんだけど。
780名無しさん@お腹いっぱい。:2005/08/31(水) 09:58:49 ID:tMYx+y6G0
「Shiftを押しながらだとキーを二連打する」や
「Aを押せば1が入力され0.5秒後に2が入力される」といような設定はできるのでしょうか。
何分ソフトウェアに無知なので設定がわからないのですが、できるのならガンバテみようと思います。
781名無しさん@お腹いっぱい。:2005/08/31(水) 10:33:20 ID:shmbAlYK0
>>780
両方出来るからがんがれ
782名無しさん@お腹いっぱい。:2005/08/31(水) 19:31:57 ID:4CeFGDlU0
>>779
システムのキーはなるべくなら奪わない方がいいような気がしてるので
「状況によっては 押下内容をキャンセルする」ような処理をしたい場合以外は
~付きでやってまふ。 好みの問題だけどコードも最低1行は減るしね


上で車輪の再開発とかの話題あったけど
一生懸命書いたルーチンと同機能のものが投稿スレに上がってたよ
つか、それ自分で投稿したやつだった。(書いたことすら忘れてた)
しかも同じところでつまづいて質問スレで教えて貰ってるし orz
783名無しさん@お腹いっぱい。:2005/09/06(火) 21:41:53 ID:ehOzHD4l0
このソフトで懸賞自動応募などは、できますか?
784名無しさん@お腹いっぱい。:2005/09/06(火) 21:56:34 ID:ctyP975E0
>>783
ttp://www.atmarkit.co.jp/fwin2k/bookpreview/insidewin4/insidewin4_01.html
この本読破するくらいの根性があればできるようになるんじゃない?
785名無しさん@お腹いっぱい。:2005/09/06(火) 22:36:25 ID:kji7I93S0
>>784
Cで書かれているんだ。
大変だったろうな。
786783:2005/09/06(火) 23:38:33 ID:ehOzHD4l0
>>784
むずかしそうですね。
とりあえず、ブラウザウインドのメッセジボックスに自動入力と
ボタンの自動クリックはできますよね。
787名無しさん@お腹いっぱい。:2005/09/07(水) 00:30:37 ID:aIyTNcpE0
operaやFireFoxは知らんけど、IE系ブラウザの場合 ブラウザ領域は全て
Internet Explorer_Server1 になってしまう。(フォームのテキストボックスやボタンは
個別コントロールとして認知されないからSetFocusとかが効かない
でもMouseClickで座標値指定してクリックすればフォーカスは移せるので
任意のページ限定でやるならできないことはないけどな。まぁがんがれ
788名無しさん@お腹いっぱい。:2005/09/07(水) 02:09:54 ID:TE1Eurcj0
つーか、IEならWSH使う方が早い。
789名無しさん@お腹いっぱい。:2005/09/10(土) 03:16:54 ID:zRxABIJ30
Perlの=pod〜=cut
みたいな複数行コメントは出来ませんか?
790名無しさん@お腹いっぱい。:2005/09/10(土) 08:30:52 ID:StSlhkj+0
791名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:37:12 ID:pzUkXhi60
久々に日本語マニュアル更新された
792名無しさん@お腹いっぱい。:2005/09/14(水) 02:54:10 ID:woPB05vR0
昨日、autohotkeyを知った。xkeymacs+ssimeの環境をこれ一つに
まとめたかったので、emacsバインドのスクリプトを探したが
見当たらなかった。
仕方がないから、練習を兼ねてなんとかそれっぽく動くのを作った。
需要があるかもしれないから、うpしようかと思ってみたら、
そこには既にemacsバインドのスクリプトが・・・orz
793名無しさん@お腹いっぱい。:2005/09/14(水) 16:49:12 ID:Tg6DuFXg0
3ボタンになるやつが実現できなかったのでうpしてくれ
794792:2005/09/14(水) 21:02:25 ID:woPB05vR0
>>793
「3ボタンになるやつ」ってどういうのでしょう?マウスの処理ですか?
私が作ったのは、カーソルの移動、検索、ファイルの処理、アプリの終了
のキーボードショートカットをemacsライクにするあたりしか対応していないです。
しかも私のものよりも、きれいに作られたものが、「流行らせるページ」の
うpろだにありました。今は、これを改造して使っています。
どの動作を指しているのかわかれば、試せるかも。でも使い始めて間もないから
役に立たなかったらごめんね。^^
795名無しさん@お腹いっぱい。:2005/09/14(水) 21:13:10 ID:ZVeNQ5Bi0
Viewたん、お気に入りにSEPARATORを入れられるようにして欲しいです。
796名無しさん@お腹いっぱい。:2005/09/14(水) 21:14:21 ID:ZVeNQ5Bi0
誤爆orz
797名無しさん@お腹いっぱい。:2005/09/14(水) 23:11:06 ID:wMh6KIn60
View使ってんなら誤爆警告をONにしとけ
798名無しさん@お腹いっぱい。:2005/09/15(木) 22:42:49 ID:Qg4sVzPN0
マウス下のウインドウタイトルにMajorが含まれていたらaを実行したいのだが、
うまくいきません。どなたかご教授いただけませんか?

MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
IfInString, title , "Major"
{
a
}
Eles
{
b
}
799798:2005/09/15(木) 22:43:28 ID:Qg4sVzPN0
Eles→Elseです。
800名無しさん@お腹いっぱい。:2005/09/15(木) 22:47:19 ID:1Gf5G5DZ0
"が余計
801798:2005/09/15(木) 22:55:07 ID:Qg4sVzPN0
>>800
thx
うまくいきました
802名無しさん@お腹いっぱい。:2005/09/16(金) 00:47:08 ID:NkddjKRR0
メモ帳の上にマウスをもっていくとメモ帳が他のウインドウに隠れて、
それ以外のところにマウスをもっていくと再びメモ帳を表示させたいのですが、
メモ帳がActiveの時はうまくいきますが、ブラウザなどをActiveの状態で実行すると、
うまくメモ帳が表示されません。「WinSet,Top」ではまずいのでしょうか?

#Persistent
#WinActivateForce
SetTitleMatchMode, 1
DetectHiddenWindows, On
SetTimer,WindowView,500
Return

WindowView:
IfWinExist, 無題 - メモ帳
{
MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
IfInString, title , 無題 - メモ帳
{
WinSet,Bottom,,無題 - メモ帳
}
Else
{
WinSet,Top,,無題 - メモ帳
}
}
Return
803名無しさん@お腹いっぱい。:2005/09/16(金) 10:19:53 ID:xkga4DmI0
何がやりたいんだかいまいちよくわからんが
アクティブにしたいなら WinActivate
非アクティブで常に手前にしたいなら WinSet,Topmost
804名無しさん@お腹いっぱい。:2005/09/18(日) 17:25:36 ID:+TJNJrt10
タスクバー上をマウス中クリックすると特定のアプリが起動するようにするにはどうしたらいいでしょうか?
805名無しさん@お腹いっぱい。:2005/09/18(日) 17:47:09 ID:ncGmirg10
>>804
今シェルがエクスプローラじゃないんでこれを元に試してくれ。
~MButton::
MouseGetPos, , , , cls
IfEqual, cls, 「タスクバーのクラス名」, Run, 「実行ソフトと引数」(, 「作業フォルダ」)
return
806名無しさん@お腹いっぱい。:2005/09/18(日) 18:22:18 ID:+TJNJrt10
>>805
参考にして少し弄ったらできました
ありがとうございます
807名無しさん@お腹いっぱい。:2005/09/19(月) 01:16:13 ID:Hid8Jv9+0
ツールチップをマウスの位置じゃなく文字入力のときに出る点滅してるこれ→「 | 」の位置に表示するようにはできますか?
808名無しさん@お腹いっぱい。:2005/09/19(月) 03:31:08 ID:aQPaZxtB0
>>807
A_CaretXとA_CaretYを使う。
809名無しさん@お腹いっぱい。:2005/09/19(月) 03:35:29 ID:yS/oGdzH0
ToolTip , Text, %A_CaretX%, %A_CaretX%
あと必要なら、CoordMode, ToolTip|Caret あたりも見とけ
810名無しさん@お腹いっぱい。:2005/09/19(月) 03:36:34 ID:yS/oGdzH0
かぶった上に間違えた
×ToolTip , Text, %A_CaretX%, %A_CaretX%
○ToolTip , Text, %A_CaretX%, %A_CaretY%
811名無しさん@お腹いっぱい。:2005/09/20(火) 20:14:07 ID:9NBeSW4E0
右手マウス、左手トラックボールに違う設定をすることはできますか?
812名無しさん@お腹いっぱい。:2005/09/20(火) 20:30:24 ID:vK52910z0
ホットキーでコントロールパネルの項目を開けるようにはできますか?
できれば開いたときのタブ位置も指定して
813名無しさん@お腹いっぱい。:2005/09/20(火) 20:45:20 ID:f9aIMBIc0
>>811
マウスの接続数はSysGetあたりで取れた筈だが、どのマウスが操作されたかは判別不能
ただAPIとかでどうにかなるかも知らんのでがんがって探しちくり

>>812
クラッシック表示にしてるのでタブ云々はわからんが
Run,Control.exe
でコンパネは開ける。

Run,Control.exe desl.cpl
みたいにコンパネファイルをパラメータ指定してやれば
直接 「画面のプロパティ」とかも開ける
814名無しさん@お腹いっぱい。:2005/09/20(火) 20:51:12 ID:YwFVntfY0
>>811
OSには別デバイスとして認識されてるの?
されてないならAutoHotkey以前の問題。

給湯付きの水道で、水と湯を同時に出し
蛇口から出てきたぬるま湯を冷たい水と熱いお湯にきっちりわけるのは無理でしょ。
温度から水と湯の両方を出してることは判別できるけど。
815名無しさん@お腹いっぱい。:2005/09/20(火) 20:57:23 ID:OH+j09el0
>>812
ファイル名を指定して実行等からなら以下のようにすればできる。
rundll32.exe shell32.dll,Control_RunDLL 「*.cpl」,,「タブ番号」

例:スクリーンセーバーの設定
rundll32.exe shell32.dll,Control_RunDLL Desk.cpl,,1

ただしAHKではカンマはそのまま使えないのでエスケープしなきゃいけない。
Run, rundll32.exe shell32.dll`,Control_RunDLL Desk.cpl`,`,1
816815:2005/09/20(火) 21:13:34 ID:OH+j09el0
追記
>>813にもあるように
「rundll32.exe shell32.dll,Control_RunDLL」は
「control」に置き換えられる。
817名無しさん@お腹いっぱい。:2005/09/20(火) 21:53:40 ID:f9aIMBIc0
タブってそういう意味か、クラシック関係なかったなスマソ
818812:2005/09/20(火) 22:11:09 ID:vK52910z0
>>813 >>815
ありがとうございます、勉強になりました
819名無しさん@お腹いっぱい。:2005/09/21(水) 18:08:50 ID:jvLJtlNT0
>>813-814
AHKだけでは無理ってことですね。
Raw Input APIあたりを調べてみます。
820名無しさん@お腹いっぱい。:2005/09/22(木) 00:16:13 ID:JOK8jL2S0
例えばAlt+EndキーにF1+左クリックを割り当てる事は出来るのでしょうか?
821名無しさん@お腹いっぱい。:2005/09/22(木) 01:06:49 ID:vmLOGbNG0
>>820
できる。
822名無しさん@お腹いっぱい。:2005/09/22(木) 02:32:09 ID:JOK8jL2S0
thx、とりあえず色々試してみま
823名無しさん@お腹いっぱい。:2005/09/24(土) 13:49:44 ID:nyGZ4Ua00
タスクトレイに入っているプログラムを全て取得するにはどうすればいいですか?
824名無しさん@お腹いっぱい。:2005/09/24(土) 13:59:56 ID:aaRxe7JA0
マルチモニタ機能の使用、不使用を切り替えしたいのだが、画面のプロパティの
モニター2の「Windowsデスクトップをこのモニター上で移動できるようにする」の
チェックを付けたり外したりする方法はありますか?
825名無しさん@お腹いっぱい。:2005/09/24(土) 21:38:49 ID:6jOjlfMo0
>>824
ウィンドウが出てもいいのなら
>813-815あたりを参考に画面のプロパティの「設定」タブを呼び出し
Windowsデスクトップをこのモニター上で移動できるようにする(E)の
アクセラレータキー送信 → Send,!e{Enter}

もっとスマートにやりたいのなら、まず手動でON/OFFしてみて
レジストリ番犬ロンとかでレジのどこが変わってるか確認後、
RegWriteで該当箇所を書き換えるスクリプトを組む
826824:2005/09/24(土) 21:49:11 ID:iNBVHFVi0
>>825
ありがとうございます
827名無しさん@お腹いっぱい。:2005/09/24(土) 21:54:05 ID:6jOjlfMo0
>>823
使ってるアプリが特定されているなら
DetectHiddenWindows, On
WinGet, OutputVar, List, , , タイトルとしてあり得ない文字列
で、とりあえず全ての可視、不可視ウィンドウのハンドルが取得後
WinGet, OutputVar,ProcessName, ahk_id %hWnd%
でEXE名でタスクトレイに入るタイプのアプリかチェックする

もうちょっと難しいことをやりたいなら
スクリーンショット取ってImageSearchとかでタスクトレイの絵と
ttp://cgi19.plala.or.jp/lukewarm/news/2005_05.html#14
を参考に起動中アプリのEXEフルパスを取得してそのアプリに含まれる
アイコンを見比べるとか。
828名無しさん@お腹いっぱい。:2005/09/25(日) 00:23:36 ID:2qa3f8v90
下記のようにWinMoveを実行しても指定ウインドウが移動する時と
移動しない時があるのですが、何が原因でしょうか?

ex)
WinMove, Notepad,, 465, 700
829名無しさん@お腹いっぱい。:2005/09/25(日) 01:17:06 ID:V6XpUvfL0
Ahk_classが抜けとる
830828:2005/09/25(日) 01:47:48 ID:2qa3f8v90
>>829
変わらないですね
831名無しさん@お腹いっぱい。:2005/09/25(日) 02:57:40 ID:V6XpUvfL0
OSとAHKのバージョンは?
もし最新版入れて動かないんなら本家フォーラムにバグ報告しにGO
832名無しさん@お腹いっぱい。:2005/09/25(日) 10:27:37 ID:IatMfavz0
漏れの環境では設定何もなしで
WinActivateで大文字と小文字を区別するんだよな
TaBrowserだとOKでTabrowserだとダメだった
これでしばらく悩んだ
ヘルプに書いてあるかもしれんけど
833名無しさん@お腹いっぱい。:2005/09/25(日) 10:53:03 ID:gBNyJqy20
Windows標準の「画像とFAXビューア」で
ホイール↓↑で Right & Left (次の画像と前の画像)を
実現したいのですが、どうすれば良いのでしょうか。

AHKを流行らせるページなども一応目を通してみたのですが
初心者の私には難し過ぎて・・・・。

正直、教えて君のようで心苦しいのですが
どうか御教示頂けないでしょうか。お願い致します。m(_ _)m
834名無しさん@お腹いっぱい。:2005/09/25(日) 12:06:13 ID:V6XpUvfL0
>>833
WheelUp::
WheelDown::
IfWinActive, ahk_class ShImgVw:CPreviewWnd
{
if (A_ThisHotkey = "WheelUp")
Send,{Left}
else
Send,{Right}
}
else
Send,{%A_ThisHotkey%}
return
835名無しさん@お腹いっぱい。:2005/09/25(日) 18:19:12 ID:jmAi5JOx0
みんなどんな使い方してるか教えて欲しい。
836名無しさん@お腹いっぱい。:2005/09/25(日) 18:46:20 ID:nW19iJx20
837833:2005/09/25(日) 18:54:20 ID:oNg/0d3+0
>>834
できました!ありがとうございます!
これを実現したくてAHKをインストールしては挫折して
アンインストールを繰り返していたので凄く嬉しいです。

どうもありがとうございました。m(_ _)m
838名無しさん@お腹いっぱい。:2005/09/26(月) 00:29:27 ID:AOfmaA+e0
WinSetとWinMoveのTITLE指定の仕方って一緒だよね?
839名無しさん@お腹いっぱい。:2005/09/26(月) 00:41:45 ID:Owez+5cA0
指定方法そのものは一緒だがパラメータの指定位置が違う
WinSet, SubCmd, Value [, WinTitle, WinText, ExcludeTitle, ExcludeText]
WinMove, WinTitle, WinText, X, Y [, Width, Height, ExcludeTitle, ExcludeText]

どうでもいいことだが日本語版Winの場合、大抵タイトル表示が
ファイル名 - アプリ名
ってなってるので、デフォの設定だとタイトルにアプリ名入れただけじゃ
ウィンドウ選択できないことって結構あるんだよな。
まぁ SetTitleMatchMode ,2 にしときゃいいだけのことなんだが。
初心者は意外とこの辺りではまってるのかも
840名無しさん@お腹いっぱい。:2005/09/26(月) 03:24:55 ID:Hgmtn+qM0
変数の中に変数をいれるにはどうすればいいですか?
841名無しさん@お腹いっぱい。:2005/09/26(月) 07:44:08 ID:Owez+5cA0
>>840
意味ワカンネ、も少しちゃんと説明汁

変数の中に他の変数の値を代入なら
hoge1 = %hoge2%

hoge1 := hoge2

変数の中に変数名入れて値を代入なら
hoge1 = hoge2
%hoge1% = hogehoge
msgbox, hoge1の内容=%hoge1% hoge2の内容=%hoge2%

変数の中に変数のアドレス代入なら
hoge1 := &hoge2
842名無しさん@お腹いっぱい。:2005/09/26(月) 11:56:39 ID:Ugq2p8NF0
ctrlキーのダブルクリックって^^::では動かないんですが、無理でしょうか?
843名無しさん@お腹いっぱい。:2005/09/26(月) 12:28:11 ID:SLFXLGna0
コントロールキーをダブルクリックしたいなら
キーボードの上にマウスを置かなきゃ
844名無しさん@お腹いっぱい。:2005/09/26(月) 16:29:16 ID:3FKUgXjo0
FileAppendで改行を入力したい場合にはどうすればいいんでしょうか?
845名無しさん@お腹いっぱい。:2005/09/26(月) 16:32:57 ID:LCXWIdcY0
`r`n
846名無しさん@お腹いっぱい。:2005/09/26(月) 16:52:14 ID:3FKUgXjo0
>>845
即レスありがとうございます。
847名無しさん@お腹いっぱい。:2005/09/26(月) 18:11:32 ID:HjQrCqQl0
右ダブルクリックを取得する方法ってありますでしょうか?
848名無しさん@お腹いっぱい。:2005/09/26(月) 20:54:01 ID:Owez+5cA0
>>842
ttp://lukewarm.s101.xrea.com/myscripts/index.html#ctrldouble
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/16

>>847
Rbutton Up::
 ;システムのダブルクリック時間取得
 WClickTime := DllCall("User32.dll\GetDoubleClickTime",Int)
 if (A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey < WClickTime)
 {
   ;ダブルクリック時処理
 }
 else
 {
   ;シングルクリック時処理
 }
return
849842:2005/09/26(月) 21:48:18 ID:lwmU12EX0
>>848
ありがとうございます。
850名無しさん@お腹いっぱい。:2005/09/26(月) 21:57:44 ID:eXHUKIQA0
ホットキー駆動後に取得するより
autoexecute部で取得しておいたほうが速度的によさそう
851名無しさん@お腹いっぱい。:2005/09/26(月) 22:20:50 ID:qJSP+s+d0
WinSet, Topで「システムの設定によっては動作しない」とあるけど、
具体的な条件はどういものがあるの?
852名無しさん@お腹いっぱい。:2005/09/26(月) 22:54:14 ID:Owez+5cA0
>>850
ですな。あと面倒だから入れなかったけど
厳密にシステムのダブルクリック動作に近づけるなら
マウス移動量が大きすぎる時は弾くっつー処理も入る。

ダブルクリック許容範囲はSysGetで取得する
SysGet,cx,36 ;SM_CXDOUBLECLK
SysGet,cy,37 ;SM_CYDOUBLECLK
853名無しさん@お腹いっぱい。:2005/09/27(火) 21:38:57 ID:Gsnq+LzH0
右ダブルクリックするたびに、画面上の特定の2つのウインドウの前面・背面を入れ替えるには、
どうしたらよいでしょうか?
854名無しさん@お腹いっぱい。:2005/09/27(火) 21:53:30 ID:U24HJvBy0
XXX1,XXX2,XXX2,・・・・・・
というように変数の連番をループでとりたい場合はどうすればいいですか?

"%XXX%Y%%"←イメージ的にはこんな感じなんだけど書き方が分からない
Y+=1
855名無しさん@お腹いっぱい。:2005/09/27(火) 22:20:31 ID:Yb9zVGf10
俺も知りたいや。
結構そこであきらめたスクリプトある。
856名無しさん@お腹いっぱい。:2005/09/28(水) 00:19:47 ID:vKv2P4ml0
何かここんとこ質問ラッシュだな
それは別にかまわんのだけど、たまには完成形のフィードバックもしてくれYO

>>853
ifWinActive hoge1
 WinActivate hoge2
else
 WinActivate hoge1

これを >848のやつに入れ込む。
てか853は上でWinSetにこだわってる人と同一人物なんだろう思うけど
「各ウィンドウをアクティブ化させないで」という条件は付いてないので
敢えてこのまま出してみる

>>854
Xmax = 10 ; 連番配列の個数
Loop, %Xmax%
{
  save := XXX%A_Index%
  ; saveをどうにかする処理

}
857853:2005/09/28(水) 11:21:35 ID:Sz0LP/aa0
>>856
ありがとうございます。実際はそれ以外にもウインドウが存在するので
下のやつでできるようになったけど、右Clickができなくなりました。
;--------------------------------------------------------------------------------
; 右DubleClickでSleipnirとJaneDoeを入れ替える
;--------------------------------------------------------------------------------
Rbutton Up::
;システムのダブルクリック時間取得
If (A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey < 300)
{
;ダブルクリック時処理
MouseGetPos, MX, MY, id, control
WinGetTitle, title, ahk_id %id%
IfInString, title ,Sleipnir
{
WinActivate,JaneDoe View
}
Else IfInString, title ,JaneDoe View
{
WinActivate,Sleipnir
}
}
Else
{
;シングルクリック時処理
Return
}
Return
858名無しさん@お腹いっぱい。:2005/09/28(水) 18:49:45 ID:vKv2P4ml0
~Rbutton Up::
そんかわりコンテクストメニューが出てきてうざいけど。
859853:2005/09/28(水) 21:56:37 ID:E+e6frGI0
>>858
おっしゃる通りでした。他のキーに割り当てることにします。
860名無しさん@お腹いっぱい。:2005/09/28(水) 22:09:08 ID:A4vEE80T0
右クリックのメニューはESCかALTを送ってやると消えるよ。
861名無しさん@お腹いっぱい。:2005/10/01(土) 05:14:13 ID:818WxIDG0
全てのウィンドウをメニューで一覧表示してそこから選択してクリックで
ウィンドウがアクティブになるタスクバーの代わりになるような
イカすスクリプトは作成可能ですか?
862名無しさん@お腹いっぱい。:2005/10/01(土) 06:04:23 ID:chf04gYN0
可能
863名無しさん@お腹いっぱい。:2005/10/01(土) 06:04:35 ID:3+oBZFFh0
普通にALT+TABを割り当てれば良いような気がするのだが気のせいですか?
864名無しさん@お腹いっぱい。:2005/10/01(土) 13:25:35 ID:818WxIDG0
WinGetTitleから表示するとき変数の値が空になるのがあり
それの上手い処理の仕方が分からなくなって挫折しました
865名無しさん@お腹いっぱい。:2005/10/01(土) 15:24:13 ID:Y0LbnagG0
漏れはWinGEtでまずID一覧とって、
それをParseしてタイトルを取得してメニューに出してるけど
タイトルが空ならWingetTextしてどうにかするとか
866名無しさん@お腹いっぱい。:2005/10/01(土) 16:03:16 ID:chf04gYN0
class取得してソレを表示するとか。いっそタイトルのないアプリは無視するとか
Wingetでリスト取得すると、tooltipとかメニューもウィンドウとして
取れちゃったりすることあるし、案外支障ないかもよ
867名無しさん@お腹いっぱい。:2005/10/01(土) 17:25:41 ID:aMUUCKx00
>>864
具体的にどんなことがしたいか教えてくれれば、なにかアドバイスできるかもです
868名無しさん@お腹いっぱい。:2005/10/02(日) 08:08:42 ID:37BNmN4a0
^h::Send,{BS}

といった具合に、Ctrl+Hをバックスペースに割りあえるのはイイんですけど、
しかし、こうすると、Ctrl+H を今後永遠に入力できないことになる・・・

別々に、
+^h::Send,^{h}

と割り当てても、結局Backspaceに入力されてしまう

これは、どうすりゃいいですか
869名無しさん@お腹いっぱい。:2005/10/02(日) 11:30:02 ID:L1NVurE90
1. if で分岐して状況に合わせて使い分ける。
2. #hにでも割り当てとく。
3.現状で ^hを入力する機会がないならとりあえず無視
 必要な時はタスクトレイから Suspend Hotkeyを選べばいい
870名無しさん@お腹いっぱい。:2005/10/02(日) 11:37:52 ID:L1NVurE90
ていうか

$^h::Send,{BS}

で解決するか
871名無しさん@お腹いっぱい。:2005/10/02(日) 14:54:42 ID:37BNmN4a0
>>870
できました
ありがとうございます
872名無しさん@お腹いっぱい。:2005/10/02(日) 19:37:02 ID:oW3mDrcG0
上のレスみて思ったんですが、
「キーボードフック」ってのがいまいちよくわからないのです。
873名無しさん@お腹いっぱい。:2005/10/02(日) 22:59:37 ID:X3j7Rz5j0
MouseGetPos,MX ,MY , id, control
If (890 <= MX And 1250 >= MX) And (700 <= MY And 970 >= MY)
{
WinMove,Cast,, 890, 300
}
Else
{
WinMove,Cast,, 890, 700
}

マウスの位置によってウインドウ位置を移動させたいのですが、
移動しません。
何が悪いのでしょうか?
874名無しさん@お腹いっぱい。:2005/10/02(日) 23:58:08 ID:o82nLs110
>>872
どの程度の説明を求めているのか知らんけど、
要は「あるキーが押されたり離されたりしましたよ」って言うメッセージを
いったん途中で奪って、状況に応じてそのまま本来渡されるべき場所に渡したり、
別のメッセージに置き換えたりして渡したりするようなもの。


>>873
何が原因か分からないときは一時的にMsgBox等を使って、
変数は取得できているか、If内に入れているか等の状況の切り分けをするんだ。
サブルーチンの実行間隔は環境に合わせて適度に。

CoordMode, Mouse, Screen ;取得座標をスクリーンの絶対座標に
SetTimer, Wmove, 200 ;200msごとにサブルーチンを実行
Wmove:
MouseGetPos, MX, MY
If (MX>=890 && MX<=1250 && MY>=700 && MY<=970)
{
WinMove, Cast, , 890, 300
}
Else WinMove, Cast, , 890, 700
return
875873:2005/10/03(月) 00:13:31 ID:vD6MFskv0
>>874
レスありがとうございます。
他のアプリでは正しく移動するので、固有の相性みたいなんであきらめます。
876名無しさん@お腹いっぱい。:2005/10/03(月) 01:14:57 ID:Et7O8wGT0
>>874
漏れも大体そうやっちゃうんだけど
何気にデバッガ機能もデフォでついてたりするんだよな
タスクトレイ右クリで OpenでLineトレース履歴と変数内容は見れたりする
877名無しさん@お腹いっぱい。:2005/10/05(水) 04:37:58 ID:pc+jBLG70

小一時間ほどホームページ見ながら使おうと頑張ってみたんですが
言語のげの字も知らないド素人なものでまるで使えませんでした。
すいませんが少しだけお教え願えませんでしょうか?
Numpad1を押すとNumpad1が2回タンタンと素早く押されるようにしたいのですが、
たったこれだけが1時間かけてもわからない_| ̄|○
878名無しさん@お腹いっぱい。:2005/10/05(水) 07:45:02 ID:pwFQhRMB0
>>877
それ流行らせるページで管理人さんが書いてる
俺も作ってから気づいた・・・
879名無しさん@お腹いっぱい。:2005/10/05(水) 07:46:10 ID:pwFQhRMB0
と思ったら違う奴だった
880名無しさん@お腹いっぱい。:2005/10/05(水) 08:48:33 ID:pc+jBLG70

あのページですら難しすぎてわからない_| ̄|○
881名無しさん@お腹いっぱい。:2005/10/05(水) 11:54:12 ID:m7HsE3Sf0
Beep音を鳴らすにはどうしたらいいでしょうか?
「SoundBeep」はコントロールパネルのサウンドのプロパティで設定してある「一般の警告音」が鳴るようですし・・・
882名無しさん@お腹いっぱい。:2005/10/05(水) 14:33:34 ID:cm1TO67k0
>>877
~Numpad1::send,{Numpad1}
これじゃ駄目かな?テンキーが無いものでaでチェックしました。
883877:2005/10/05(水) 17:47:16 ID:iiOTk+eg0
ありがとうございます。
早速試してみます(`・ω・´)
884877:2005/10/05(水) 18:26:13 ID:iiOTk+eg0
2回入力できました、ありがとうヽ(´□`。)ノ・゜

ご迷惑ついでにもう一つお聞きできたら嬉しいのですが・・
この2回押される間の時間というのは調節できますか?
885名無しさん@お腹いっぱい。:2005/10/05(水) 21:56:30 ID:W2Wkz03o0
>>881
http://lukewarm.s101.xrea.com/commands/SoundBeep.htm
>Windows9x系では、引数の指定にかかわらずシステムのデフォルトの音が使用される。

多分コレじゃないか。 うちではちゃんとBeepで鳴ってる(WinXP)

>>884
sleepかSetKeyDelayあたり
886881:2005/10/05(水) 22:50:38 ID:m7HsE3Sf0
>>885
すみません。最初に書くべきでした。
XP SP2です。
887名無しさん@お腹いっぱい。:2005/10/05(水) 23:06:33 ID:Z4+evqCo0
教えてください。
^!P::
WinGet, t, Transparent, A
if t =
WinSet, Transparent, 164, A
else
WinSet, Transparent, Off, A
return
これで半透明のトグルが出来ますよね。
これの最前面化のトグルはどうやればいいのでしょうか?
888名無しさん@お腹いっぱい。:2005/10/05(水) 23:07:48 ID:EOTes3GO0
ギャグか?
WinSetのとこに載ってるぞ。
889名無しさん@お腹いっぱい。:2005/10/05(水) 23:13:42 ID:Z4+evqCo0
ギャグです。
ではなくて、どう最前面化かどうかを判断すればいいんでしょうか?
890名無しさん@お腹いっぱい。:2005/10/05(水) 23:39:51 ID:eG0JKm4k0
勝手にやってくれんじゃねえの?
891名無しさん@お腹いっぱい。:2005/10/05(水) 23:49:18 ID:Z4+evqCo0
あ、ズバリTOGGLEってありましたね。
やっぱギャグでした。
892名無しさん@お腹いっぱい。:2005/10/06(木) 00:01:55 ID:heml5h6H0
誰か完成形をさらさないか?
893名無しさん@お腹いっぱい。:2005/10/06(木) 00:56:15 ID:dV8T+9270
^!T::
WinSet, Topmost, Toggle, A
return
こうですかね。
894名無しさん@お腹いっぱい。:2005/10/06(木) 01:35:58 ID:u6q4TjZ20
The latest version is 1.0.39.00 (released October 3, 2005) -- changelog | download

Wolfgang Reszel wrote an article for c't Magazine to introduce and demonstrate the benefits of AutoHotkey.
895名無しさん@お腹いっぱい。:2005/10/06(木) 02:05:22 ID:dV8T+9270
ちょっと変えてみた。
^!T::
WinGetActiveTitle, Title1
IfNotInString Title1, ■
{
WinWaitActive, %Title1%
WinSetTitle, ■%Title1%
WinSet, Topmost, On, A
}
else
{
WinWaitActive, %Title1%
StringReplace, Title2, Title1, ■,
WinSetTitle, %Title2%
WinSet, Topmost, Off, A
}
return
プログラミングとかわからんから 誰かもっと効率よく使い易く変えみてくれませんか?
896名無しさん@お腹いっぱい。:2005/10/06(木) 02:34:31 ID:HYST3Zqi0
Toggle使えば確かにAHKが勝手にやってくれるけど
今現在Topmostに設定されてるかどうか知りたければWingetでExStyle取得すればよろし。
897881:2005/10/06(木) 18:12:36 ID:ixt2lg000
やはりどうやってもBeep音鳴らせないです・・・・。
898名無しさん@お腹いっぱい。:2005/10/07(金) 13:46:39 ID:8cRbJEPB0
>>897
スピーカーから鳴ってる?それともケーススピーカー?
899名無しさん@お腹いっぱい。:2005/10/07(金) 21:28:35 ID:yaDGcNlW0
>>898
システム起動時に鳴るビープ音はケーススピーカーだと思います。
900名無しさん@お腹いっぱい。:2005/10/07(金) 22:30:51 ID:/UTtkouv0
>>899
ケーススピーカーで鳴るのがビープ音じゃなかったっけ?
901名無しさん@お腹いっぱい。:2005/10/07(金) 22:57:16 ID:C60Dli8v0
>899がいってんのはPCの電源入れた時の( ゚д゚)、ペッって音のことだと思うが
システム起動時つと普通はWindowsの起動音を指すんではなかろうか

SoundBeepは
>サウンドカードのBeep音を鳴らす
って書いてあるから環境によるのかもしらんね
902名無しさん@お腹いっぱい。:2005/10/07(金) 23:48:55 ID:DckCzYN60
>>900
ケーススピーカーで鳴らすのも
サウンドデバイスから鳴らす一般警告音もどちらもビープ音だよ。

サウンドデバイスの有無でケーススピーカーを鳴らすか
一般警告音を鳴らすか自動で振り分けてる。
903名無しさん@お腹いっぱい。:2005/10/07(金) 23:51:34 ID:yaDGcNlW0
>>902
サウンドデバイスがある状態でケースのビープ音を鳴らすのは不可能なんでしょうか?
904名無しさん@お腹いっぱい。:2005/10/08(土) 00:11:59 ID:yc01N9cE0
>>903
可能
俺は
SoundBeep,1000,100
でケーススピーカからBeep音がなっている。

XPSP2 + SoundBlasterLive
905名無しさん@お腹いっぱい。:2005/10/08(土) 00:14:39 ID:YoBmuhxD0
>>904
>SoundBeep,1000,100

試しましたが鳴りませんでした。

XPSP2+SoundBlasterDisitalMusic
906名無しさん@お腹いっぱい。:2005/10/10(月) 13:52:00 ID:5MwEDXsm0
あげ
907名無しさん@お腹いっぱい。:2005/10/10(月) 17:29:33 ID:jVBMvfsw0
ド素人です。

^y::
Send,{x 5}
SetKeyDelay, 1000
Send,{t}
Return

ctrl+y押し>xxxx連続>wait1s>t
と言う風にしたいんだけど
xxxxtとつながって出てきます。
wait1sをいれようと思ったら
SetTimer, Label
を用いて

^y::
Send,{x 5}
SetTimer, LabelT ,1000
Return

LabelT:
Send,{t}
Return

と言う風にしてみたんですがこいつはx5回>t連打になってしまいます。
tを一回でとめたいのですが、どうしたらいいでしょうか?
もしくはラベルを使わずにwait1sとかでポーズをかけることは出来ないのでしょうか?


908名無しさん@お腹いっぱい。:2005/10/10(月) 17:44:23 ID:q+Js3WgI0
>>907
Sleep,1000

じゃだめかな?
909名無しさん@お腹いっぱい。:2005/10/10(月) 18:36:33 ID:JX8m0lbE0
>>907
SetKeyDelayはWaitじゃなくてSendの間隔を空けるコマンド、単純ウェイトなら>908のようにSleepを使う。
あと{ }はTab とか F1とかのキー用のくくりなので、t 一回なら Send,t で平気

それとSetTimerは、繰り返し実行用コマンドなので、一回だけ実行させたい場合は
飛び先でOFFにしてやればおk

LabelT:
SetTimer,LabelT,OFF
 :
Return
910名無しさん@お腹いっぱい。:2005/10/12(水) 12:30:24 ID:N6cJGbwJ0
ttp://www.donationcoders.com/skrommel/
小物スクリプトが色々と。
911名無しさん@お腹いっぱい。:2005/10/12(水) 12:43:32 ID:iJy0j5As0
>>910
英語わかんねーよ・・・_| ̄|○
912名無しさん@お腹いっぱい。:2005/10/12(水) 14:22:04 ID:EyczMlML0
おもろい小物がいっぱいだね。
913名無しさん@お腹いっぱい。:2005/10/12(水) 19:31:51 ID:Ra5uQqdK0
>>911
英語わかんねーよ・・・_| ̄|○

んじゃこんなのは?
PCK(Pipeline Construction Kit)
ttp://www.longtail.co.jp/pck/

# 既出だったらスマソ
914911:2005/10/12(水) 19:59:41 ID:qz4p9ed/0
>>913
何をするスクリプトかさえ分かればそれでいいんですが・・・
915名無しさん@お腹いっぱい。:2005/10/12(水) 20:13:45 ID:Ra5uQqdK0
>>914
機械翻訳である程度のことは分かるし。
実際に動かしてみればいいんジャマイカ?

# ちなみに>>913 のは >>910 のとは
少し趣が違うツールだけど、 和モノよん。
916名無しさん@お腹いっぱい。:2005/10/13(木) 05:01:55 ID:iQNbPG5b0
AutoHotkey1.0.40 up!

Added a new remapping method that is more simple and
powerful than the old methods. For example:
   :
Capslock::Ctrl ; Make Capslock become a Control key.

これでいよいよMayuとお別れかと思ったら、やっぱりまだ日本語の環境では
CapsLockをCtrlにすることは出来なかった。Ctrlを押しっぱなしの状態にな
るんだよね。
917名無しさん@お腹いっぱい。:2005/10/13(木) 05:27:49 ID:iQNbPG5b0
ところで、TTBaseスレで

消ポップアップ http://hp.vector.co.jp/authors/VA016117/
Press It! http://www.abk.nu/~mizuno/mh2/soft/pressit.html
TAALT http://homepage1.nifty.com/toro/slwin4.html#taalt

は全てAutoHotkeyで出来るとやつがいた
http://pc7.2ch.net/test/read.cgi/software/1041375122/804
が、多分こちらも見ているだろうから、見ていたらスクリプトを公開してくださいな。
918名無しさん@お腹いっぱい。:2005/10/13(木) 09:34:21 ID:/7r04rZI0
消ポップアップは無理だって流行らせるページの中の人が
919名無しさん@お腹いっぱい。:2005/10/13(木) 09:48:28 ID:Si1QHl4e0
TTBスレの奴じゃないけど、消ポップアップ
・MS-Office上で効かない
・通常メニュー上の右クリでもメニュー消しちゃう
て問題があるが、これは本家も同じ動作。回避するならもちょっと付け加える必要がある

~RButton::
  IfWinExist , ahk_class #32768
    rflg = 1
return

~RButton up::
  if (rflg)
     WinClose, ahk_class #32768
  rflg=0
return
920名無しさん@お腹いっぱい。:2005/10/13(木) 10:36:11 ID:Si1QHl4e0
ちゃんとフックかけないとしくるか

RButton::
  IfWinExist , ahk_class #32768
    WinClose
  else
  {
    Send,{RButton Down}
    KeyWait, RButton
    Send,{RButton up}
  }
return
921名無しさん@お腹いっぱい。:2005/10/13(木) 12:46:47 ID:Si1QHl4e0
PressItはUIの作りこみがめんどいな。とりあえず簡単な実装例

autoexecute:
  gui,add,checkbox,-Wrap GPressIt,Shift
  gui,add,checkbox,-Wrap GPressIt,Ctrl
  gui,+AlwaysOnTop -MaximizeBox -MinimizeBox
  gui,show
  settimer,keywatch,100
return

keywatch:
  GuiControl,,Shift,% GetKeyState("Shift")
  GuiControl,,Ctrl, % GetKeyState("Ctrl")
return

PressIt:
  ToggleKey(A_GuiControl)
return
ToggleKey(keyname)
{
  if (GetKeyState(keyname))
    Send,{%keyname% Up}
  else
    Send,{%keyname% Down}
}

GuiClose:
  if (!GetKeyState(Shift,"P"))
    Send,{Shift Up}
  if (!GetKeyState(Ctrl,"P"))
    Send,{Ctrl Up}
  exitapp
922名無しさん@お腹いっぱい。:2005/10/13(木) 13:24:12 ID:Si1QHl4e0
TAALT
キーボードでのウィンドウ移動については投稿スレで既出なので割愛

Alt:: return
923名無しさん@お腹いっぱい。:2005/10/13(木) 13:52:49 ID:hZlN4UQv0
>>919-922
乙彼。助かります。これでまた常駐ソフトを減らすことができます。
924名無しさん@お腹いっぱい。:2005/10/13(木) 15:00:48 ID:09+HSwZ30
消ポップアップってどういう場面で便利なのか理解できない
925名無しさん@お腹いっぱい。:2005/10/13(木) 19:05:25 ID:3ncXdGVr0
どういう場面で便利とかそういう話じゃないと思う。
好みの問題だよ。
926名無しさん@お腹いっぱい。:2005/10/15(土) 03:35:48 ID:lvMgkUWM0
>>910
アイコンもセンスいいし,Giraffeに放り込むと無茶苦茶幸せだわ。
早速何個か使わせていただきますた。
927名無しさん@お腹いっぱい。:2005/10/15(土) 12:18:14 ID:5Q2YK87j0
>>910
誰かどういうスクリプトがあるか説明していただけませんか?
928名無しさん@お腹いっぱい。:2005/10/15(土) 12:23:16 ID:9NYhCpw70
ウェブページ翻訳かけてみたら?
英語全然わからん自分でもそこそこ理解できたよ
929927:2005/10/15(土) 14:30:04 ID:FKsIHUfr0
>>928
ウェブページ翻訳やってみたんですが、微妙なニュアンスがおかしいようでよくわかりませんでした。
930名無しさん@お腹いっぱい。:2005/10/15(土) 16:04:35 ID:f6cPmZBa0
ざっと見ただけなので間違ってるかも。
--------------------------------------------------------------
TimeStamp クリップボードに時刻をコピー
ColorTaskbar タスクバーの色を変える。グラデーション的にできる。お遊びツール。
WinLock Windowsをパスワード保護する
MinimOther アクティブウインドウ以外を最小化
ShowDialogsToo ダイアログボックスをタスクバーに表示できるようになる
BigByte 指定したファイルサイズのファイルを作る。アスキー・バイナリ共に可能
ToddlerTrap マウスとキーボードを無効化。子供対策や掃除に。
RunAsTools システムツールを別のユーザー権限で実行
MouseActivate マウスポインタの下にあるウインドウやコントロールをアクティブ化して操作
PixelNotifier 画面上の色の変化を検出したらアラートを出す
ProcessGuard プロセスを監視し、条件にマッチしたらアラートを出す
ZoomSaver 画像のスライドショー的スクリーンセーバー。起動中に操作可能
NoStrayClicks マウスクリックを無効化する。文書編集中などに。
ShowOff 押されたキー名を表示
WinWarden ウインドウの表示方法を任意に。最大化最小化から半透明まで
931名無しさん@お腹いっぱい。:2005/10/15(土) 16:05:18 ID:f6cPmZBa0
AutoClip クリップボード拡張&自動キー入力(AutoHotkey準拠)
Ghoster アクティブウインドウ以外をぼやけさせる(半透明化)
DragKing クリップボードにコピーしたテキストの行数と文字数を表示
RecentRun 最近使ったプログラムをメニュー表示して起動
ClipStep キーボードのCtrl+X、Ctrl+C、Ctrl+Vのみで操作可能なクリップボード拡張
CAPshift CAPSキーを制御。さらに選択したテキストの大文字小文字の入れ替えなど
Desktop! 「デスクトップ」をタスクバーアイコン化
TakeABreak 一定時間Windowsをロック
Noise キーストロークを発生させてパソコンのスリープを防ぐ
TicTocTitle 日時をアクティブウインドウのタイトルバーに表示
StartClock スタートボタンに時間を表示
MouseClock マウスカーソル横に時間を表示
CutAway ウインドウの一部を切り取る
Mute 音声出力のミュート&その解除
MicMute 音声入力のミュート&その解除
Run 「ファイル名を指定して実行」ウインドウを起動
Find ファイル検索画面を表示
EjectCD CD-ROMドライブのトレイを開く
CloseCD CD-ROMドライブのトレイを閉じる
OnTop 指定したウインドウを最前面化
LiP サイト内にリンクされている画像をすべてフルサイズでウインドウ中央に表示する
932名無しさん@お腹いっぱい。:2005/10/15(土) 16:27:52 ID:f6cPmZBa0
NoStrayClicksがちょっとわかりにくいかな。
文字列入力中はマウスポインタが退避して
変な所をクリックするのを防ぐというツールでした
933名無しさん@お腹いっぱい。:2005/10/15(土) 17:29:28 ID:hHB6MoIc0
>>930
乙です。
934名無しさん@お腹いっぱい。:2005/10/16(日) 19:44:32 ID:NRX61uFp0
流行らせるページを見て,Alt×2に機能を割り付けることは出来たんだけど,
Alt×1に割り付けることはできる?

具体的には

Alt押し離し×1→ime on
Alt押し離し×2→ime off
Alt押し+キー→そのまま入力

が出来るようにしたいっす。
935名無しさん@お腹いっぱい。:2005/10/16(日) 22:29:03 ID:/yiN5OAM0
ALT::
  KeyWait,ALT,T0.2
  if ErrorLevel = 0
  {
    KeyWait,Alt,D T0.2
    if ErrorLevel = 0
    {
      KeyWait,Alt
      tooltip,on ;test  ime offの処理を入れれ
      return
    }
  }

  tooltip,off ;test  ime onの処理を入れれ
return
936名無しさん@お腹いっぱい。
ae