AutoHotkey スレッド part4

このエントリーをはてなブックマークに追加
1ぬるぽ
2名無しさん@お腹いっぱい。:2007/07/16(月) 12:31:16 ID:cd0T6xfs0
(テンプレ>>2)
■関連記事のあるサイト
猫歩き - AutoHotKey
http://tryhost.net/~catwalk/?cmd=read&page=AutoHotKey
AutoHotkey メモ - Principia
http://principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2
AutoHotKey - notitle.txt
http://kan.s151.xrea.com/?AutoHotKey
TOKKY.COM
http://www.h3.dion.ne.jp/~tokky/
なまず日記
http://www.tierra.ne.jp/~aki/diary/
eamatの日記
http://d.hatena.ne.jp/eamat/
おばけ日記
http://d.hatena.ne.jp/obake/

1 Hour Software by Skrommel - DonationCoder.com
http://www.donationcoder.com/Software/Skrommel/
ACConsole
http://www.autohotkey.com/forum/topic7831.html
3名無しさん@お腹いっぱい。:2007/07/16(月) 12:55:03 ID:0N2BNEq90
おつ
4名無しさん@お腹いっぱい。:2007/07/16(月) 13:59:02 ID:VmSjocD30
FAQ
Q:CapsLock(英数)キーの割り当てがうまくいかないよ
A:日本語環境だとLock系キーの動作は不定。
  OS側がキーUp/Down情報が正しく返してこないので対処のしようがない。
  OSのローカライズ段階で発生してる問題なので、窓使いの憂鬱やChange Keyのように
  ドライバレベルで弄らないとダメだが英語圏では問題ないらしいので今後のサポートもあまり期待できない。
  対処としては前述のソフトで、CapsLock(英数)キーを別のキー(F13〜F24など)に割り当ててから
  AHKで利用すべし。

Q:「〜AチЯ`荏柿義形港餐汁秦疏蛋伝覗描冒輿倭兪啻嫣彖拜杼歔」を含む文字列がうまく扱えないよ
A:これらの文字の2バイト目が、AHKのエスケープ文字である0x60[`]なため。
  対処としてはこれらの文字の"直後"に「`」を記述する(例:「線形`代数」)か、
  #EscapeCharでエスケープ文字を別のものに変えるべし。
5名無しさん@お腹いっぱい。:2007/07/16(月) 15:18:00 ID:VmSjocD30
Q:Shift, Ctrl, Alt, Winキー以外のキーを修飾キーとしてキー割り当てしたいよ
  (例:無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたいよ)など
A:Remap機能は記述が簡単になる反面、細かい指定がしにくい。
  流行らせるページのHotkeys, キーリスト, リファレンス→Send, #IfWinActive, GetKeyState()なども参照すること。
  なお、例の場合は以下のように記述する。
  sc07B & I:: Send, {Blind}{Up}
  sc07B & K:: Send, {Blind}{Down}
  sc07B & J:: Send, {Blind}{Left}
  sc07B & L:: Send, {Blind}{Right}
6名無しさん@お腹いっぱい。:2007/07/17(火) 02:04:36 ID:qHFk14670
>>1
msgbox, 乙
send, {ガッ!!}
7名無しさん@お腹いっぱい。:2007/07/17(火) 08:27:04 ID:RNxERrJe0
前スレ>>996

>わざわざFileZillaを導入して
>調べてみたところHidden Window TextにFTP操作ログが丸ごと
>入っておりAutoHotkeyにはなんら問題がないことが証明された

それはどうも。 確かにHidden Window TextにFTP操作ログがありますが
それを元にどう判定すればよいのでしょうか?
転送が全て終わるとFTP転送ログが全部消えるとか言うなら
if Hidden Window Text = null Then みたいな処理が可能かもしれませんが
終わってもずっと残り続けていますし、最後のファイルが何なのかも分からない。
これをトリガにする事は可能なのでしょうか?
8名無しさん@お腹いっぱい。:2007/07/17(火) 12:03:30 ID:WFG9I7Bt0
もっと自分の頭を使って楽しんだらいいじゃないか。
9名無しさん@お腹いっぱい。:2007/07/17(火) 12:37:19 ID:BwoD7DlKP
まだやってるのか
10名無しさん@お腹いっぱい。:2007/07/17(火) 13:02:53 ID:HFPx8b3e0
もう相手にするな。
11名無しさん@お腹いっぱい。:2007/07/17(火) 14:35:42 ID:ceeLEANI0
>>7
そろそろ消えろよ。
ahkの話題なら答えてやれるかも試練が、
お前しか使ってないようなソフトの実装の話題出されても困る。
12名無しさん@お腹いっぱい。:2007/07/17(火) 14:51:25 ID:Mn0axo+k0
実装以前にBASIC脳だからなあw
13757:2007/07/17(火) 17:31:18 ID:RNxERrJe0
>>11
AHKの話題なんですが。AHKを使ってどう処理させれば良いのか。
こういうWindowに対してはどう処理させれば良いのかをお聞きしています。
14名無しさん@お腹いっぱい。:2007/07/17(火) 19:51:26 ID:ceeLEANI0
>>13
> よってこの話題は次スレにもちこさず終了でokだな
> さよなら
15名無しさん@お腹いっぱい。:2007/07/17(火) 20:45:00 ID:RNxERrJe0
>>14
そうおっしゃらずに・・・
16名無しさん@お腹いっぱい。:2007/07/17(火) 23:51:28 ID:4AsyzCz70
>>11
AHK云々以前に態度の問題だと思うぞ
17名無しさん@お腹いっぱい。:2007/07/18(水) 00:16:18 ID:JAH770ni0
>>>>( TitleMatchMode=slow Visible Text )<<<<

内のテキストのみを取得するにはどう書けば良いのでしょうか?
WinGetText, OutputVar, App
だと全てのテキストが取得出来てしまう・・・・。
18名無しさん@お腹いっぱい。:2007/07/18(水) 01:06:42 ID:jlyT0YH00
ポカーン
19名無しさん@お腹いっぱい。:2007/07/18(水) 01:08:03 ID:jV3m4S/H0
やっぱりこれが必要だな

わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
20名無しさん@お腹いっぱい。:2007/07/18(水) 01:35:15 ID:JAH770ni0
>>19
1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
読んだ。最初付属の英語のドキュメント見たけど これ流行らせるページのリファレンスと
同じ内容じゃんとか思ってリファレンスの知りたいコマンドを3回ぐらい読み直した

2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
ググった。コマンド名で調べたりしたけど知りたい情報が出てこない

3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
実行した。実行したがなぜか全くテキストが取得できない。オプション省略したら
全部取得できてしまうから困るし、指定したら全く取得できなくて・・・

4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
理解しようとはしているが理解力が劣っているのは今更どうしようもない事では・・・

5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
少しあるかもしれない。マニュアルがもう少し細かく解説してくれていれば・・・と思ってしまう。

6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
そんな事は無い。だが自分で出来る最大限の努力をして解決できないのだから
やむを得ず最終手段としてココに書き込んでいる

7. バカだから ・・・バカだから。
そんな事言われても・・・
21名無しさん@お腹いっぱい。:2007/07/18(水) 01:54:52 ID:tVZXbbpq0
何言っても、つけあがるだけだから、もう相手すんなよ。
22名無しさん@お腹いっぱい。:2007/07/18(水) 01:58:55 ID:ow9CKsNG0
新スレ快調な滑り出しだなw
23名無しさん@お腹いっぱい。:2007/07/18(水) 02:02:21 ID:v12QVIx40
そうそう、何いっても偉そうに語るだけだからな。不愉快になるだけだよ
24名無しさん@お腹いっぱい。:2007/07/18(水) 02:12:26 ID:FrViD6t40
よくここまで叩かれて、いけしゃあしゃあと出てこられるなww
25名無しさん@お腹いっぱい。:2007/07/18(水) 02:21:57 ID:pOvlS0MJ0
このスレ時々教えて君がいつまでも粘着するね、同一人物なのか?

>>20
しつこく食い下がったところで答えは得られないよ。

あんたの説明ではFileZillaとやらを使ってる人間でないとわからない。
まずソフトの挙動がわからん。駄目出しばかりで使えそうなネタもなく、
回答者に丸投げしてるがそれでは使ったことない人間には答えられんぞ。
そしてここにはFileZillaとやらを使ってる奴はいない。

制御方法にある程度アタリを付けた上で、FileZillaというのはこれこれこーいう動作をするので、
ここを利用してどうにか制御できないか、っつー質問ならまだアドバイスのしようもあるが。
26名無しさん@お腹いっぱい。:2007/07/18(水) 02:40:18 ID:JO7nXYpx0
使わんソフトをインスコしてまで教えようとは思わん
ましてや>>20みたいな奴には絶対いやだね
27名無しさん@お腹いっぱい。:2007/07/18(水) 02:40:31 ID:jlyT0YH00
>>25
そういう話は >>11 で既に出てる気がする。
言うだけ無駄じゃない?
28名無しさん@お腹いっぱい。:2007/07/18(水) 10:40:17 ID:ngYeAMHb0
ここまで努力したんデス何とかして下さいと、試しているスクリプトを
貼り付けてみたら?運が良ければ、通りすがりのイケメンがアドバイスをくれる
かも知れないし。流石に>>20では、誰も手を差し伸べる気にはならないでしょ。
29名無しさん@お腹いっぱい。:2007/07/18(水) 11:23:31 ID:nCvfqQVB0
流れをぶち切って質問

#IfWinactive,hoge
F11:hoge0
F12::hoge1
#IfWinactive

F12::hoge2

ソフトhogeがアクティブになっているときにF12を押すとhoge1、
それ以外はhoge2としたいわけですが、常にhoge2が実行されてしまいます。
hoge0は動作するのですが、思い通りにするにはどうすればいいでしょう。
30名無しさん@お腹いっぱい。:2007/07/18(水) 11:28:11 ID:nCvfqQVB0
F11のあとにコロンが1つ抜けてますが、そのせいじゃないです。
31名無しさん@お腹いっぱい。:2007/07/18(水) 11:53:17 ID:neJ2jIxG0
>>29
それだと4行目以降は無条件で有効になる。
こっちを使えばいいよ http://lukewarm.s101.xrea.com/commands/IfWinActive.html
32名無しさん@お腹いっぱい。:2007/07/18(水) 12:33:08 ID:gtUuvYcE0
リモートデスクトップ環境で使ってみたんだが、なかなか微妙な動作だた。
全画面にしないで使うとWindow情報取れない。まぁ子ウィンドウで動いてるわけだから
これは考えてみれば当たり前の話なんだけど。
で、全画面にしたときは、WinActiveが取れたり取れなかったりする。
そしてホットキー制御も微妙、つかこういう場合はローカルとリモートの
どっちにスクリプトを常駐させたらいいのやら。
33名無しさん@お腹いっぱい。:2007/07/18(水) 16:56:15 ID:JAH770ni0
>>28
親切にありがとうございます。

じゃあ通りすがりのイケメンを期待してスクリプトを晒させて頂きます。
よろしくお願いします。

http://www.uploda.org/uporg910981.txt
34名無しさん@お腹いっぱい。:2007/07/18(水) 21:37:34 ID:yt6HWuiP0
ControlSendでF5やEscなどは反応するんですが、
普通のキーは反応しないのですがどういうことが考えられるでしょうか
35名無しさん@お腹いっぱい。:2007/07/19(木) 02:15:11 ID:k7h2k3150
>>34
どこにキーを送ろうとしているのか答えてみ?
36名無しさん@お腹いっぱい。:2007/07/19(木) 02:41:51 ID:y735Llsw0
>>35
WinTitleでウィンドウだけ指定してるのですがそういうことでしょうか?
37名無しさん@お腹いっぱい。:2007/07/19(木) 02:47:00 ID:k7h2k3150
>>36
そういうことです
テキストボックスに送りたいなら指定してやらないと
38名無しさん@お腹いっぱい。:2007/07/19(木) 02:59:06 ID:y735Llsw0
>>37
忘れてましたすみません
一応うさみみハリケーンで調べてクラスを指定してやってもみたんですが、全て反応しませんでした
39名無しさん@お腹いっぱい。:2007/07/19(木) 03:58:21 ID:puYLD4eI0
Winキーによるスタートメニュー開くのを無効しつつ、#Rとか#Eは使えることはできますか?
40名無しさん@お腹いっぱい。:2007/07/19(木) 08:26:01 ID:BxXvvbtq0
できるお
41名無しさん@お腹いっぱい。:2007/07/19(木) 09:09:20 ID:bBtlMikLP
vistaで#lをRightにしたらロックされてしまいすごく悲しい気分なのですが
どうにか無効にできませんの?
42名無しさん@お腹いっぱい。:2007/07/19(木) 12:37:57 ID:HZMtfQbE0
>>38
AHKのClassの場合は後ろに連番がつくよ。
うさみみじゃなくて、AHK付属のAU3_spy.exeで調べてみ
43名無しさん@お腹いっぱい。:2007/07/19(木) 12:43:16 ID:+Ck0v38f0
>>31
素直に#なしの方でよかったか…
#ありとなしの使い分けがいまいちわかってませんでした。ありがとう。
4433:2007/07/19(木) 16:32:59 ID:gz2gvc190
通りすがりのイケメンに見た頂く前にファイルが消えてしまっているようなので再アップ・・・
と言うかスクリプトかなり改良した。

http://www.geocities.jp/hokaan/ahk_fz.txt

今困っている事
1.ログに余計なものが入りまくっているので >>>>( TitleMatchMode=slow Visible Text )<<<< 内の
テキストのみを取り出せるように出来ていない点

2.FileZillaは相手のサーバがダウンしたりして接続が切れてしまうとキューを保持し続けているので
キューが0MBになったら終了するっていう書き方をしている為、もし相手のサーバがダウンして
切断されてしまったら永久にFileZillaを自動終了しない。
自動終了しないどころかログも吐き出さない。終了直前でログを吐き出すようにしているから。

この辺のアルゴリズムが分からない・・・。 "切断されました"等のテキストがもしログウィンドウに
含まれていれば強制終了させる等の分岐をするわけにもいかない(接続が切れて再接続を
自動でFileZillaが試して、再び接続に成功する事はしょっちゅうあるのでその際にまだ転送終わってない
のに強制終了させられてしまう為)。

もう少しなのですがギリギリのところで実用できるレベルには達していませんOTL
45名無しさん@お腹いっぱい。:2007/07/19(木) 16:40:43 ID:gYpF7mDp0
基本的な質問ですが、同時に複数のスクリプトを起動してもいいのでしょうか?
私の場合はいつの間にか動かなくなっていてリロードすると動き出すという現象に悩まされていますが、複数起動が原因の可能性は御座いますでしょうか?
スクリプトは
vkEBsc07B & h::send,{left}
vkEBsc07B & j::send,{down}
vkEBsc07B & k::send,{up}
vkEBsc07B & l::send,{right}
vkEBsc07B & `::send,{PgUp}
vkEBsc07B & '::send,{PgDn}
return
(vi風)

IfWinActive,無題-仕事
{
vkEBsc07B & 2::send,!dtoday{F10}{Enter}{Enter}
return
}
(outolookの仕事の〆切日を今日に設定)
のような単純なものばかりです。
46名無しさん@お腹いっぱい。:2007/07/19(木) 17:06:26 ID:hHVRB4Ux0
>>45
キーフックの種類によっては複数起動時に問題になることがある気がする。
といっても注意してみてないから、自分もよくわからないのだが。
47名無しさん@お腹いっぱい。:2007/07/19(木) 19:05:51 ID:8/4t2AeB0
下のは#IfWinActiveにしなくてええのんか?
その書き方だと意味がないように思うが
48名無しさん@お腹いっぱい。:2007/07/19(木) 21:37:33 ID:Vx9sCJVZ0
Joy5:: Send,{Joy1}
なんてことは出来ないの?
エラーにはならないんだけど反応がない・・・
49名無しさん@お腹いっぱい。:2007/07/19(木) 23:00:44 ID:rRzxcE/l0
>>41
多分無理。中の人がVistaについて頑張ってくれないと
50名無しさん@お腹いっぱい。:2007/07/20(金) 12:45:11 ID:WslthaG10
>>41
Vistaだとやはり動作に問題多い?
そろそろPC買い替えたいなーとか思っていたんだが
もはやAHKの動かない環境ではダメな身になってってる。
しばらく買い替えは見合わせたほうがいいかね
51名無しさん@お腹いっぱい。:2007/07/20(金) 13:52:39 ID:MGKMuj+k0
>>50
買い換えて、Vista消してXPぶちこめ。
52名無しさん@お腹いっぱい。:2007/07/21(土) 00:47:19 ID:Bthn1Xs/0
>>47
そうなんですか?
ヘルプのIfWinActiveの項目にあったexampleをパクッたんですが・・・

ところで、エディタを変更するのにレジストリをいじるしかないのですか?なんか、怖いですよね。
53名無しさん@お腹いっぱい。:2007/07/21(土) 00:56:41 ID:n8Ql4N6M0
>>52
漏れならコウカクYO

#IfWinActive,無題-仕事
vkEBsc07B & 2::send,!dtoday{F10}{Enter}{Enter}

または(こう書く意味はほとんどないと思うけど)

vkEBsc07B & 2::
IfWinActive,無題-仕事
{
send,!dtoday{F10}{Enter}{Enter}
Return
}

>>45の書き方では「無題-仕事」がアクティブでも何も行われないと思うし
Returnがどこに帰るかではスクリプト動作に影響がでると思う
5452:2007/07/21(土) 01:10:44 ID:Bthn1Xs/0
>>53
ありがとう御座います。実は指摘を受けてはじめて#IfWinActiveを知りました。。。
ところで、私はヘルプにあった下記のスクリプトをまるまるパクったのですが・・・
私のスクリプトをさっき試したらちゃんと期限が本日の日付になりましたので、動くことは確認出来ました。

IfWinActive, Untitled - Notepad
{
WinMaximize ; Maximizes the Notepad window found by IfWinActive above.
Send, Some text.{Enter}
return
}
55名無しさん@お腹いっぱい。:2007/07/21(土) 08:46:22 ID:kvN4tbdu0
>>52
過去スレに貼ったような気もがするがまぁいいや。
↓ファイル選択ダイアログで任意のエディタを指定するスクリプト

; --- AhkEditChanger.ahk ---
RegRead, OldData, HKCR, AutoHotkeyScript\Shell\Edit\Command
MsgBox,36,AutoHotkey Scriot Editor Changer,現在ahkのEditに設定されている値`n`n %OldData% `n`n別のエディタを指定しますか?
IfMsgBox,No, ExitApp
SplitPath,OldData,,EditorDir
FileSelectFile,MyEditor,3,%EditorDir%,ahkを編集するエディタを選択,*.exe
IfNotExist, %MyEditor%, ExitApp

RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Edit\Command,,%MyEditor% `%1
RegRead, NewData, HKCR, AutoHotkeyScript\Shell\Edit\Command
MsgBox,64,AutoHotkey Scriot Editor Changer, %OldData% を`n`n%NewData% `n`n へ変更しました。
56名無しさん@お腹いっぱい。:2007/07/21(土) 12:28:52 ID:PIxdIsoL0
それだとAutoHotKey.iniをタスクトレイから開く時には
デフォではメモ帳が起動するかも

洩れはWIN+Hに常用エディタで開くように設定してるけど
57名無しさん@お腹いっぱい。:2007/07/21(土) 17:25:46 ID:GlpuXvR50
>>45
いいか悪いかの答えになってないけど
desktop.ahkに
#Include %A_ScriptDir%
#Include Common.ahk
#Include Explorer.ahk
#Include WMP.ahk
...
とか並べて一つにまとめてる。何書き換えても一括してリロードできるし特に重くもないし。
58名無しさん@お腹いっぱい。:2007/07/21(土) 20:42:26 ID:nhDGQO+kO
>>53-54
returnはifの外出したほうがよくね?

>>56
出先なんで確認できないけどレジ書き変えてるから大丈夫だったと思う
確か#系コマンドでは上手くいかなくて作ったやつだから

自分もAutoHotkey.iniはホットキー割り当ててるんだが
単発スクリプト起動してるときとかいちいち組みこんでないときも多くて不便なんだよね
5954:2007/07/21(土) 21:07:14 ID:Bthn1Xs/0
>>58
ヘルプの丸写しなんですが…
60名無しさん@お腹いっぱい。:2007/07/21(土) 22:14:31 ID:9QgvxZ5RP
だ か ら な に ?
61名無しさん@お腹いっぱい。:2007/07/22(日) 00:09:48 ID:EcBG12Od0
おれは頭を使っていない
ということだろうよ
62名無しさん@お腹いっぱい。:2007/07/22(日) 03:34:53 ID:0lgbw84N0
>>60
>>61
お前らこそ馬鹿か?
ヘルプという圧倒的に信頼が置ける文献に対して間違いを指摘しているということは重大なことだぞ。
文句があるなら本家に言うべきだろう。
63名無しさん@お腹いっぱい。:2007/07/22(日) 04:13:42 ID:EcBG12Od0
そういう指摘をしているのではなかろう……
64名無しさん@お腹いっぱい。:2007/07/22(日) 04:23:14 ID:drlbz0QA0
教科書やマニュアルに従って生きて行く事が悪いと言う訳じゃないし、
それが君の全てだというなら、それは立派な事かもしれない。
けれど、僕らはほんの少し寂しい気持ちになるんだ。
65名無しさん@お腹いっぱい。:2007/07/22(日) 04:26:49 ID:WP/w3End0
IfWinActiveのExample(s)に書かれているのは、一連の処理の途中での使い方に過ぎない。
ホットキーに処理を割り当てるときは、確実に実行される場所にreturnを書いて、
関係ないサブルーチンが誤って実行されてしまうことを防がなくてはならない。
66名無しさん@お腹いっぱい。:2007/07/22(日) 05:06:32 ID:slhpHXNL0
問題は54の気持ち悪さだ
67名無しさん@お腹いっぱい。:2007/07/22(日) 07:29:30 ID:/m0G6nCJP
>>62がバカすぎる件について
68名無しさん@お腹いっぱい。:2007/07/22(日) 11:46:56 ID:0lgbw84N0
>>65
なるほど。勉強になりました。
いろいろ言われていますが、頑張って英語マニュアルを読破していきます。
学ぶは真似ぶと考えていますので、最初はマニュアルに従っていきます。
とりあえずは初心者から初級者へのステップを目指します。
69名無しさん@お腹いっぱい。:2007/07/22(日) 11:50:14 ID:591ybcGM0
54,62以外はわかってると思うけど、マニュアルは間違ってないよ。
何のExampleなのかを理解せずにそこだけコピペして
「思った通りに動かない」って言われても困る。
もしかして62=54?
70名無しさん@お腹いっぱい。:2007/07/22(日) 11:59:31 ID:0lgbw84N0
>>69
そうです。でも、私が言いたいのはexampleを丸写しで思った通りに動いているのに、
文法間違いを指摘されている点です。繰り返しますが、思った通りに動いているのです。
ただ、時々動かなくなってリロードが必要になるので困っているということです。


71名無しさん@お腹いっぱい。:2007/07/22(日) 12:49:07 ID:lg2PaVgr0
こんなに早く↓を再コピペする時が来るとは思わなかったぜ

わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
72名無しさん@お腹いっぱい。:2007/07/22(日) 13:03:52 ID:0lgbw84N0
>>71
おきまりのパターンですね。罵倒、罵詈雑言は2chの花なんだから、こっちの頭に血がカーッと上るようなのを御願いします。
73名無しさん@お腹いっぱい。:2007/07/22(日) 13:15:26 ID:k01upwKG0
開き直るバカほど始末におえない物は無いな
74名無しさん@お腹いっぱい。:2007/07/22(日) 13:22:52 ID:U6mgmWnm0
教えてくんから構ってちゃんへと、「おきまりのパターン」の厨房は置いといて・・・。

皆、本家の掲示板ってどれ位読んでる?
俺はScripts&Functionsだけ機械翻訳でチマチマ読んでるけど、
便利な関数とかあって、結構タメになってるんだが。
75名無しさん@お腹いっぱい。:2007/07/22(日) 13:39:05 ID:koy/3+020
最初に構ってやった俺が馬鹿だった。
76名無しさん@お腹いっぱい。:2007/07/22(日) 13:53:59 ID:0lgbw84N0
>>75
いやいや、そんなことはないよ。ありがたかったよ。スルーされるよりは罵られても新しい情報が得られるほうが有益ですから。
罵りつつ情報を提供したり、されたりが出来ない無知な俺はしばらく黙りますね。本家の掲示板とヘルプをコツコツ読んでから他人のふりして戻ってきます。
77名無しさん@お腹いっぱい。:2007/07/22(日) 13:57:21 ID:/m0G6nCJP
>>72
罵倒とかそんなの以前に、自分で解決できないバカが周りを振り回してる時点でおきまりのパターンですけどね。
78名無しさん@お腹いっぱい。:2007/07/22(日) 14:05:36 ID:k01upwKG0
>>74
本家は読んでないなぁ。
流行らせるページも読んでないけどね。

> 便利な関数とかあって、結構タメになってるんだが。
便利な関数というか、拡張ライブラリ見たいな物があるとうれしいんだけどなぁ。
文字列処理とか数学関数があまり充実していなくてたまに困る。
79名無しさん@お腹いっぱい。:2007/07/22(日) 14:06:01 ID:0lgbw84N0
>>77
それに関しては感謝に堪えません。阿呆を相手してくれる皆様の度量の広さに感服しています。
私も、鋭意努力をして後進の指導が出来るように邁進する所存です。とりあえず、錆び付いた英語をなんかしますわ。
自分の業界の英語文献は楽勝なのに、畑が違うと今一判らないことが多いですね。case sensitiveとかはじめて見ますわ。
プログラム業界周辺では常識的な単語なのでしょうね。
80名無しさん@お腹いっぱい。:2007/07/22(日) 14:11:54 ID:ZQGfGLpS0
やっぱりマトモなAHK導入サイトが無いからこういうことになるんだと思う

初心者が増えるから余計に面倒になると思う人もいるだろうけど
AHKとは自分でコツコツ調べて学んでいくもんだという姿勢が身につく
チュートリアルが皆無なんだよ

某流行らせるページはこの点まったくなっちゃいないしね
81名無しさん@お腹いっぱい。:2007/07/22(日) 14:59:15 ID:MDY0IrgP0
>>80
流行らせるページはヘルプの抄訳だからね。
まあ、蘭学の時代を思い出して辞書片手にコツコツやるのが筋だろう。
面白いソフトなんて日本以外からもドンドン出てくるんだから、英語力を鍛えるべきだろね。
82名無しさん@お腹いっぱい。:2007/07/22(日) 15:56:34 ID:CkCN0Ddx0
このスレって本当に初心者にひどいな。
ココまでひどすぎなくてもって思うが。

>>80
マトモなAHK導入サイト無いね。


ココで「自分で調べろ!ググレ!」等と言うからには ググった時にちゃんとそれなりのサイトや
情報が出てくるようになっているべきでしょ。
ググっても現状ではサイトも情報も少ないのだからこういう事になる。

誰かマトモなサイト作ってくれないかなぁと他力本願になってみる。
83名無しさん@お腹いっぱい。:2007/07/22(日) 16:16:01 ID:i3MPBmxg0
このソフトを自分で使いこなせるようにするには
自由にプログラミングできる能力が求められるから、
AutoHotKeyの他にプログラミング入門の要素も内包する必要があり
面倒が多い。

プログラマ相手ならこれこれこういう文法でこういうコマンドや関数があって…
とかいとくだけでいいんだけんども。
84名無しさん@お腹いっぱい。:2007/07/22(日) 16:24:45 ID:GFxtuS0a0
自分で使ってるスクリプトにちょこちょこと
コメントでも入れて紹介したらどうだ?
ここで他人を不愉快にするより、よほどいいぞ。
85名無しさん@お腹いっぱい。:2007/07/22(日) 16:24:56 ID:CkCN0Ddx0
>>83
そうですね。
初心者には敷居が高いソフトという事になりますね。

初心者はUWSCにすべきなのでしょうか。

AutoItもAutoHotKeyと同じようにスクリプト言語みたいですし。
86名無しさん@お腹いっぱい。:2007/07/22(日) 16:26:45 ID:EcBG12Od0
流行らせるページの「使用例」ではだめということかな
どういうのを想像しているのだろう?
87名無しさん@お腹いっぱい。:2007/07/22(日) 16:27:29 ID:ZQGfGLpS0
せめて繭からスムーズに移行できるくらいには
チュートリアル的なもの充実させたほうがいいかも
88名無しさん@お腹いっぱい。:2007/07/22(日) 16:28:39 ID:s4fx/PnF0
>>87
とか言う奴に限って自分では何もしようとしない世の不思議
89名無しさん@お腹いっぱい。:2007/07/22(日) 16:31:19 ID:CkCN0Ddx0
>>87
繭って何?
90名無しさん@お腹いっぱい。:2007/07/22(日) 16:31:33 ID:ZQGfGLpS0
不思議でも何でもないだろ
普通にそんなもの自分でやるのは面倒

しかし「流行らせる」ページといいながら
一向にその気が感じられないサイトを
意見する権利くらいはある

もちろんこの意見を批判しようがそれも結構
91名無しさん@お腹いっぱい。:2007/07/22(日) 16:35:31 ID:CkCN0Ddx0
>>90
私も貴方の意見に同意。
流行らせるページとうたっていながらあまりにも不親切すぎる気はする。。。。
92名無しさん@お腹いっぱい。:2007/07/22(日) 16:36:55 ID:EcBG12Od0
不親切とかその気がないとかではなく、具体的にどこがダメでこうこうこうすべきだと言えばもうちょっと建設的になるのではなかろうか?
93名無しさん@お腹いっぱい。:2007/07/22(日) 16:37:23 ID:uVRVvsY00
社会の最底辺から高所から物を言うというのもある種の芸だなw
94名無しさん@お腹いっぱい。:2007/07/22(日) 16:50:22 ID:CkCN0Ddx0
>>92
それじゃあ私が思いつくままに言ってみます。

といいつつ上手く言えないので

http://www9.plala.or.jp/sgwr-t/

↑C言語の解説サイトですが、 こんな感じに出来ないかと。
流行らせるページはいきなり高度な事をしすぎているというか、順を追って1つ1つ解説していく
方がいいと思うんですよね。つまり

クイックスタート みたいなリンクを一番上に置いといて、そこをクリックすると
1.画面にメッセージを表示してみる
MsgBox, 表示したいメッセージ
例: MsgBox, メッセージ表示テスト
なお、, の後スペースを入れても入れなくても動きますし、文字列を" "で囲む必要もありません。

みたいなところから始めて、徐々に高度な事を紹介していくというか。

文法も何も全く知らないのに流行らせるページで一番最初に見るスクリプトが
#IfWinActiveとか Process, Waitclose, notepad.exe みたいな引数がたくさんあるコマンドとか、
一見して複雑そうに見えるのがいきなり載ってるから「これは無理そうだ・・・」となるわけで。
簡単な所からいくべきじゃないですかね。
流行らせるページは入門ページとしてはダメですが、実際に何度かスクリプトを書いて動かした
経験がある人がちょっと調べる程度の場合は機能すると思います。
それでも情報が少なく感じます。
Javaの公式APIドキュメントやLinuxのmanページみたいなものすごく固い必要最小限しか
書かれてないものを見ても 初めてAHKを使う人には分かりませんよ。
95名無しさん@お腹いっぱい。:2007/07/22(日) 16:57:02 ID:s4fx/PnF0
>>90
意見はそりゃ自由だが、こんなところでグダグダ書いて、それで意見を言った気になっているのは頭が悪すぎる。
言いたいことは直接流行らせるページに言えよ。
それすらも面倒か?
それで「意見を言う権利はある」なんてギャグの極みだな。
どうやら貴様の考えでは、流行らせるページの管理人はここの書き込みを逐一チェックしなければならないようだ。
96名無しさん@お腹いっぱい。:2007/07/22(日) 17:01:28 ID:k01upwKG0
>>85
> AutoItもAutoHotKeyと同じようにスクリプト言語みたいですし。
UWSC もスクリプト言語だけど?

>>89
> 繭って何?
窓遣いの憂鬱の実行ファイルが mayu.exe。
通称繭。
97名無しさん@お腹いっぱい。:2007/07/22(日) 17:09:52 ID:v14k8gxI0
>>91
そう陰口言うだけなら自分で作ってごらん。
98名無しさん@お腹いっぱい。:2007/07/22(日) 17:12:42 ID:CkCN0Ddx0
ちょっと話変わって申し訳ないんだけど
皆はAutoHotKeyをどういう理由で選択した?

他にロケットマウス、UWSCとAutoIt、窓使いの憂鬱等あるみたいですが、
あえてこのAutoHotKeyを選択した理由が知りたいです。

他のソフト群には無い優位性があるんですかねぇ?

ちなみに私自身が選択した理由ですが
UWSCは有料化の流れっぽい、フリー版はあるけど、実行ファイル化出来ない(確か。)
ロケットマウスは完全に有料
AutoItは目をつけたけど日本語の情報が超少ない
窓使いの憂鬱 使った事が無い+自動操作っていうよりキーバインド変更ソフトっぽい

って事で残ったAutoHotKeyになったのですが。これは実行ファイル化も出来ますし
完全フリーですし、(一応)日本語の情報もありますし。
99名無しさん@お腹いっぱい。:2007/07/22(日) 17:18:26 ID:Un/bZHM10
三十路工員の俺的チュートリアル

其の壱(何が出来るのか)
 1.AutoHotKeyを起動する
 2.Win + Z を押してみる。公式サイトが開いたら成功。
 3.Ctrl + Alt + N を押してみる。メモ帳が開いたら成功。

其の弐(どうやって書かれているのか)
 1.AutoHotKey.ahk をメモ帳で開く。具体的にはタスクトレイHを右クリック-Edit This Script
 2.上記の機能がどこに書かれているかを、なんとなく探してみる。必要なら印刷しとく。

其の参(試しに編集してみる)
 1.上記機能の指示と思われる行の頭に;を挿入、コメントアウトする。保存。
 2.Hを右クリック-Reload This Scriptで、スクリプトを読み直し、機能が死んだ事を確認する。
 3.割り付けられたキーを変えてみたりしてみる。

これで導入チュートリアルは終了です。AHKの世界にようこそ。
100名無しさん@お腹いっぱい。:2007/07/22(日) 17:37:02 ID:k01upwKG0
>>98
窓使いの憂鬱で出来ないことをするため。
101名無しさん@お腹いっぱい。:2007/07/22(日) 17:49:36 ID:78nbX4nd0
>流行らせるページ
プログラムの知識も何もなくてWSHくらいしか触ったことのない俺でもすぐ使えるようになったわ
102名無しさん@お腹いっぱい。:2007/07/22(日) 17:53:14 ID:YKzM/52b0
ここに長文書く気力があるんなら
Wikiでも立てて関数ごとのサンプル補完集でも作ってみたら。
103名無しさん@お腹いっぱい。:2007/07/22(日) 18:28:34 ID:CkCN0Ddx0
>>101
WSHやってるだけでも十分でしょ。全くこういう類の、Batファイルすら書いた事が無い人だって
いるわけで。そういう人たちには門が狭すぎないかい?ってはなし。
104名無しさん@お腹いっぱい。:2007/07/22(日) 18:36:47 ID:4EuH8/uC0
ブラウザ上のリンクをクリックさせたいです
しかしこれをやるには、COMというのを利用しないといけないらしい
なにがなんだかサッパリわかりません
サンプルを探そうとググっても、外国のフォーラムでAHKのGUIにブラウザ画面を追加するものが見つかったくらいで
リンクをクリックさせるという事は見つかりませんでした。
どなたか助け船を。。。
甘えて言えば、簡単なサンプルがほしいです。(傲慢ですいません!)
105名無しさん@お腹いっぱい。:2007/07/22(日) 18:37:16 ID:U6mgmWnm0
流行らせるページは本家のドキュメントの簡約版で、初心者への布教目的じゃないだろ。
本家からして初心者向けは「Quick-start Tutorial」くらいしかないわけだろうし。

>>78
その辺り纏まって在れば便利だと思うが、如何せん機械翻訳なので少ししか理解しきれない。
もっとキチンと読めてる人が居たらと聞いてみたのだが・・・。
106名無しさん@お腹いっぱい。:2007/07/22(日) 18:50:48 ID:7F83cdFi0
例えば、初心者にAutoHotKeyの使い方を手っ取り早く知ってもらうのに、
こんな例から入るのはどう?

AU3_Spy.exeを起動して、その状態で、エクセルならエクセルの
ウィンドウをアクティブにする。
で、AU3_Spy.exeに表示された、ahk_class XLMAINの部分をコピーして
#IfWinActiveの後ろに貼り付ける。

で、その下に処理内容として、^+c::Send, {F2}^+{Home}^c{Esc}みたいなのを
書いてやると、エクセルがアクティブな時にコントロールとシフトとvを同時に
押したら、セルの中身だけがコピーされるスクリプトの完成、とかね。

一応、完成品は以下の通り。
#IfWinActive ahk_class XLMAIN
^+c::Send, {F2}^+{Home}^c{Esc}

まぁ、分かってる人には退屈極まりない例だろうけど、
流行らせるのが目的って事でどうでしょう?
107名無しさん@お腹いっぱい。:2007/07/22(日) 18:54:20 ID:7F83cdFi0
>コントロールとシフトとvを同時に
vじゃなくてcでした、スマソ…
108名無しさん@お腹いっぱい。:2007/07/22(日) 19:00:24 ID:ZJybro/50
>>104
リンクをクリックできるとどうなるの?
なんでマウスじゃだめなの?
109名無しさん@お腹いっぱい。:2007/07/22(日) 19:14:04 ID:EcBG12Od0
そもそも設定ファイルを自分で書かないとならない時点でそういう意味での敷居の高さはあるわけだが
そこで逃げなくてすむならば>>99程度で十分な気もする
110名無しさん@お腹いっぱい。:2007/07/22(日) 19:14:09 ID:v2zydbe/0
プログラムの基礎から教える必要はないと思う。
ただ、こういうことをしたい気はこういう感じでやる、みたいな
雛形サンプルは結構いいかもね。
111名無しさん@お腹いっぱい。:2007/07/22(日) 19:24:29 ID:hOG3Lvu40
すげえ伸びてる。結構見てるやついたんだな
とりあえずWikiでもつくるってのはどうだろう?まあ、むりか。
112名無しさん@お腹いっぱい。:2007/07/22(日) 19:26:59 ID:WP/w3End0
入門編は書籍で出して小遣い稼ぎするつもりで封印してる。
113名無しさん@お腹いっぱい。:2007/07/22(日) 19:28:01 ID:L/ncB4m20
そうか夏休みか
114名無しさん@お腹いっぱい。:2007/07/22(日) 19:29:41 ID:k01upwKG0
>>104
wsh のサンプルなら結構あると思うから、そっちで探してみたら?
115名無しさん@お腹いっぱい。:2007/07/22(日) 19:36:23 ID:M7fYRdPZO
繭もPerlもその他スクリプト言語は殆ど挫折した自分だが
AHKはすんなり入れたよ。

スクリプト言語なんだしプログラミングの基礎を踏まえた上での
チュートリアルになるのは別に不親切でも何でもないと思うが。
もちろんズブの素人むけチュートリアルを作ろうプロジェクトが発足するなら
素直に応援するが、流行らせるページへの批判とか要望とするのはお門違い

ここの住人が不親切ってのも違うだろ。今回にしろ前回のFTP厨にしろ
明らかに質問者が厨丸だしだったし
厨だと判る前はちゃんとしたレスしてやってる奴だっていたんだし
116名無しさん@お腹いっぱい。:2007/07/22(日) 20:12:50 ID:7F83cdFi0
ついでに106キーボード使いのためのアイデアを投下。

vkE2::Send, {AppsKey}

上のように書いておくと、右シフトの横のバックスラッシュキーで
コンテクストメニューが出せるので、カーソルキーに右手を置いた
ポジションから親指で操作出来て、シフト+F10よりもラク。

vkで指定しているので、バックスペースの左のバックスラッシュとは
区別される。
もちろん、アンダーバーはシフトを押しながらで普通に入力出来る。

レジストリをいじってリマップするやり方だとこうは行かないので、
このやり方は、AutoHotKeyならでは。
117名無しさん@お腹いっぱい。:2007/07/22(日) 20:53:32 ID:CkCN0Ddx0
皆もうちょっと初心者向けのサイトがあってもいいと思っているんじゃないの?
だからこういう話題が出たときに書き込みが増えたんだと思うけど。
こういう話題に興味が無いなら一言文句言って後は相手にせずに放置だろうし。
結構反応あるってことは そういう考えの人もいるけど、ここで私みたいに言うと
叩かれるかもしれないからいえないでだまってるだけじゃ?
なんかそういう空気を感じる。
118名無しさん@お腹いっぱい。:2007/07/22(日) 20:57:33 ID:k01upwKG0
>>117
> 皆もうちょっと初心者向けのサイトがあってもいいと思っているんじゃないの?
じゃあ作れば?
自分でやらずにgdgd言ってれば叩かれる罠
119名無しさん@お腹いっぱい。:2007/07/22(日) 21:01:04 ID:vwI2aUp40
2chでリア厨ありがちな言動。
「頭脳明晰な俺様が全部指示してやるからお前らはその通りに動くんだ。」
120名無しさん@お腹いっぱい。:2007/07/22(日) 21:02:02 ID:i3MPBmxg0
別に無理してつかわなくていいよぉ。
代替ソフトがないワケじゃないしぃ。
121名無しさん@お腹いっぱい。:2007/07/22(日) 21:33:47 ID:M7fYRdPZO
>>117
最初から、作るよor作ろうよって切り口だったら誰も文句言ったりはしなかったと思うが。
現存するサイト批判に始まって、もっとこうあるべき(誰か作って)的な
厨思想じゃあなぁ

あったほうが便利だよねって賛同意見集めてる間に材料集めてwikiでも起こしゃええ
おまいさっきからgdgd言うばっかでなんのネタ出しもしてないじゃん
122名無しさん@お腹いっぱい。:2007/07/22(日) 21:42:23 ID:gHwmnXPK0
三十路工員の俺的チュートリアル

其の四(代行入力1)
 1.右側Winキーを押すだけで、円周率20桁を代打ちさせてみる。
   AutoHotKey.ahkのどこか(#z::RUN www…の下とか)に次の追加&保存、そしてReload。
   RWin::Send,3.1415926535897932384
 2.メモ帳上で右側Winキーを押してみる。3.1415…とタイプされたら成功。

其の四(代行入力2)
 1.先ほどのスクリプトを変更する
   RWin::Send,これで定型句入力はマスターだぜ!
 2.メモ帳上で右側Winキーを押してみる。…現象の原因に見当が付くなら成功。ここでは詳しく説明しない。
   ちなみにどうやれば上手くいくのかは流行らせるページにヒントがある。探してみよう。

其の五(代行入力3)
 1.先ほどのスクリプトを変更する。 
   RWin::Send,! n
 2.メモ帳上で右側Winキーを押してみる。メモ帳が最小化したら成功。
   これはAlt+Space,N(今居るウィンドウの最小化)という操作を代行入力させた。

これで流行らせるページを読み解く足掛かりは出来ました。
以上の知識だけでも色々と応用は利くはずです。手近な所で2ch専ブラのメニューとかで
実験してみてはどうでしょうか?
123名無しさん@お腹いっぱい。:2007/07/22(日) 22:18:35 ID:7F83cdFi0
ああなるほど、「其の四」みたいな持って行き方は良いですね。
慣れてくると初心者の時のつまづきは忘れてしまいますよね。
124名無しさん@お腹いっぱい。:2007/07/22(日) 22:33:23 ID:koy/3+020
こんな賑わいは始まって以来だ
125名無しさん@お腹いっぱい。:2007/07/22(日) 22:37:54 ID:7F83cdFi0
流れに乗じて更に小ネタを投下。

^[::
Clipboard=「」
Send, ^v{Left}
Return

コントロールキーを押しながら[を押すと、「」が挿入されて
カッコとコッカの間にカーソルが移動する。

クリップボードに「」が残ってイヤーンと思ったら
流行らせるページにヒント(ry

「エクセルなんとか本」みたいに、「使えるTips」を
【初級】【中級】【上級】みたいな見出しを付けて
連発すれば、文字通り「流行る」んじゃないかと今ふと思った。
126名無しさん@お腹いっぱい。:2007/07/22(日) 22:51:09 ID:78nbX4nd0
流行って裾野が広がるとどうしても弊害が出てくるからなぁ…
今来てる厨みたいなのが大挙して押し寄せてきたらどうするよ?スレ終わるよ?
127名無しさん@お腹いっぱい。:2007/07/22(日) 22:52:46 ID:v14k8gxI0
ID:CkCN0Ddx0 って空気読めないやつだな。
>>117
>結構反応あるってことは そういう考えの人もいるけど、ここで私みたいに言うと叩かれるかもしれないからいえないでだまってるだけじゃ?
おめえだけだろ。
俺個人の意見だけど、最初でも流行らせのチュートリアルで十分だし、あれくらいの情報量で頑張ろうとすると結構知識付く。
調べたくないから、初心者様用のサイトを作れなんて言ってるんだろおめえは。阿呆か。
128名無しさん@お腹いっぱい。:2007/07/22(日) 23:11:03 ID:8MHKDmlM0
>>125同じようなこと考えてる人いるもんだね
自分はhotstringで
::()::(){Left}
ってやってたんだけどそっちのほうがいいかも

hotstringはメールアドレスとか定型文の打ち込み楽になるし
::cmd::
run %SystemRoot%\system32\cmd.exe
return

見たいに書けば文字だけじゃなくてahkのスクリプト普通にかけるから
結構便利だよ

>>125のクリップボードを残す方法
^[::
ClipSaved := ClipboardAll ; クリップボードの全内容を保存
Clipboard=「」
Send, ^v{Left}
Clipboard := ClipSaved ; クリップボードの内容を復元
ClipSaved = ;保存用変数に使ったメモリを開放
Return
129名無しさん@お腹いっぱい。:2007/07/22(日) 23:27:42 ID:M7fYRdPZO
>>128
ヘェー
HOTSTRINGは誤動作恐くて使ったことなかったわ

後半の正解は蛇足っしょ
初心者に調べるクセつけさせる目的なんだから
130名無しさん@お腹いっぱい。:2007/07/22(日) 23:29:03 ID:gHwmnXPK0
三十路工員の俺的チュートリアル

其の六(特定アプリ上のみで有効)
 1.Jane Doe Styleの「更新チェック」と「ログから検索」をワンキー化
   #IfWinActive ahk_class TMainWnd
   F12::Send,!op
   ^+f::Send,!sg
   #IfWinActive
   F12一発で更新チェックが、Ctrl+Shift+Fでログから検索が使えたら成功。
   ahk_classはタスクトレイのH右クリック-Window Spyで調べられる。

# ちなみに書いた当人は流行らせるページに掲載されているネタを一部書換しているだけで、
# 意味などほとんど理解してはいない! TMainWndって何?とかこっちが聞きたいッ!
# というか教えてくださいおねがいします。
131名無しさん@お腹いっぱい。:2007/07/23(月) 00:05:49 ID:O4d2YYpe0
Janeのワンキー化はJaneだけで出来るんじゃ?
132名無しさん@お腹いっぱい。:2007/07/23(月) 00:15:05 ID:CH/c09460
>>131
たぶんkeyconf.iniだったかで出来ると思いますが、身近な例って事で。

本日の成果
 >>99,122,130
 ^h::Send,{BS}   ; Ctrl+HでBS。括弧に気付くまでの数日間の軌跡をチュートリアルに再利用w
 !vk1Dsc07B::!F4 ; Alt+無変換でウィンドウを閉じる(Alt+F4)。猫まねき時代からのお気に入り。
 ^RWin::Reload  ; Ctrl+Winでスクリプトのリロード。初学者必須の定義。

ところで一つ質問なのですが、「昨日の日付」をペーストする機能を作る事は可能でしょうか?
AHKの書き方と言うより、プログラミング知識のような気もしますが…。
133名無しさん@お腹いっぱい。:2007/07/23(月) 00:16:30 ID:KZ4gEZQq0
昨日は今日の前の日。
134名無しさん@お腹いっぱい。:2007/07/23(月) 01:07:20 ID:shuEUsnS0
135名無しさん@お腹いっぱい。:2007/07/23(月) 02:57:48 ID:eaq9Q5Jt0
>>132
こんな感じ?

^t::
Test := A_Now
EnvAdd, Test, -1, d
FormatTime, Test2, %Test%, yyyy-M-d
Clipboard = %Test2%
Send, ^v
136名無しさん@お腹いっぱい。:2007/07/23(月) 06:09:15 ID:bi9Hc9eZ0
>>129
誤動作って多分普通の文字入力中にhotstringが発動しちゃうことを心配してるんだろうけど
子音三つ続きとか普通絶対打たない組み合わせなら大丈夫だよ
#Hotstring EndCharsで終了文字列指定することも出来るし

日本語の場合IMEに登録しちゃったりするしあんまり使うこと無いんだけどね
137名無しさん@お腹いっぱい。:2007/07/23(月) 07:35:03 ID:tii4HUFP0
>>134
リロードだけでは不十分なケースもあるって事ですか?
>>135
文字列変数を減算してる!?。一応A_Nowまでは見つけてましたが、
EnvAdd、TimeUnitsまでたどり着けていませんでした。ありがとう。

たぶん、必要な事は全て流行らせるページに載っているのだろうけど、
そこまでたどり着けないんだよね。ポインタだけでも示してもらえるととても助かります。
138名無しさん@お腹いっぱい。:2007/07/23(月) 10:49:55 ID:bDLcDERc0
夏休みが始まったな
139名無しさん@お腹いっぱい。:2007/07/23(月) 14:16:23 ID:HxLff1Bh0
うーむ・・酷い流れだ・・色々と書こうと思ったけどアホらしくなってきた。
なんでも人に頼ろうとするような奴はスルーするのが一番だな。
相手にすると余計無駄にスレ消費するだけだ。
140名無しさん@お腹いっぱい。:2007/07/23(月) 15:53:02 ID:4I2TvQbk0
流行らせるページを読んでも理解出来ないレベルだと、
結局使い続けるのは無理だと思うぞ
その手の知識や能力が無い訳なんだから

元々万人向けのツールでは無いのだから、今のレベルで十分でしょ
141名無しさん@お腹いっぱい。:2007/07/23(月) 17:00:33 ID:2MTGvXa/0
^S:: Send,{Y}

...

^S:: Send,{X}
といった重複定義を許すような設定ってないの?

Includeでテンプレを使いつつ
必要なところだけをカスタマイズみたいなことをやりたいんだけど。
142名無しさん@お腹いっぱい。:2007/07/23(月) 18:06:12 ID:kcrfMPTP0
>>141
その前に {Y} って何? {Enter}とかなら分かるけど。 普通のYとは違うの?
143名無しさん@お腹いっぱい。:2007/07/23(月) 18:17:32 ID:Bqu1cqeb0
デフォルトを変数に設定しておいて、
カスタマイズしたいところは変数の値を変える、
ってなことでもできるんでは。
144名無しさん@お腹いっぱい。:2007/07/23(月) 18:34:28 ID:pEGIXuRv0
>>141
つまり、Ctrl+Sを押したときにどうしたいんだよ?
YとX両方おしたいわけ?
145名無しさん@お腹いっぱい。:2007/07/23(月) 20:02:28 ID:o1GbbQvJO
IfWinActiveとかで解決する話なような。
146名無しさん@お腹いっぱい。:2007/07/23(月) 21:32:05 ID:k/bl5LXd0
>>74
いままで見たこと無かったけど、本家のScripts&Functionsすげーな。
なんか粘着っぽいヤツもいるのが笑えるけど。
マジで参考になる記事も多い。
なんとなくスルーされちゃってるけど、教えてくれた74には感謝。
147名無しさん@お腹いっぱい。:2007/07/23(月) 22:02:21 ID:CljE/E0X0
初心者向けに何かって流れになっていたけど、そういった高品質のものを
どんどん輸入していって、スレ全体のレベルを上げたほうが良いと思う。

>>146
wikiの方にも掲示板からのが纏まっているので、ご一緒にどうぞ。
148名無しさん@お腹いっぱい。:2007/07/23(月) 22:09:00 ID:pEGIXuRv0
公式すげえ
Lil' Builderっていうやつなんかわかんないけどすげえ。VBみたいにGUIつくれるぽい
149名無しさん@お腹いっぱい。:2007/07/23(月) 22:42:20 ID:0Cmn4P6t0
AHKってスクリプト部分がウンコすぎて大作作る気にならない
150名無しさん@お腹いっぱい。:2007/07/23(月) 22:43:39 ID:BQvnHGDn0
そうか
151名無しさん@お腹いっぱい。:2007/07/24(火) 06:48:30 ID:l9JI9lva0
>>147
>初心者向けに何かって流れになっていたけど
夏休みサービスって事で、たまには良いんじゃないか?
152名無しさん@お腹いっぱい。:2007/07/25(水) 14:03:18 ID:7Pjm+QCE0
とりあえずこれからAHKをはじめる人は
流行らせるページのどこからどういう順番で読んでいけばいいかは知りたいと思う。
そういうフローチャートぐらいはあってもいいんじゃないかな?
153名無しさん@お腹いっぱい。:2007/07/25(水) 14:10:31 ID:vMiQP1mz0
イントロダクションから順番に全部目を通した方がいいと思う。
レファレンスは必要な時くらいでいいけど。
式、関数、コマンドあたりの区別がつかないと結構落し穴になる。
いきなり全部読んでも感じがつかめないなら
少しずつ書いてみながら読めばよい。
154名無しさん@お腹いっぱい。:2007/07/25(水) 20:55:51 ID:OLJojnOO0
#IfWinActive ahk_class Notepad
a::b

ここから入れば、初心者でも楽しく遊べると思うyo!
155名無しさん@お腹いっぱい。:2007/07/25(水) 21:46:51 ID:7Pjm+QCE0
>>154
それだけだと a って打てなくなるのですか?
a::b
b::a
入れてるなら打てますけど。
156名無しさん@お腹いっぱい。:2007/07/26(木) 00:20:11 ID:v7hlAQvY0
初心者ネタは新手の釣りとしか思えない
157名無しさん@お腹いっぱい。:2007/07/26(木) 01:12:40 ID:Eooj+cOt0
本日の成果
>>125>>128を教材にして、選択した文字を括弧「」で囲む機能を作成。
158名無しさん@お腹いっぱい。:2007/07/26(木) 01:56:10 ID:hBDOR3qr0
>>156
いんじゃね?確かに>>157みたいなのは、技術的には何の面白みも
ないかも知れないけど、アイデア自体は面白いと思うぞ。
プログラミングのスキルは無いけど、面白いアイデアを持ってる
人の書き込みには、期待しても良いと思うけど。
159名無しさん@お腹いっぱい。:2007/07/26(木) 18:06:54 ID:gcjxBMPg0
マウスカーソル位置がX=0,Y=0の時に、
特定のアプリを起動させるにはどうすれば
いいんですね!
160名無しさん@お腹いっぱい。:2007/07/26(木) 18:17:40 ID:HgF+ktNp0
SetTimerで位置を監視してってのが一番なんじゃないですね!
161名無しさん@お腹いっぱい。:2007/07/26(木) 22:21:20 ID:iklFrfj20
イメージ的には
http://i-bbs.sijex.net/imageDisp.jsp?id=ups1&file=1185456020992o.jpg

こんなGUIウィンドウ作りたいのですが、どういうコードを書いたら良いのでしょうか?
162名無しさん@お腹いっぱい。:2007/07/26(木) 22:23:05 ID:iklFrfj20
あ、書き忘れました。

上記の参照 をクリックしたら FileSelectFolderが動作して フォルダを選択してOKクリックしたら
左側の空白のボックスに選択されたフォルダのフルパスが自動的に書かれて、手動で
それを編集する事も可能にしたいです。
163名無しさん@お腹いっぱい。:2007/07/26(木) 22:27:55 ID:dKEWD3sh0
これがゆとりか
164名無しさん@お腹いっぱい。:2007/07/26(木) 22:58:39 ID:xpaD+Ex50
本日の成果
>>134を教材に、サクラエディタで保存&リロード
右Win+HでAutoHotKeyヘルプ日本語版の表示
括弧「」囲み機能のバグフィックス
目標のWebフォーム入力支援のパーツ検討(1.正規表現置換)

括弧内を選択状態に戻すつもりで、文字列長取得&ループ処理で試してみましたが、
全角文字に対応できず…。この件は棚上げにして次へ。
165名無しさん@お腹いっぱい。:2007/07/26(木) 23:46:11 ID:8dF4bKbY0
>>161
書込む前に現スレ内くらいは読んでみろ。まだ160位しかいってないんだから。
読み終わったら、その手の質問が受けつけられる雰囲気かどうか考えてみろ。
166名無しさん@お腹いっぱい。:2007/07/27(金) 00:15:05 ID:h/LH+PTl0
ココ糞スレだな。存在する意味が無い
167名無しさん@お腹いっぱい。:2007/07/27(金) 00:58:04 ID:ewYkwbC+0
伸びてるだけでもたいしたもんなんだぜ?
168名無しさん@お腹いっぱい。:2007/07/27(金) 01:32:34 ID:jE5dBQAF0
まぁ、考える能力が無い奴にとっては意味が無いスレだろうね
169名無しさん@お腹いっぱい。:2007/07/27(金) 01:57:51 ID:a96AYHFi0
自分で考えない人と日記スレになってるよね。
自己紹介版に移動するかblogでやった方が良いんじゃね?
170名無しさん@お腹いっぱい。:2007/07/27(金) 02:09:21 ID:h/LH+PTl0
糞スレage
171名無しさん@お腹いっぱい。:2007/07/27(金) 08:19:55 ID:h/LH+PTl0
http://lukewarm.s101.xrea.com/commands/AutoTrim.html

>「Off」にすると、自動所今日は行われない。
172名無しさん@お腹いっぱい。:2007/07/27(金) 18:00:52 ID:d96Jk71r0
>>161
1.Gui , Add で画面にコントロール(Text,Edit,Button)を追加
2.ボタンを押したときにFileSelectFolder を動作させる
3.2で取得したパスをEditに出力(設定)する
以上でできると思われます。

空気読まずに書いてみたが、もう見てないかなぁ?
173161:2007/07/27(金) 18:15:14 ID:e3g8BxL30
>>172
レスありがとうございます。

貴方がおっしゃることは私が考えていた事とまったく同じです。
しかしそれを実現するためのコードの書き方がわからないのです。
つまりアルゴリズム、ロジックはわかっているのですが
文法的な面でわからなくてサンプルコードを載せて頂きたいのです。
試行錯誤してみたのですが、上手く動作しないので・・・。
よろしくお願い致します。
174名無しさん@お腹いっぱい。:2007/07/27(金) 18:20:24 ID:DYLtvm380
もういやになるね

わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
175名無しさん@お腹いっぱい。:2007/07/27(金) 18:40:57 ID:PAXwVryZ0
ここにサンプルあるから熟読の上、消えろ。
http://lukewarm.s101.xrea.com/commands/Gui.htm
176名無しさん@お腹いっぱい。:2007/07/27(金) 18:45:28 ID:Wb8USncd0
173へ。オマエのいっていることをわかりやすく翻訳すると、
>>172
レス Thanks.
でも、172が書いてるようなことはオレにだってわかってんだよ。
コピペで使えるようなヤツよこせよ。

ってコトだよね。

172の親切心には本当に頭が下がるが、バカはスルーして欲しい。
177名無しさん@お腹いっぱい。:2007/07/27(金) 18:54:21 ID:h/LH+PTl0
相変わらず糞スレだな。親切な人が出てきたら教えんな だ。
>>174-176氏ねよ
178名無しさん@お腹いっぱい。:2007/07/27(金) 18:58:34 ID:J57tr6qSO
丸投げしておいてレスが返ってきたら、
「そんなことは解ってるわ」ってか。そんな後出しの仕方があるか

どこまでやってどっからわからんのか最初からちゃんと書け。横着すんな
あと丸投げすんな。自力での努力の跡が見えない奴に親切なレスがつくと思うな
179名無しさん@お腹いっぱい。:2007/07/27(金) 19:05:42 ID:rYUMwn000
最近のやつらはどこから流れてきたんだ?
ttp://oshiete.new-akiba.comここか
180名無しさん@お腹いっぱい。:2007/07/27(金) 19:35:27 ID:3EIrthLf0
>>172
smartgui みたいな RAD ツールを使った方が早くね?
181172:2007/07/27(金) 20:44:59 ID:d96Jk71r0
>>161
私自身AHK初心者ですが、>>175さんの示されているURL見て
1時間くらい試行錯誤したらできました。
>>178さんの仰られているように、どこで詰まっているのかを
明示された方が良いと思います。
私がレスした内容の1・2・3のどこで躓いていますか?

>>176
すいません。
以後気をつけます。
(またレスつけていますが・・・)

>>180
SmartGuiの事初めて知りました。
確かに早いですね。
でもイベントは自分で記載しないといけないので、あんまり変わらない気もします。
教えていただきありがとうございます。
182名無しさん@お腹いっぱい。:2007/07/27(金) 22:03:34 ID:L0CdusDD0
>>173
いいからその試行錯誤したコードを晒してみれ
それともアホがバレるのが怖くて出せないのか?
恥をかくのは嫌、でも質問には答えて欲しいって
どんだけムシがいいんだよ
183名無しさん@お腹いっぱい。:2007/07/27(金) 22:11:08 ID:rYUMwn000
ひとりでなに話すすめてんだよ>>182
184名無しさん@お腹いっぱい。:2007/07/27(金) 22:48:17 ID:e3g8BxL30
Gui, Add, Text, , バックアップ元
Gui, Add, Button, gExec x600 vTarget, 参照
Gui, Add, Edit, xp-590 yp0 w450, %source%
Gui, Show
return

Exec:
FileSelectFolder, source, , , バックアップ元フォルダの選択
Gui, Submit, NoHide
return

こんな感じです。
これだと FileSelectFolderで選択したフォルダのフルパスが 変数sourceに入って
それをGui, Add, Editの引数に与えてやってデフォルトとして表示させてやろうと
思ったのですが、表示されません。
3行目を

Gui, Add, Edit, xp-590 yp0 w450, %Target%

と書き換えても表示されません。根本的なところで理解してないと思いますので
(これでも流行らせるページのGuiのページの自分が使うコマンドの説明は読んだ)
サンプルコードを書いて頂ければ、そのコードを見れば勉強になると思ったのですが・・・
185172:2007/07/28(土) 00:58:17 ID:WO+luJq50
>>184
3行目の
Gui, Add, Edit, xp-590 yp0 w450, %source%
は、
Gui, Add, Edit, xp-590 yp0 w450 vsource,
とすればいいのではないかと。
Optionの”v”はEditの中身にアクセスする時の名称となります。

参照ボタン押した時の動作は
Gui, Submit, NoHide
ではなく
GuiControl ,, source , %source%
とすればEditに表示されるはず。
最初のsourceはEditを追加する時に”v”で指定した変数名
%source%はFileSelectFolderで使用しているsource。
私としては気持ち悪いので後者のsourceはValか何かに変更します。

Gui, Submit, NoHide ですが使用するのは最後に手入力等の入力している
Editの値を”v”で指定した変数に反映する時に使用します。
後は流行らせるページを見て頑張って下さい。

;;内容違っていたらつっこみお願いします。


186名無しさん@お腹いっぱい。:2007/07/28(土) 02:17:34 ID:D+qW0WiS0
コードを書いた方が良いのか分からないから一つだけ。
パーツの位置はEdit,Buttonの順で書けばButtonにx+5だけでおk。

…初めからこの流れだと文句も出なかっただろうに。
187名無しさん@お腹いっぱい。:2007/07/28(土) 04:09:31 ID:dHVLe7Sl0
そういえば、GUI 使うと強制的に SingleInstance になる制限がウザったい。
188名無しさん@お腹いっぱい。:2007/07/28(土) 04:31:52 ID:aDaHwu500
>(これでも流行らせるページのGuiのページの自分が使うコマンドの説明は読んだ)
>サンプルコードを書いて頂ければ、そのコードを見れば勉強になると思ったのですが・・・

てめぇの都合なんか知るか
189名無しさん@お腹いっぱい。:2007/07/28(土) 10:28:33 ID:cl0gqG/90
うん、やっぱり失敗なら失敗でも良いから、ちゃんとコードを
書いてくれた方が話が具体的になって良いよね。
190名無しさん@お腹いっぱい。:2007/07/28(土) 10:32:49 ID:yPkys66F0
>>189
建設的ですね。
どんどん、恥をさらしていきましょう。
191名無しさん@お腹いっぱい。:2007/07/29(日) 11:36:21 ID:6mvs1Apn0
本日の成果
FormatTimeとif文で、文字列が日付として成立しているかを調べる事に成功。

クリップボードへの代入が安定せず弱っていたが、試行錯誤の末
Sleep 100 を挿入したところ、期待した動作をするようになった。
192名無しさん@そうだ選挙に行こう:2007/07/29(日) 12:28:11 ID:cjDXOb330
いいかげんにしてください
193名無しさん@そうだ選挙に行こう:2007/07/29(日) 12:46:18 ID:UhYDhuDJ0
参考になるからどんどんやってくれ。
でも、スクリプトを晒してくれ!
194名無しさん@そうだ選挙に行こう:2007/07/29(日) 13:54:00 ID:wU4m5htlP
>>191
日記はよそでやれ
195名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:30:40 ID:nxS1+g9g0
しかしここまで日記らしい日記も珍しいなwww
196名無しさん@お腹いっぱい。:2007/07/29(日) 22:22:32 ID:Ml/08NKH0
流石にここで日記書かれるのはなぁ
つかブログでコードと一緒に公開汁>191
他者にとっても参考になりそうな内容なら次回からテンプレに入れてもらえるであろ
197名無しさん@お腹いっぱい。:2007/07/30(月) 00:32:21 ID:VMGIk8MS0
スクリプトも一緒に張ってあるなら参考になるし問題は無いと思うけどな
198名無しさん@お腹いっぱい。:2007/07/30(月) 07:31:35 ID:tzXgBz9P0
じゃあ、今日は>>191がコードを貼ってくれる事に期待しようか
199名無しさん@お腹いっぱい。:2007/07/30(月) 12:36:24 ID:Fhb+aZ990
あえてコードを貼らないのは教えて君への導入ヒントのつもりなんだろう
だが教えて君はログなんか読まずに質問してくるけどな。
200名無しさん@お腹いっぱい。:2007/07/30(月) 13:44:18 ID:+SM+fAsJ0
教えて君も日記もいらんですたい
201名無しさん@お腹いっぱい。:2007/07/30(月) 15:47:37 ID:gIhGVgw10
面白い使い道とか教えてくれたら万人の利益になるよ。
202名無しさん@お腹いっぱい。:2007/07/30(月) 16:17:31 ID:H3hKkc8G0
とある特定のソフトが定期的にポップアップを出してきます。
「更新完了、再起動が必要です。今すぐ再起動しますか? はい いいえ」 みたいな。

AHKを常駐しておいてそれが出てきたら即効でいいえを選んでくれるようなの作りたいのですが
それを作るにはやっぱり5分に1回とか定期的にチェックさせるしか無いですかね?
で、無限ループ構造で。

Loop
{
IfWinExist, 再起動ダイアログ
{
WinActivate, 再起動ダイアログ
      Sleep, 100
      Send, {Alt Down}n{Alt Up}
   }
}

こんな感じに書いているのですがどうすればいいのかよく分からなくなってきました。
203名無しさん@お腹いっぱい。:2007/07/30(月) 16:58:31 ID:h2DuVdvt0
Autohotokey.exe script.ahk -hoge とか
Script.exe -hoge
みたいに、ahkのままのスクリプトやExeにしたスクリプトに起動時に引数を渡したいんですが、
それをAutohotkey内で取得できるんでしょうか。
この場合、スクリプト内で-hogeが欲しいんですが。
204名無しさん@お腹いっぱい。:2007/07/30(月) 17:03:56 ID:GGVO5h+R0
書き方はいろいろあると思うけど
いずれにせよ監視してなきゃ検知出来ないでソ

漏れなら特定のソフトを起動させるときにスクリプト経由で起動させて
そのままそいつを常駐させて、そのソフトのプロセスがなくなったらそいつも終了するとか
そんな感じにする
205名無しさん@お腹いっぱい。:2007/07/30(月) 17:07:01 ID:GGVO5h+R0
206名無しさん@お腹いっぱい。:2007/07/30(月) 17:07:18 ID:syj/0K2a0
Loop, %0%
{
t := %A_Index%
MsgBox, %t%
}
207名無しさん@お腹いっぱい。:2007/07/30(月) 19:15:37 ID:s7GpueSNO
>>202
SetTimer使え
208名無しさん@お腹いっぱい。:2007/07/30(月) 20:00:10 ID:tzXgBz9P0
>>207
お前頭いいなー
209名無しさん@お腹いっぱい。:2007/07/30(月) 20:13:56 ID:H3hKkc8G0
SetTimer使うにしてもLoopで定期的に実行させるにしても
"Windowが現れた瞬間に(1秒後ぐらいに)即効でAlt+Nを送出していいえを選択させる"
みたいな処理は出来ませんよねえ。やろうとしたら1秒か2秒感覚毎に監視しないといけないから
かなり負荷が高そう。だからって5分毎に監視とかやると負荷は減るけど
5分たった>チェック=Windowなし、5分待機 ってなった次の1秒後ぐらいに
Windowが現れたら、4分59秒後までチェックが行われないから最大で約5分程度そのWindowは
放置される事になる。これだとユーザの手で手動でいいえを選択してWindowを閉じちゃった方が
速いからスクリプト常駐している意味が無くなる。難しいなぁ〜。
フォルダ監視等の監視ソフトってどういうロジックで動かしているんだろう・・・。
210名無しさん@お腹いっぱい。:2007/07/30(月) 20:17:16 ID:mqyHgS9Y0
グローバルフック でぐぐれ。
211名無しさん@お腹いっぱい。:2007/07/30(月) 20:22:02 ID:h6nZAiyP0
WinWait
212名無しさん@お腹いっぱい。:2007/07/30(月) 20:29:15 ID:H3hKkc8G0
>>210
情報ありがとうございます。
グローバルフックっていう"Windowsがアプリケーションへ送るメッセージを監視するもの"がある
事は分かりました。仮に>>211のWinWaitもそういう類のものだとして、
利用者はそういうものがあるんだと思ってそれを使うだけで目的は達成できると思いますが、
そのグローバルフックのアルゴリズムってどうなってるんでしょうね?
内部でどういう処理をしているのか気になったりはしませんか?
グローバルフックっていってもCで言う関数、Javaで言うメソッドみたいなものでしょうから
中は既存の物だけで作りこまれていると思うんですが・・・。
213名無しさん@お腹いっぱい。:2007/07/30(月) 20:31:04 ID:H3hKkc8G0
すみません。スレ違いですね。
大体そんな事言ってたら
じゃあ C言語の printfってどういう風な仕組みで画面にメッセージを表示しているの?っていう
レベルからになりますし・・・。>>212のレスは無視して下さい。すみません。
214名無しさん@お腹いっぱい。:2007/07/30(月) 20:41:11 ID:CpiTaIJd0
>>212
何がいいたいのかよくわからないが、Global hook は OS の機能なんだから、
OS がメッセージ送信するときに Global hook chain に登録されている hook
を呼び出してるだけだろ?
215名無しさん@お腹いっぱい。:2007/07/30(月) 21:37:14 ID:x5n6TWnY0
1秒2秒で廻してもそんなに負荷かからんけどな。
処理が発生するのは目的のダイアログがある時だけだし、あってもSend何発か投げるだけだし。
ちなみに自分の場合はこんな感じ

init:
 SetTimer,tm_Diarog1,500
return

tm_Diarog1:
  ;Beckyの メッセージアラートを自動Close
 IfWinActive ,Message from Becky!,この添付書類は、実行ファイル、
   Send,y
 IfWinActive ,Message from Becky!,以下のURLが指すWebサイトに接続しようとしています。
   Send,y
return
216名無しさん@お腹いっぱい。:2007/07/30(月) 22:12:44 ID:mqyHgS9Y0
ポーリングループは良くないアルゴリズム。
217名無しさん@お腹いっぱい。:2007/07/30(月) 22:15:25 ID:CpiTaIJd0
>>216
その根拠は?
kernel レベルや組み込み分野ではポーリング使うのは普通だぞ?
218名無しさん@お腹いっぱい。:2007/07/30(月) 22:17:35 ID:+SM+fAsJ0
んなことより Diarog につっこめよ
219名無しさん@お腹いっぱい。:2007/07/30(月) 23:29:29 ID:mqyHgS9Y0
そういう階層の話はしてないし。
220名無しさん@お腹いっぱい。:2007/07/30(月) 23:44:14 ID:x5n6TWnY0
Dia"l"ogですな orz
221名無しさん@お腹いっぱい。:2007/07/31(火) 02:05:20 ID:6k+15W7Q0
AHKだけでグローバルフックとか無理じゃないのか?
222名無しさん@お腹いっぱい。:2007/07/31(火) 02:35:52 ID:A7QlbhLb0
SetTimerでIfWinActiveをチェックするのなんてほとんど負荷なしに等しいよ。
最短の10msでもいいんじゃねぇ?
223名無しさん@お腹いっぱい。:2007/07/31(火) 03:20:35 ID:ucO6fDJ80
>>219
脳内ソースかよ
224名無しさん@お腹いっぱい。:2007/07/31(火) 10:56:57 ID:cqpB0ZDL0
アプリケーションのレベルでポーリングループが出てきたら
ほぼ設計ミスと言って良い。8割方代替手段がある。
ポーリングループがパフォーマンスの観点で良くないのは常識だろ。
出来るだけ避けるべし。
225名無しさん@お腹いっぱい。:2007/07/31(火) 12:29:22 ID:X6zGUH5K0
ループでもキーフックとの共存は可能だし、Sleep入れれば張り付きは避けられる
でも同一スクリプト内で複数のループを平行して動かすことは出来ないし
AHKではせっかくTimer用意してくれてるんだからそっち使うほうが楽じゃね?
226名無しさん@お腹いっぱい。:2007/07/31(火) 15:35:32 ID:LQm7vXkr0
フリーのウイルス対策ソフトウェア Avast!の自動更新を有効にしている場合に
しょっちゅう「再起動しますか?」とダイアログで聞かれるのを自動でいいえと答えて閉じる
スクリプトが完成しました。

#Persistent ;スクリプトを常駐状態に
SetTimer, Lbl, 2000

Lbl:
IfWinExist, avast!: オペレーティング・システムの再起動が必要
{
       WinActivate, avast!: オペレーティング・システムの再起動が必要
       WinWaitActive, avast!: オペレーティング・システムの再起動が必要
       Sleep, 100
       Send, {Alt Down}n{Alt Up}
}

こんな感じ。SetTimerを教えてくださった方ありがとうございました。
ところで、これ3行目(Lbl:の1行上)に制御を戻す事は不可能なのでしょうか?

SetTimer, Lbl, 2000
MsgBox, 制御が戻った

Lbl:
;処理を書く

↑こういうスクリプトがあったとしたら、無限に2秒毎にLbl:以下を実行し続け、2行目のMsgBoxが
1度も永久に実行される事が無いですよね?コレを実行させるにはどうすればいいのでしょうか?
227名無しさん@お腹いっぱい。:2007/07/31(火) 16:09:49 ID:XKNncdyU0
WinWait
Return
228名無しさん@お腹いっぱい。:2007/07/31(火) 16:23:20 ID:gpaQklib0
AHKのスクリプトに精通している人はちょっと尊敬するわ。
229名無しさん@お腹いっぱい。:2007/07/31(火) 18:25:06 ID:f8EcCtIoO
なんかいろいろわかってなさそうだが、とりあえずサブルーチンの前後にRetun入れろ
話しはそれからだ
230名無しさん@お腹いっぱい。:2007/07/31(火) 19:38:17 ID:LQm7vXkr0
>>229
SetTimer, Lbl, 2000
MsgBox, 制御が戻った
return

Lbl:
;処理を書く
return

こういう事?
231名無しさん@お腹いっぱい。:2007/07/31(火) 20:15:13 ID:6N1PNkmc0
>>205
ありがとう
232名無しさん@お腹いっぱい。:2007/07/31(火) 21:58:14 ID:gpaQklib0
233名無しさん@お腹いっぱい。:2007/08/14(火) 16:56:48 ID:qNJw2gH40
DllCall("WindowFromPoint", Int, x, Int, y, UInt)という関数で
相対座標で座標を指定したいのですが、どうやればいいんでしょうか?
234名無しさん@お腹いっぱい。:2007/08/14(火) 17:03:56 ID:0RlyL1gT0
>>233
そもそもそれじゃ引数が違うから呼び出せないんじゃ?
235名無しさん@お腹いっぱい。:2007/08/14(火) 20:12:17 ID:qNJw2gH40
>>234
サンクス!よく分からずXとYだけ変えて使ってました
絶対座標専用なんですね
236名無しさん@お腹いっぱい。:2007/08/14(火) 20:29:35 ID:0RlyL1gT0
あ、ごめん、WindowFromPoint は PPOINT 型じゃなくて、
POINT 型の引数なのか。 やっぱ >>233 で合ってるわ。

相対座標ってどこからの相対なのかわからないけど、
スクリーン座標系からクライアント座標系に変換するには、

hwnd = WindowFromPoint(pt);
ScreenToClient(hwnd, &pt);

みたいに書けばいいんじゃない?
237名無しさん@お腹いっぱい。:2007/08/14(火) 20:42:06 ID:ngoXC/ha0
2kで個別のアプリのCPU使用率を取得する方法はないでしょうか?
流行らせるページのスクリプトはXP以降にしか対応してないみたいでダメでした。
238名無しさん@お腹いっぱい。:2007/08/14(火) 22:06:54 ID:qNJw2gH40
>>236
ありがとう!
でもそこら辺にあるスクリプトを継ぎ接ぎしてるだけのおいらにはムズイw
239名無しさん@お腹いっぱい。:2007/08/15(水) 04:39:00 ID:4rjZGnCz0
質問があります。
海外ソフトで使うスクリプトを作ってます。
~キーを押す必要があるんですが日本語キーボードに対応してないので
日本語キーボードだと@キーを押すことになります。
こういう場合に英語キーボードで~を押したことにするにはどうしたらいいですか?
240名無しさん@お腹いっぱい。:2007/08/15(水) 15:52:17 ID:W8Jf/qg+0
>>239
日本語でおk
241名無しさん@お腹いっぱい。:2007/08/15(水) 17:59:37 ID:3haFl8pw0
~キー出力は、JP106キーならShift+^、US101キーならShift+`なんだが…
242名無しさん@お腹いっぱい。:2007/08/16(木) 00:03:43 ID:bw53sfnn0
なにいってんのかわかんないけど
jp106キーボードでUSドライバ使ったりすると
shift+半角で~出るよ。
243名無しさん@お腹いっぱい。:2007/08/16(木) 02:35:52 ID:oDhmkhIm0

http://lukewarm.s101.xrea.com/commands/_InstallKeybdHook.html
上のページを読み、
「無条件でキーフックを有効にする」というのを有効にしたところ、
キーフック機能が常駐してしまい、無効にすることができなくなりました。

ExitAppを使えばよいと書いてありますが、
具体的な記述がわからず色々組み合わせてみましたが無理でした。
自分では打開できそうにありません。
誰か分かる人がいたら教えてくださいませ。
244名無しさん@お腹いっぱい。:2007/08/16(木) 02:53:57 ID:yzJZJ0l/0
ワロタwwwwwwww
245名無しさん@お腹いっぱい。:2007/08/16(木) 03:55:49 ID:Y//SIsXz0
>>243
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」
―――――――――――――‐┬┘
                        |
       ____.____    | .__    PCを
     |        |        |   | |\_\  窓から
     |        | ∧_∧ |   | |  |.◎.| 投げ捨てろ
     |        |( ´∀`)つ ミ | |  |.: |
     |        |/ ⊃  ノ |   | .\|.≡.|
        ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄    |    ̄
246243:2007/08/16(木) 06:19:27 ID:oDhmkhIm0
243なのですが、解決しました。
「特定のホットキーを登録していれば、自動的にフックは有効になる」
ということがhttp://lukewarm.s101.xrea.com/commands/KeyHistory.html
こっちの方のページに書いてありますね、
それを見落としたばかりに、つい混乱してしまったみたいです。
247名無しさん@お腹いっぱい。:2007/08/16(木) 17:30:04 ID:koSg/3pj0
Diablo2.ahk誰か早く
248名無しさん@お腹いっぱい。:2007/08/21(火) 20:19:34 ID:EL1WKe0y0
スクリプト走らせる度にAutoHotkeyのプロセスが増えるんですが仕様ですか?
249名無しさん@お腹いっぱい。:2007/08/21(火) 20:36:24 ID:OI80Iptb0
仕様です
というか当然です
250名無しさん@お腹いっぱい。:2007/08/22(水) 00:07:32 ID:qOJxaKKH0
d
251名無しさん@お腹いっぱい。:2007/08/22(水) 04:09:23 ID:SD01+S/A0
一つのプロセスで複数のスクリプトを別の名前空間で走らせられたら
他人の作ったスクリプト利用しやすくなりそう。
252名無しさん@お腹いっぱい。:2007/08/22(水) 05:08:44 ID:aQGermqT0
>>251
そこまでするなら、もう他のましな言語に載せ変えてほしい希ガス
253名無しさん@お腹いっぱい。:2007/08/23(木) 15:17:59 ID:bav1KONC0
モニタを追加したのですが 下のようにすると、もとのモニタ内でしか、ポインタが異動しません。
どうすれば、追加したモニタ内も動くようになるんですか?
たとえば、画面の右端にポインタがくると、左端にきてしまいます。

h::
MouseMove, -20, 0, 0, R
return
254名無しさん@お腹いっぱい。:2007/08/23(木) 19:00:00 ID:R2hk6dcE0
キーのremapで悩んでいます。

テンキーのような配列のキーボードで、一つ一つを押すと
「Ctrl + Alt + A」「Ctrl + Alt + B」...のように、
「Ctrl + Alt +※」のような組み合わせでキーコードを発行するキーボードが
有るのですが、その「Ctrl + Alt + A」のキーを「Enter」に割り当てたい場合に

^!a::Enter

としたときにkeyhookには、

down Ctrl
down Alt
down a
down Enter
up a
up Enter
up Ctrl
up Alt
down Ctrl
up Ctrl

のように出力されます。
実際にエディター等で、「Enter」のように機能しておりません。
「Ctrl + Alt + A」が押された後に「Enter」が押されています。
その関係で、ほとんどのキーが正常に反応しません。
何か良い方法、もしくは参考になるサイト等をご教示願えないでしょうか?
ちなみにAHKなどのキーバインドソフトや、プログラムの経験はほとんど有りません。
サンプルのコードからどのような動作がなされているかくらいは分かると思います。
255名無しさん@お腹いっぱい。:2007/08/23(木) 19:33:42 ID:K3YxSJna0
>>254
その製品自体にはリマップツールは付いてないの?
で、
^!a:: Send, {Enter}
は試した?
256名無しさん@お腹いっぱい。:2007/08/25(土) 19:07:02 ID:W+ItwZr20
253をどなたかよろしく
257名無しさん@お腹いっぱい。:2007/08/26(日) 16:27:04 ID:a1hT3suL0
SysGetで複数モニタのステータスは取れるけど。
マウスポインタの指定の仕方はわかんね
258名無しさん@お腹いっぱい。:2007/08/27(月) 00:59:19 ID:aeiRSrmu0
無変換+EDSFにマウスカーソル移動を(使い物になるレベルで)割り当てたいんだけど、
移動量や加速度の調整のうまいやり方ご存じないっすか?
一応昔書いたコードを晒しておきます。汚いですがスイマセン。
これだと見ての通りちょっと押し続けると思いっきり移動してしまう感じに。
理想はジョイスティックやトラックポインタみたいなものだけど、デジタル入力だと難しいでしょうか。
;カーソル右移動
sc07B & F::
vol := 1
speed := 0
MouseMove, %vol%, 0, %speed%, R
Sleep, 100
Loop
{
Sleep, 10
GetKeyState, s1, sc07B, P
GetKeyState, s2, F, P
If (s1 = "U" || s2 = "U")
{
break
}
Else If (s1 ="D" && s2 = "D")
{
vol += %A_Index%
speed += %A_Index%/2
MouseMove, %vol%, 0, %speed%, R
}
}
259名無しさん@お腹いっぱい。:2007/08/27(月) 01:20:00 ID:VadSXBov0
A_INDEXを加算するんじゃなくて
2秒以上押してたらパラメーターを変化させるとか
260名無しさん@お腹いっぱい。:2007/08/27(月) 03:57:41 ID:g7zWi+FH0
%A_Index% に対する speed の
増加率をもっとゆるやかにしたらいいと思う。
speed += %A_Index%/2
だとspeedが二次関数なみに増加してってる。
あとは>>259みたいにループ回数じゃなく時間にspeedを対応させるとか。
261名無しさん@お腹いっぱい。:2007/08/29(水) 15:06:08 ID:KlpUKV/w0
AutoHotKeyでマウス3ボタン同時押しで何かをする、というのをやってみたいんだけど
どうしたら出来ますか
262名無しさん@お腹いっぱい。:2007/08/29(水) 15:54:15 ID:d/TyIHTq0
LbuttonとRbuttonでコンビネーションキーして
もう一個のボタンの押下を待てば?
263名無しさん@お腹いっぱい。:2007/08/29(水) 16:08:42 ID:KlpUKV/w0
>>262
待つ方法がよくわからなくて
Inputを使えばいいのかと思うんですけど、
LbuttonかRbuttonが離れたらなにもしない、
という風にするにはどうしたらいいものでしょうか
264名無しさん@お腹いっぱい。:2007/08/29(水) 18:16:34 ID:d/TyIHTq0
LR+[A]キーで実験してみたお

~LButton & RButton::
{
 Tooltip, !

 Loop
 {
  GetKeyState, LB, Lbutton, P
  GetKeyState, RB, Rbutton, P
  GetKeyState, A, a

  If LB = U
  {
   Break
  }
  If RB = U
  {
   Break
  }
  If A = D
  {
   MsgBox, !
   Break
  }
 }
 ToolTip
 Return
}
265名無しさん@お腹いっぱい。:2007/08/29(水) 18:43:12 ID:KlpUKV/w0
>>264
なるほどすばらしい動きですね
ありがとうございます

やり方としてはだいたい分かったと思うのですが、
このループは休みなく回り続けると思うのですが、
これはパフォーマンスに悪影響をおよぼしたりはしないものなのでしょうか
266名無しさん@お腹いっぱい。:2007/08/29(水) 18:46:28 ID:ZM87iOTj0
どんだけしょぼいPC使ってんだよ
PCつけてるだけでそれ以上のものが動いてるっつの
267名無しさん@お腹いっぱい。:2007/08/29(水) 18:49:58 ID:KlpUKV/w0
>>266
他言語の開発経験では、
こういったビジーループはCPU使用率を100%近く使い切ってしまうものなので
どういう仕組みでその辺を回避してるのか不思議なのです
ループにSleepを入れなくて大丈夫なのはなぜなのだろうと
268名無しさん@お腹いっぱい。:2007/08/29(水) 18:56:11 ID:DzJvLQge0
そのループに入るのはRL押してるときだけじゃないの。
269名無しさん@お腹いっぱい。:2007/08/29(水) 19:25:04 ID:e2B4bxdm0
各行ごとに10msのスリープが最初から入ってた気がする
270名無しさん@お腹いっぱい。:2007/08/29(水) 19:45:02 ID:ZAbcaavv0
>>267
他の言語の開発経験があるならソース読もうよ…
271名無しさん@お腹いっぱい。:2007/08/29(水) 20:06:53 ID:KlpUKV/w0
すみません、再度質問させてください
~LButton & RButton::
Loop
{
GetKeyState, rb, Rbutton, P
GetKeyState, lb, LButton, P
GetKeyState, wUp, WheelUp, P

ToolTip %wUp%
if lb = U
{
break
}
if rb = U
{
break
}
if wUp = D
{
send {PgUp}
MouseClick WheelUp,,,U
wUp = U
}
}
ToolTip
return

二ボタンを同時に押しながら、WheelUp/Downに反応してPgUp/Downをさせたいと思っています
GetKeyStateでWheelUpをとると起動後何もしない時の初期状態はUなのですが
一度WheelUpするとDになり、その後Upをしても元に戻りません
WheelUpのKeyStateをUにする方法はないものでしょうか
それか同時押し+Wheelをうまく動かす方法はないものでしょうか
272名無しさん@お腹いっぱい。:2007/08/30(木) 11:19:13 ID:zx+Yz7/90
ディアクティブなウィンドウをウィンドウタイトルで検索してディアクティブなままSend,することって出来ないの?
273名無しさん@お腹いっぱい。:2007/08/30(木) 11:38:24 ID:fGCl+Ibc0
ControlSend
274271:2007/08/30(木) 11:40:20 ID:nlX0V4+q0
自己解決しました

~LButton2 & RButton::
ToolTip loopStart

HotKey WheelUp, WheelUpLabel
HotKey WheelDown, WheelDownLabel
HotKey WheelUp, On
HotKey WheelDown, On

Loop
{
GetKeyState rb, Rbutton, P
GetKeyState lb, LButton, P

if lb = U
{
break
}
if rb = U
{
break
}
}
ToolTip loopend
HotKey WheelUp, Off
HotKey WheelDown, Off
return
275271:2007/08/30(木) 11:41:11 ID:nlX0V4+q0
WheelUpLabel:
ToolTip WheelUp
return

WheelDownLabel:
ToolTip WheelDown
return

HotKeyを動的に割り当てればいいようですね
ありがとうございました
276名無しさん@お腹いっぱい。:2007/08/30(木) 14:33:26 ID:JCfA0ZE80
自己解決してたか。昨日貼ろうとしたらネット使えなくなっちまって参った・・ほぼ同じコードだけど一応貼っておくよ

~WheelUp::tooltip, 準にゃんならおk
;WheelUp::tooltip, 準にゃ〜〜〜〜ん

~LButton & RButton::
Send, {LButton Up} ;キャンセルしないと不便だと思うので。
Hotkey, ~WheelUp, ~WheelUp, Off ;LRボタンが押されてる間無効化
Hotkey, WheelUp, LB_RB_WheelUp, On
Hotkey, WheelDown, LB_RB_WheelDown, On
Loop{
GetKeyState, rb, Rbutton, P
GetKeyState, lb, LButton, P
if((lb=="U") || (rb=="U")){
break
}
}
;通常時のホットキーの処理に戻す
Hotkey, WheelUp, LB_RB_WheelUp, Off ;;WheelUpホットキーラベルが無い場合
; Hotkey, WheelUp, WheelUp, On ;WheelUpホットキーラベルがある場合
Hotkey, WheelDown, LB_RB_WheelDown, Off
Hotkey, ~WheelUp, ~WheelUp, On
return

LB_RB_WheelUp:
tooltip, 寧ろ準にゃんじゃなきゃ嫌だ
send {PgUp} ;LButton+RButton+WheelUP時の処理
return

LB_RB_WheelDown:
send {PgDn} ;LButton+RButton+WheelDown時の処理
return
277名無しさん@お腹いっぱい。:2007/08/30(木) 16:44:44 ID:nlX0V4+q0
デフォルトのホットキーのラベル名はキー名と同じなので、ラベルを戻す時は
WheelUpラベルが定義されていればWheelUpに割り当てればいいし
~WheelUpが定義されていれば~WheelUpに割り当てればいいわけですね
ラベルが定義されているかはIsLabel()で分かるみたいですね

しかしもし動的に別のラベルが割り当てられている可能性があると
ラベルを戻す時にデフォルトのWheelUpに戻していいか分からなくなりますよね
そのホットキーに対してなんというラベルが割り当てられているか調べる方法はないでしょうか
3ボタン同時押しを関数化して再利用しようと思っているので(車輪の再発明でしょうけど)
あらゆる可能性に備えときたいんですけど方法はありますかね

>>269
デフォルトで10ms実行すると10ms休むみたいですね
ttp://lukewarm.s101.xrea.com/commands/SetBatchLines.html
278名無しさん@お腹いっぱい。:2007/08/31(金) 01:10:59 ID:ipTtSRZ90
三ボタン同時押しを簡単に実現できる関数を作りました
手元の環境ではなかなかうまいこと動いています
結構使いやすくまとまってるんじゃないかと思います

http://www.uploda.org/uporg993571.zip.html

使っていただいて問題があったら教えていただけると幸いでございますよ
279278:2007/08/31(金) 16:39:31 ID:ipTtSRZ90
ファイル消えちゃったんでホームページ作って上げました

http://pmoky.ame-zaiku.com/

使ってくれてる人はいるだろうか・・・
280名無しさん@お腹いっぱい。:2007/08/31(金) 17:32:47 ID:Ej00l/PP0
>>279
ゲームで使ってみる
今後ともがんばってくれ
281名無しさん@お腹いっぱい。:2007/08/31(金) 17:42:52 ID:JWf9VRD/0
長野テクトロンのお気に入りキーボードと組み合わせて
なんか面白いことやってる人いない?
282名無しさん@お腹いっぱい。:2007/08/31(金) 18:11:04 ID:ipTtSRZ90
なんとニッチな話題
283名無しさん@お腹いっぱい。:2007/08/31(金) 20:19:47 ID:KhuX3oNk0
どっかでみたと思ったらやねうらおと喧嘩してた人かな?
284名無しさん@お腹いっぱい。:2007/08/31(金) 21:44:54 ID:ipTtSRZ90
うわー、よく知ってますね
あんま特定されるもの晒すもんじゃないですね・・・
285名無しさん@お腹いっぱい。:2007/09/03(月) 01:21:42 ID:lFHF97IF0
AutoHotKeyでnストロークキー、
ダブルクリック、トリプルクリック・・・n回クリックなんかを
できるようにするライブラリを作りました

http://pmoky.ame-zaiku.com/

マウスで右押しながら左、左を離してホイール回すとか
右押しながら左、右を離して右ダブルクリック
といった風に自由にコマンドが割り当てられます
よかったらどうぞ
286名無しさん@お腹いっぱい。:2007/09/03(月) 02:26:59 ID:fJ9mFThh0
[これはひどい]
287名無しさん@お腹いっぱい。:2007/09/03(月) 03:58:03 ID:lFHF97IF0
何がひどいのか聞かせてもらいたい
288名無しさん@お腹いっぱい。:2007/09/03(月) 04:18:56 ID:bRMrbhHi0
やばいっしょ普通に考えて
289名無しさん@お腹いっぱい。:2007/09/03(月) 05:00:05 ID:lFHF97IF0
まあAutoHotKey歴三日でこれだけのものが作れてしまう才能は
普通に考えればやばいとしかいいようがないな
290名無しさん@お腹いっぱい。:2007/09/03(月) 05:25:56 ID:Hj/BQYMI0

291名無しさん@お腹いっぱい。:2007/09/04(火) 10:05:06 ID:JamW/x630
まぁトリプル、n回タップスクリプトあたりは割とみんなAHK覚え始めて最初に作るよな。
だが結局使いにくい(まともに動作はするが操作がおっつかない、指がついてかない)ことが分かって、
マウスジェスチャやホイールリダイレクトあたりの無難なスクリプトに落ち着くんだけど
292名無しさん@お腹いっぱい。:2007/09/04(火) 10:22:27 ID:mVqCjwNS0
俺のはちゃんと動作するぞ
293名無しさん@お腹いっぱい。:2007/09/04(火) 10:26:54 ID:mVqCjwNS0
操作がおっつかないという話か
いや、手軽に実行できていい感じだぞ
拡張ボタンは同時押しで動かす+ダブルで動かす
という形が便利だ

というかマウスジェスチャは根本的に使いにくい
遅い、疲れる、ミスが多い
マウスコマンドが大量に割り当てられる環境があれば何のメリットもない
294名無しさん@お腹いっぱい。:2007/09/04(火) 10:43:43 ID:fjDKy8bk0
本日のNGID:mVqCjwNS0
295名無しさん@お腹いっぱい。:2007/09/04(火) 10:48:14 ID:mVqCjwNS0
俺はマウスジェスチャ批判してるだけだが
批判に耳を傾けない態度はどうかと思うね
296名無しさん@お腹いっぱい。:2007/09/04(火) 13:07:34 ID:QI1dt7uw0
>>295
批判以前に耳を傾けて貰えない理由があるんじゃないの

マウスジェスチャだって、たとえばブラウザの進む/戻るを←や→みたいにしてあるのは
直感的でいいと思うけどね。

↓←で閉じるとか、こうやってこうやってこうするとこうなるとか、
もうファミ通に投稿しちゃうぞみたいなのはどうかと思うけど。

使いやすいとか使いにくいとか主観で言ってるだけじゃ批判にもならない。
297名無しさん@お腹いっぱい。:2007/09/04(火) 13:12:18 ID:mVqCjwNS0
右を押しながら左にドラッグするのと、
右ボタン押しながら左ボタン押すのでは
どっちが早いか、どっちが疲れないか、どっちが間違いにくいか
答えは誰の目にも明らかじゃない
主観にも何にもなってない
298名無しさん@お腹いっぱい。:2007/09/04(火) 13:22:33 ID:DJLOdr4W0
大体複数タップごときでなんであんなに膨大なスクリプトになるんだよ
10行くらいで終わらないか?
299名無しさん@お腹いっぱい。:2007/09/04(火) 13:37:31 ID:mVqCjwNS0
WheelはGetKeyStateではとれないから
動的にホットキー割り当てが必要になる
ホットキーを一律にとめることが出来ないから
必要なもの以外で起こる可能性のあるホットキーを
一時的に全て止め、実行後に戻す必要がある
スレッドの優先順位を上げるだけでは再帰的に適用できなくなるし
その辺の処理がめんどい
300名無しさん@お腹いっぱい。:2007/09/04(火) 15:07:23 ID:VHYBwhSk0
腕はあっても自意識過剰じゃな
301名無しさん@お腹いっぱい。:2007/09/04(火) 17:25:14 ID:I07haSN+0
なんで荒れてんの?
302名無しさん@お腹いっぱい。:2007/09/04(火) 17:27:21 ID:JamW/x630
>どっちが早いか、どっちが疲れないか、どっちが間違いにくいか
それは完璧におまえの主観
ポインティングデバイスは環境によって全然使用感変わってくるよ
拡張ボタンはデフォじゃない、ノートだとホイールが特殊でMBottunすらついてないのもある。

何のボタンを先に押してから何を押すとかいくつも重なると覚えてらんない。
複合ダブルクリックなんてやった日には指がつる。
という意見の奴も少なくはないと思うが?

それに、ダブルクリックチェックするなら本当はポインタの移動距離も見ないと
300msタイムアウトくらいだと結構誤作動すると思うぞ
303名無しさん@お腹いっぱい。:2007/09/04(火) 18:15:35 ID:fjDKy8bk0
HPあるのなら掲示板作ってそこでやれよ
ここに来るな池沼
304名無しさん@お腹いっぱい。:2007/09/04(火) 21:10:20 ID:mVqCjwNS0
>>302
君の言ってるのはマウスコマンドが使いにくい環境があるというだけだろ
右押しながら左に関してはノーパソだろうとなんだろうと
マウスジェスチャより正確で早くて疲れない
主観でもなんでもない

まあ確かにボタン5個なければ
マウスコマンドはまともに使えないのは確かだが
それ用に整えられた環境でなら
マウスジェスチャとマウスコマンドの優劣は明らかだと思うがなあ

ダブルクリックに関しては移動距離見る必要があるとは思ってないな
もともとサイドボタン連打したらずれてもしょうがないし
ずれたらダブルクリックじゃないと認識することには
そんなに益はないと思う

>>303
俺はライブラリの宣伝がしたいわけじゃない
聞かれたから答えただけで、俺が言いたいのは
マウスジェスチャよりマウスコマンドの方がいいぞということだけだ
AutoHotKeyスレにふさわしくない話題だとも思わないが
305名無しさん@お腹いっぱい。:2007/09/04(火) 21:37:10 ID:f5uAFeMQ0
>>304
残念だが君の主張は100%主観だ

> 右押しながら左に関してはノーパソだろうとなんだろうと
> マウスジェスチャより正確で早くて疲れない
これが完全に間違い
君、ノートPC使った事無いでしょ
306名無しさん@お腹いっぱい。:2007/09/04(火) 21:45:43 ID:RM5uohE+0
どちらが操作しやすいかなんて、人それぞれなので好きにしてください。
完全にスレ違いです。
307名無しさん@お腹いっぱい。:2007/09/04(火) 21:52:26 ID:mVqCjwNS0
>>305
ノートPCずっと使ってたが右と左はちゃんと隣同士にあったぞ
タッチパッドだからマウスジェスチャは使い物にならなかったが
マウスコマンドは使えないこともなかった

まあノーパソの入力にはいろいろあるから、そうでない環境もあるかもしれないが
そうでない環境があるからといって主観にはならない
君の言いたいのは、
「ある種のノートパソコンでは客観的に見てマウスジェスチャが
マウスコマンドより使いやすい」ということだろう
俺の主張は最初から
「マウスコマンドが大量に割り当てられる環境では、
客観的に見て、マウスジェスチャよりマウスコマンドの方が優れている」ということだ
そうでない環境があることは最初から言っている。

ノーパソでも普通はマウスをつなげて使うから「ノーパソかどうか」は別に関係ない
タッチパッドは誤動作しやすいからマウスジェスチャは使いにくい
君こそノーパソのことを知らないんじゃないか?
308名無しさん@お腹いっぱい。:2007/09/04(火) 21:52:32 ID:Rc8hT3KH0
ノートパソコンなら普通にホットキーを使えばいいのでは
309名無しさん@お腹いっぱい。:2007/09/04(火) 22:09:37 ID:mVqCjwNS0
ノーパソだとキーボードでマウス移動とかしても便利かもな
とにかくタッチパッドは腐ってる
310名無しさん@お腹いっぱい。:2007/09/04(火) 22:26:24 ID:2CfhAgz30
誰か興味ある話題ぷりーず

主観かどうかを主張しなければならないような非論理的な展開が続かれても困る
311名無しさん@お腹いっぱい。:2007/09/04(火) 22:33:17 ID:sjOEK3Ce0
>>309
それも主観
312名無しさん@お腹いっぱい。:2007/09/04(火) 23:36:51 ID:mVqCjwNS0
客観的でないという根拠を述べないと
客観的に主観であるということを述べたことにならない
つまり「主観だ」とただ書いただけじゃその言葉は
自分自身にも向けられることになる

そんなこといちいち説明しなくてもわかってくれるレベルの人はいないのかね
313名無しさん@お腹いっぱい。:2007/09/04(火) 23:56:53 ID:f5uAFeMQ0
>>312
君はそこまでバカだったのか
「主観じゃない」と主張しているのは君だけなんだよ
他の連中は私も含めて皆主観を述べているだけでね

つまり、唯一君だけが自分の主張は客観的であると言う根拠を述べなければいけない立場なんだよ
314名無しさん@お腹いっぱい。:2007/09/04(火) 23:58:12 ID:2CfhAgz30
例えば>>302の存在が客観的でないことを十二分に示しているわけだが……

呆れた

ってかAHKの話題はー?
315名無しさん@お腹いっぱい。:2007/09/05(水) 00:06:37 ID:n/eX0LD90
ID:mVqCjwNS0
>ダブルクリックに関しては移動距離見る必要があるとは思ってないな
>もともとサイドボタン連打したらずれてもしょうがないし
まぁおまいの使い方は好きにすればいいし、別にどうでもいいんだけどな
おまいなりに汎用性考えて万人に使えるよう考慮したから、
あんなしち面倒臭いスクリプトになってるんじゃないのか?
「俺専用」なら公開なんぞしないで自分だけで使ってればいいと思う。

>マウスコマンドが大量に割り当てられる環境では、
まずその環境は一般的でない。
要約すると 『俺の使ってる環境下ではジェスチャよりコマンドのほうが使いやすい。』ってことだろ?
そんな特定的な話をここで展開されても困る

そもそもマウスジェスチャ批判そのものがスレ違いな上、主観的意見だがね。
>答えは誰の目にも明らかじゃない
「誰の目にも明らか」どころか、同意してる人間は誰一人としていないのだが。
事実に反してる内容を主張している段階でそれは客観性を欠いているっつーことでないの?
おまいが言い出したことに対して、誰も取りあわず、おまいしか主張してないならそれは主観でしかないしょ。
ていうか、言葉遊びしたいならよそへ逝けよ。
316302:2007/09/05(水) 00:12:17 ID:n/eX0LD90
自分は己が書いたレスを「主観ではない」などと行った覚えはないんだが。
なに、もしかして どっちの意見が客観的か 合戦をしてるつもりだったの?
己の主張を「主観ではない」と言い張ってるの、ここではおまいだけだよ
317名無しさん@お腹いっぱい。:2007/09/05(水) 00:37:38 ID:sEJDndAK0
スクリプトを提供してくれている人をそんなに叩くなよ……。
まだ続けるようならそいつも池沼。
318名無しさん@お腹いっぱい。:2007/09/05(水) 00:45:01 ID:k4PvKAqE0
厨でもスクリプトを作れば神です、ってか。アホらしい。
ただ、さわらぬ神に祟りなしというのには同意するよ。

丁重にお引取り願いたい。
319名無しさん@お腹いっぱい。:2007/09/05(水) 01:02:42 ID:PS3JYgfk0
俺は客観的にどうかにしか興味がない
俺は客観的に「マウスコマンドはマウスジェスチャより使いやすい」ということを述べている
それに対して、君は自分の意見が主観でしかないことを知りながら
「そんな意見は君の主観でしかない」ということを述べていて
客観的に見て俺の意見がどうであるかに対しては反論を拒否している。

俺はマウスジェスチャよりマウスコマンドが使いやすい客観的な根拠
(速さ、疲れにくさ、ミスの少なさ)を挙げたが、
君は客観的な根拠に基づく反論を何も行えなかった
それだけが事実だ

君はただ自分の主観によって、何らの根拠も持たずに
「君の意見は主観でしかない」ということを発言した
普通小学生だって、意見を述べる時は根拠も述べることが出来るが、
君はそれすら出来ない

まあ「自分の意見は客観的ではない」と認めているので
客観的に見れば俺の意見は主観的とはいえないと認めているのだから
少しは情状酌量の余地もある
しかし、自分は根拠を持って意見を述べているのに
相手は根拠がなくても相手の意見を否定できると思っているとなると
真面目に議論しようと思ってた人は、あきれ返って怒り出すことも出来ず
ただ「こんなやつを相手に何か意味のあることを言おうとした自分が間違っていた」
とでも思って議論の継続をあきらめるほかないだろう

しかしここには他に真面目な話が出来る人もいるはずだから
こういう話をするのも無意味ではないはずだ
今回はたまたまクソのようなやつに当たってしまっただけだ
次回に期待しよう
320名無しさん@お腹いっぱい。:2007/09/05(水) 01:09:05 ID:PS3JYgfk0
>>315
俺は連続的にクリックがなされていれば
移動距離が離れていてもダブルクリックと判定してはいけないケースはないと思っている
そういうケースがあるなら教えてくれるとうれしい

多ボタンマウスを使えばマウスジェスチャより便利に使えるとなれば
多ボタンマウスを買ってマウスコマンドを使うのが合理的だろう
別に多ボタンマウスなど高いものではないのだし

同意する人間がいなくても、客観的に反論できる人間が一人もいず
反論している人間ですら「俺の意見は主観でしかない」といっているならば
その意見は客観的に見れば正しいのかもしれないと考えてみるべきだろう
321名無しさん@お腹いっぱい。:2007/09/05(水) 01:21:33 ID:2BHAAzsx0
黙れサル
322名無しさん@お腹いっぱい。:2007/09/05(水) 01:40:23 ID:n/eX0LD90
「こんなやつを相手に何か意味のあることを言おうとした自分が間違っていた」

ていうか、言葉遊びしたいならよそへ逝けよ。
323名無しさん@お腹いっぱい。:2007/09/05(水) 01:52:25 ID:IfjcJ2n/0
仕方ないな、俺が相手になってやろう
324名無しさん@お腹いっぱい。:2007/09/05(水) 01:54:57 ID:PS3JYgfk0
俺は言葉遊びがしたいんじゃない
マウスジェスチャよりマウスコマンドが使いやすい
根拠:(速さ、疲れにくさ、ミスの少なさ)
こういう意見を述べていて、
それについて意見を聞きたいだけだ
何がしかの根拠を持った普通の意見を

俺がやってるのは実に普通のプロセスだ
それを根拠もないのに否定して無駄な時間を費やさせる奴はいるけれども
それは俺が非難されるべき筋合いのことではない

むしろ何を見てこれを言葉遊びと判断したのか聞きたいのだが
325名無しさん@お腹いっぱい。:2007/09/05(水) 01:58:45 ID:zU8Ox8/u0
エクスプローラで選択している(単数・複数)ファイルのフルパスをAHKで得る方法はありますか?
ポチエスの作者さんが公開しているesGetのようなものです。
スクリプトの引数に実行ファイルのフルパスを渡して起動すると、
その実行ファイルに現在選択中のファイルのフルパスを渡す。
複数ファイルの場合は、一括で渡すか、一つごとに分けて渡すかを引数で指定しておく、
という動作をするものを作りたいと考えています。

例:エクスプローラで選択中のファイル:C:\a.txt C:\b.txt

スクリプトの起動:〜.ahk /s "C:\WINDOWS\notepad.exe"ならば、
"C:\WINDOWS\notepad.exe" "C:\a.txt" "C:\b.txt"
スクリプトの起動:〜.ahk /m "C:\WINDOWS\notepad.exe"ならば、
"C:\WINDOWS\notepad.exe" "C:\a.txt"
"C:\WINDOWS\notepad.exe" "C:\b.txt"
326名無しさん@お腹いっぱい。:2007/09/05(水) 02:43:35 ID:NUBw8SHS0
>>325
多分、esgetも同じことをやってると思うんだけど
ControlGetのListからListViewのSelecetedを取得して
そっからファイル名だけ抜いてアドレスバーのアドレスとくっつける

327名無しさん@お腹いっぱい。:2007/09/05(水) 04:49:14 ID:g7Dqn/qu0
よくわからんが >>286 見てキレちゃったんでしょ?
スクリプトに自信があるならいちいち反応しないでスルーすればいいんだよ。
どうでもいいことで大騒ぎすると論理的にどうであろうが確実に印象は悪くなる。
328名無しさん@お腹いっぱい。:2007/09/05(水) 05:20:38 ID:PS3JYgfk0
問題はマウスジェスチャが不合理だということで
これを指摘するたびに気持ち悪い人が沸いてくる
俺の印象なんかどうなろうと知ったこっちゃなくて
ただこの事実を論証していくことに俺は興味がある

沸いてくる人がいつか論理的に意味のあることが
言えるようになるのかにも興味がある
流れを見れば分かるけど俺のスクリプトは何の関係もない
329名無しさん@お腹いっぱい。:2007/09/05(水) 05:33:38 ID:lHpy4VRa0
>流れを見れば分かるけど俺のスクリプトは何の関係もない
そうだよな、マウスジェスチャがダメだとか主観客観とかスクリプトと関係無いよな
それが分かってるんなら、スレ違いなネタを延々続けないで別の場所でやってくれ
330名無しさん@お腹いっぱい。:2007/09/05(水) 07:02:57 ID:g6AaTA6q0
Thumbsenseっていうソフト
http://www.sonycsl.co.jp/person/rekimoto/tsense/indexj.html

があるんだけど、これをAutoHotKeyでやることはできるかな?
つまり、起動をタッチパッドに触れる+キーボードってことなんだけど、

「タッチパッドに触れている状態を記述するスクリプト」っていうのは書ける?
331325:2007/09/05(水) 07:09:17 ID:hayqHRIy0
>>326
ありがとうございます。確認できていないのですが、帰宅したら試してみます。

>>330
自分もそれは非常にやりたいのですが、おそらくは本家が対応しないと無理そうです。
332名無しさん@お腹いっぱい。:2007/09/05(水) 07:14:41 ID:dr5YDobe0
あいかわらずこのスレはごみ書き込みしかないな
333名無しさん@お腹いっぱい。:2007/09/05(水) 08:24:21 ID:7HbnRb8cO
>>330
そのソフトは過去にも話題に上がったことあったと思うけどパッドの情報は多分取れなかったかと
そもそもデバイスとしてタッチパッドが繋がってるかどうかも見れないんじゃないかな
334名無しさん@お腹いっぱい。:2007/09/05(水) 08:40:32 ID:g6AaTA6q0
>>331>>333
なるほど、そうなのか。Thx
あくまで開発の方の気まぐれを期待するしかない、ってレベルか。

代用法として、右altを小指に、J左クリ L右クリ IKで上下ホイール、
UOで戻る、進むに設定すればちょっと気分味わえるな。

(単純にThumbsenseが使いにくい。ホイール周りとか特に。
これがもうちょい自由にカスタマイズできればおkだったんだがな。)
335名無しさん@お腹いっぱい。:2007/09/05(水) 11:03:55 ID:g6AaTA6q0
ついでにこのマウス操作をしていて思ったんだけど、
どうもAutoHotKeyは、通常のように

!j:: Send,{LButton}

って記述したら、Alt+j押してる間中左クリック連打してるんだね。

これを、
Alt+jを押してる間、ずっと左ボタン押し続けて、j離したときに同じく離す、
っていうふうに記述するにはスクリプトをどう変えたらいいかな?
336名無しさん@お腹いっぱい。:2007/09/05(水) 11:28:12 ID:PS3JYgfk0
>>329
AutoHotKeyはマウスジェスチャもマウスコマンドも出来る
どっちを使うのかは重要な問題だ
どうスレ違いなのか教えてくれ
337名無しさん@お腹いっぱい。:2007/09/05(水) 11:33:58 ID:85hizbmd0
>>335
!j:: IfNotEqual, A_ThisHotkey,%A_PriorHotkey%, Send,{LButton Down}
!j up:: Send,{LButton Up}
338名無しさん@お腹いっぱい。:2007/09/05(水) 12:04:50 ID:g6AaTA6q0
>>337
すまんそのスクリプトだと、まだ連打しているようだ。
だけどもっと単純な方法があったみたい。

!j::LButton

で解決するようだ。
ありがとう
339名無しさん@お腹いっぱい。:2007/09/05(水) 12:13:10 ID:85hizbmd0
雑談レベルなら多少スレ違いでも話題は広がるが、お前がやりたいのは「談義」じゃなくて
最初に結論ありきの「決め付け」だろ?
「どっちを使うべきか」はAHK関係ない。
AHK以前に「人に使い方を指図するスレ」ではない。そんなの個人の自由。

> 俺は客観的にどうかにしか興味がない
> ただこの事実を論証していくことに俺は興味がある
お前にしか見えない「事実」をお前がどう「論証」しようと勝手だが
ここは「"お前"の興味がある話題」を取り扱う場所じゃない。
スレ違いのネタで「議論」及び「倫理検証」を強行しようとすること自体が
他人の迷惑を顧みない自己中的行動だし、「非難」の対象だ。

しかもネタ元がお前の言う『俺の主張』がベースとなれば もはやお話にもならない。
2ちゃんは"お前"を特別扱いする場所じゃない。
"お前"が望むような「(お前的に)論理的で意味のある議論」(=「言葉遊び」)がしたいのなら
HPなりなんなりに「"お前"と"お前以外の奴"が論理的に議論するための場所」を作ってやるべき。
340名無しさん@お腹いっぱい。:2007/09/05(水) 12:44:02 ID:PS3JYgfk0
>>339
自分の意見が正しいという前提で発言するのは議論の大前提であり
客観的な根拠に基づいた説得力のある意見が出てくれば考えを変えるのも大前提だ
客観的な根拠を挙げてもらえれば俺は意見を変える
主観的な決め付けで議論を拒否しているのは俺の意見に反対している人間であり
そんなことは過去レスを辿れば分かることだ

マウスコマンドとマウスジェスチャ、どっちが使いやすいのかは
多くの人の作業効率に関係のある問題であり俺だけが興味のある話題ではない
ネタ元は「速さ、疲れにくさ、間違いにくさ」でありどれも客観的に計測が可能だ
何をどう読めばネタ元が俺の主張だけと読めるのか

雑談スレならいざ知らず、ここは実用的な話題を話し合うスレであり
意見には客観的根拠があるべきなのは当然のことだ
客観的な根拠に基づいた意見を交し合うのが、俺のいう「論理的で意味のある議論」であり
これは誰にとってもそうだ
主観と決め付けで意見を否定するのは誰にとっても意味のある議論ではない
それを行った俺の反対者を非難するならいざ知らず、なぜ俺が非難されなければならないのか
合理的な理由を述べてくれないか
341名無しさん@お腹いっぱい。:2007/09/05(水) 12:52:44 ID:k4PvKAqE0
わかったからもう相手するなボケ
342名無しさん@お腹いっぱい。:2007/09/05(水) 12:53:18 ID:M9FkZLef0
タッチパッドってPS/2マウスと同じ扱いなんじゃないの
343名無しさん@お腹いっぱい。:2007/09/05(水) 12:57:13 ID:ri+fxiHo0
なんという視野の狭さw
厨二病真っ盛りだなw

ツッコミどころが多すぎて相手するのも馬鹿馬鹿しい
344名無しさん@お腹いっぱい。:2007/09/05(水) 13:01:37 ID:PS3JYgfk0
一個でもツッコんでみなさい
客観的な根拠をもってね
345名無しさん@お腹いっぱい。:2007/09/05(水) 14:14:21 ID:85hizbmd0
ごめんね、噛み付いた自分が悪かったわ。
とりあえず他住人に迷惑になるからコテつけてくんない?
そしたら自分みたいな「論理的に意味のあることが言えない気持ち悪い人」が
間違えて君にレスすることもなくなると思うよ

>>338
あら、一応自分のところではちゃんと動いてんのは確認したんだが。
つかRemapの存在忘れてた。確かにそっちのがスマートやね。
346名無しさん@お腹いっぱい。:2007/09/05(水) 14:26:07 ID:PS3JYgfk0
俺はコテはつけないよ
NGIDしたら?
347名無しさん@お腹いっぱい。:2007/09/05(水) 14:47:00 ID:MqwIO/u70
>>342
すまん。詳しく知らないからどういう原理かも良くわからないんだけど、
AHKでできる可能性があるってことかい?
それならばどういった感じでスクリプト組めばいいかも聞いてみたい。
348名無しさん@お腹いっぱい。:2007/09/05(水) 14:55:33 ID:j+xrvRC90
AHKじゃタッチパッドに触れてることを感知できないべ
ドライバレベルでどうにかせにゃ
349名無しさん@お腹いっぱい。:2007/09/05(水) 15:03:27 ID:/OMsp2r/0
ID:PS3JYgfk0 は
> マウスジェスチャよりマウスコマンドが使いやすい
> 根拠:(速さ、疲れにくさ、ミスの少なさ)
> こういう意見を述べていて、
とかいていて、これを主張するだけならなんの問題もないが、

> マウスコマンドが大量に割り当てられる環境があれば何のメリットもない
とか
> 問題はマウスジェスチャが不合理だということで
とか

ここに飛躍があることがわからんのか。

296書いたの俺です。みんなごめんね。
謝ってもこんなレスしてたら台無しだね。
350名無しさん@お腹いっぱい。:2007/09/05(水) 15:13:45 ID:PS3JYgfk0
疲れやすくて遅くてミスが多い入力方法は不合理である
という命題が真ではないという主張だろうか
根拠があるなら聞いてみたい
351名無しさん@お腹いっぱい。:2007/09/05(水) 15:43:26 ID:17jIsT600
流れぶった切ってすまんが、X1ボタンは完全に潰してキーボードとの連携専用にしてる。

右手がマウスにあるわけだから、キーボードは左手で無理なく打てる範囲に限られるが、

それでもマウスコマンドより4−5倍はコマンドの幅が広がる。

5ボタン以上のマウスの人はためしてみ。
352名無しさん@お腹いっぱい。:2007/09/05(水) 17:01:50 ID:/OMsp2r/0
>>350
「疲れやすくて遅くてミスが多い入力方法は不合理である」と
主張するのは勝手だが、だれもが「疲れやすくて」「遅くて」「ミスが多い」
と感じる(あるいは実際にそうなる)とは努々考えなされるな。

それと「疲れやすくて遅くてミスが多い入力方法は不合理である」が
命題であるというのであれば、それは命題として認められない。
353名無しさん@お腹いっぱい。:2007/09/05(水) 17:03:10 ID:h8Et1qYU0
無理に賢そうな言葉遣いしてもかえって馬鹿っぽくなるだけなんだ
354名無しさん@お腹いっぱい。:2007/09/05(水) 17:07:14 ID:j+xrvRC90
いい加減相手するほうも荒らしだろ
355名無しさん@お腹いっぱい。:2007/09/05(水) 17:29:33 ID:PS3JYgfk0
>>352
速さ、ミスの多さ、疲れやすさは客観的指標で量ることが出来る
そう感じるかどうかという話ではない
マウスジェスチャとマウスコマンドをこれらの指標で比べるとどういった結果になるか
確かめてみることを勧める
そうすれば少なくとも、君が君の環境においてどっちを使った方が有効か知ることが出来るだろう

俺の主張は、5ボタン以上のマウスを使う環境ならば、
誰であっても、マウスジェスチャよりマウスコマンドの方がこれらの指標が良い値を示すということだ
まあ人より指の数が少ないとかの特殊なケースは除かせてもらうが

>それと「疲れやすくて遅くてミスが多い入力方法は不合理である」が
>命題であるというのであれば、それは命題として認められない。

どういう意味で言っているのか分からないが、命題とは真偽が決定できる文のことだ
より正確に言えば、真か偽か、真偽決定不能かが決定できる文のことだ
この文が解釈によって真偽が異なる、つまり偽となる解釈があるという主張だろうか
だとしたらその解釈を聞かせてもらいたいのだが
356名無しさん@お腹いっぱい。:2007/09/05(水) 18:34:01 ID:/OMsp2r/0
> 速さ、ミスの多さ、疲れやすさは客観的指標で量ることが出来る

> 俺の主張は、5ボタン以上のマウスを使う環境ならば、
> 誰であっても、マウスジェスチャよりマウスコマンドの方がこれらの指標が良い値を示すということだ

特定の環境/条件でしか成り立たない。習熟度によっても結果は大きく変動するだろう。

> >それと「疲れやすくて遅くてミスが多い入力方法は不合理である」が
> >命題であるというのであれば、それは命題として認められない。
>
> どういう意味で言っているのか分からないが、命題とは真偽が決定できる文のことだ
> より正確に言えば、真か偽か、真偽決定不能かが決定できる文のことだ
> この文が解釈によって真偽が異なる、つまり偽となる解釈があるという主張だろうか
> だとしたらその解釈を聞かせてもらいたいのだが

「疲れやすくて遅くてミスが多い入力方法」の定義が明確でない。
そもそも「速さ、ミスの多さ、疲れやすさ」だけでUIの優劣は決定できるのか?
ひとりよがりもいい加減にしてもらいたい。
357名無しさん@お腹いっぱい。:2007/09/05(水) 18:40:38 ID:xMeZ+F2u0
>>356
いちいち相手するなよ糞が
358名無しさん@お腹いっぱい。:2007/09/05(水) 18:44:47 ID:PS3JYgfk0
>>356
>特定の環境/条件でしか成り立たない。習熟度によっても結果は大きく変動するだろう。

複雑なコマンドでなければ習熟度はほとんど関係しない
拡張ボタンと左、右、中同時押し、ホイール回す程度なら誰でも出来る
それらの簡単なコマンドだけで頻度の高い大部分の作業は割り当てられる
実際やってみて比べてみればいい

環境は5ボタンあるデバイスが前提だが、トラックボールでもなんでも、
同時押しさえ出来ればコマンドは快適に動かせる
そうでない環境というのは無いに等しい

>「速さ、ミスの多さ、疲れやすさ」だけでUIの優劣は決定できるのか?

そう思うんだったら、出来ないとする根拠を述べればいい
それらより重要なファクターがあって、UIの優劣がひっくり返るケースが俺には思いつかない
359名無しさん@お腹いっぱい。:2007/09/05(水) 19:01:36 ID:7HbnRb8cO
使い勝手云々は結局のところ感覚的にしか計れない部分だし、対象使用者の主観抜きに語ることはできないよ。
それに、AHKなんかは特に己のところでまともに動いてるものでも他PC持ってったらダメだったてことはよくある。
環境に左右されるものをベースにしてモノ語るのは合理的ではない。
360名無しさん@お腹いっぱい。:2007/09/05(水) 19:15:08 ID:PS3JYgfk0
>>359
感覚的にしか量れない部分を議論の俎上に載せるのは合理的ではないが
速さ、ミスの多さ、疲れにくさは計測できる
計測方法を厳密にこれと定めるのは大変だし異論も多いだろうけど
自分がこれと思う計測方法で量ればいいと思う
個々人が、自分がどの入力方式を採用するのがいいのか決められればいいわけだから
どんな計測方法を採用するにせよ、それがこれらの指標を量るものであれば
マウスコマンドが勝つだろうと俺は考えている

まあこれらの指標で上回ったとしても使いやすさが上とは考えない
というのなら俺の主張は意味を失うが
俺はこれらの指標が下のものを採用するのは不合理ではないかと問いかけることはしたい

環境に左右されるものうんぬんというところはよく意味がわからない
自分のよく使っている環境でうまいこと動けばいいんじゃないかと思うが
361名無しさん@お腹いっぱい。:2007/09/05(水) 19:16:59 ID:/OMsp2r/0
>>358
> >>356
> >特定の環境/条件でしか成り立たない。習熟度によっても結果は大きく変動するだろう。
>
> 複雑なコマンドでなければ習熟度はほとんど関係しない
一般化できないんだろ。

> 実際やってみて比べてみればいい
どうやって比べればいいの。どうやって比べるのを前提としているの。

何度もやってみればいい比べてみればいいと言われているが、実際に比較してないのは確かにそう。
でも頭で想像する程度の操作なら、慣れた方が使いやすい、くらいにしか思えない。

> >「速さ、ミスの多さ、疲れやすさ」だけでUIの優劣は決定できるのか?
>
> そう思うんだったら、出来ないとする根拠を述べればいい
> それらより重要なファクターがあって、UIの優劣がひっくり返るケースが俺には思いつかない

マウスジェスチャーでいえば、マウス操作と画面の動きに一体感があるようなインタフェースなら
分かりやすいんじゃないか。分かりやすさはすごく重要だと思うけど。
これくらいしか思いつかない
362名無しさん@お腹いっぱい。:2007/09/05(水) 19:29:54 ID:PS3JYgfk0
>>361
習熟したマウスジェスチャと
未経験の簡単なマウスコマンドであれば
マウスコマンドの方が勝つと考えている
複雑なマウスコマンドは慣れが必要なのは確かだが

比べ方は、上にも書いたが個々人で自分がどっちが上かを比べられると思う方法で
比べればいいと思っている
どういう方法で調べても、速さやなんかを比べるのであれば、
マウスコマンドが勝つだろうと考えている

分かりやすさは大事だと思う
マウスコマンドも自分でルールを決めれば別に分かりにくいということもないので
そこで優劣がひっくり返るということもないと俺は思うが
分かりやすさを大事にする人だったら違ってくるのかもしれない
363名無しさん@お腹いっぱい。:2007/09/05(水) 19:39:13 ID:nffzyXyc0
この世において、どうして正しい主張が通らないなんてことがあるのかというと、
相手の正しさに従うためには、自分の正しさを捨てなくちゃいけないからだろう。
自分の培ってきた経験、技術、習慣、反射、すべてに変更を迫られるのはつらいものだ。

「やってみせ、言って聞かせて、させてみせ、ほめてやらねば、人は動かじ」

QWERTY配列がいかに不合理かを説いたとて、それだけで人の習慣を変えられると思ったら甘すぎる。
世の中にはキーボードを使うより携帯電話の入力方式の方がずっと楽だ、と言う人もいるし、
(キーボードに習熟する前の)その時点のその人においては事実そうなのだからどうしようもない。
遠くの利を振り翳しただけで近くの利を捨てられる人間は少数だ。目の前の快楽にかまけてさぼる学生は多い。

マウスコマンドの優位性を誰かに分からせるためには、
ジェスチャとコマンドとを対等に比較するための場を用意し
各人が実験しやすいように、心理的・物理的障壁を下げるよう努めるべきだ。

新鋭と古参とで温度差があるのは仕方ない。あとはお互いがどこまで歩み寄るかによる。
どんなキーボード配列がいいかを論じるのと同じで、
雑談程度ならいいけれど、本気でやるならスレ違いと言われるだろう。
364名無しさん@お腹いっぱい。:2007/09/05(水) 19:39:58 ID:4tAIsUCq0
マウスボタン同時押しというのは一般的なオペレーションでは
まずない動作だから慣れがまず必要だな。
マウスジェスチャーはドラッグという一般的な操作から派生しているけど。

個人的な感想で言えば、同時押しは普段慣れない動作だから指に違和感を感じる。
どちらかといえば一般的な操作から派生しているジェスチャの方が
効率的かはさておき、導入コストの点で優れているな。
365名無しさん@お腹いっぱい。:2007/09/05(水) 19:41:25 ID:xMeZ+F2u0


  い い 加 減 よ そ で や っ て く れ な い か ?

366名無しさん@お腹いっぱい。:2007/09/05(水) 20:31:42 ID:rDP1ah1T0
マウスジェスチャなんて多くの人が使ってる便利なものなのは周知の事実なのに、こんなところで優位性がどうのとか言われても困る。
スレ立ててVIPでやってろ
367名無しさん@お腹いっぱい。:2007/09/05(水) 20:49:34 ID:PS3JYgfk0
>>363
いいこというなあ

対等に比較しなくても、ジェスチャに慣れ親しんだ人がちょっと
試してみただけでも速さとか楽さとかは浮き彫りになると思うけど、
しかし実用になるかというのは、これがしたいと思った時に
手が瞬時にその操作を実行できるかだからな
したいことと操作が結びつくまである程度時間は必要だし
そもそも5ボタンマウス買って試せというのも無理がある話だ

まあこの辺が限界かな
そろそろ消えるわ
368名無しさん@お腹いっぱい。:2007/09/05(水) 21:02:29 ID:ri+fxiHo0
もうこないでね^^;
369名無しさん@お腹いっぱい。:2007/09/05(水) 21:17:10 ID:n/eX0LD90
とりあえず >363に拍手
370名無しさん@お腹いっぱい。:2007/09/05(水) 23:43:14 ID:3a4UBRCdP
マウスジェスチャ?マウスコマンド?はぁ?

キーボード使おうぜ!
371325:2007/09/06(木) 00:56:25 ID:CgUEgPrj0
>>326
期待通りの動作になりました。改めて感謝を。
372名無しさん@お腹いっぱい。:2007/09/06(木) 01:17:57 ID:MpeKuTu20
>>363の基地害対応力に嫉妬
373名無しさん@お腹いっぱい。:2007/09/06(木) 10:13:43 ID:nPLCSJdD0
Win2000SP4です。
Winキー+uをホットキーに割り当てたいのですが、ユーティリティーマネージャーが起動して困っています。
このユーティリティーマネージャーが起動しないようにすることは出来ますでしょうか?
374名無しさん@お腹いっぱい。:2007/09/06(木) 10:57:08 ID:oGNJCOoO0
#u::run, notepad でメモ帳しか起動しないですけど
(XP Pro SP2)
375名無しさん@お腹いっぱい。:2007/09/06(木) 11:08:04 ID:nPLCSJdD0
>>374
http://www1.tcnet.ne.jp/k-saku/low_visions/accessibility/sub_01.htm

これをみるとWin+uで起動しますね。ググったところたくさんヒットしました。
ところで
Win::return
としてもWinキーが死なないのですが、どうしてでしょうか?マニュアルのスクリプトをコピペしたのにうまくいきません。
376名無しさん@お腹いっぱい。:2007/09/06(木) 11:26:02 ID:h7dZV9To0
>>375
「Win」じゃなくて「LWin(左Winキー)」か「RWin(右Winキー)」と書く。

RWin::
LWin::
Return

これでWinキーは無効になるはず。
377名無しさん@お腹いっぱい。:2007/09/06(木) 11:49:53 ID:nPLCSJdD0
>>376
ありがとうございます。確かにできました。
ところで#IfWinActiveを使って、特定のソフトでだけWin+uをhotkeyとして使いたいのですが、ユーティリティーマネージャが起動して困っていました。
#IfWinActive,hogehoge
RWin::
LWin::
Lwin & u::send,{return}
Return
としたらユーティリティーマネージャーが起動しなくなりました。でも、なぜかLWinキー押下でreturnキーが送信されます。
Lwin & uを#uとしてもWinキーを押しただけでreturnキーが送信されます。どこに文法ミスがあるのでしょうか?
378名無しさん@お腹いっぱい。:2007/09/06(木) 12:09:01 ID:nPLCSJdD0
実験しました。下記でもWinキーのみの押下でメモ帳が起動しました。
どうやら、Winキーに何もアサインしないとコンビネーションがうまく働かないようです。2番目のキーを待たずに動き出すようです。
このあたりの事情は既出でしょうか?
RWin::
LWin::
#n::
Run Notepad
return
379名無しさん@お腹いっぱい。:2007/09/06(木) 12:34:39 ID:nPLCSJdD0
連投すみません。
ユーティリティーマネージャーが起動しないようにできました。コンピューターの管理→サービス→スタートアップの種類を無効でできました。
でも、Winキー+uは相変わらず、何も割り当てられませんでした。OSが確保しているのでだめなんでしょうかね?
380名無しさん@お腹いっぱい。:2007/09/06(木) 12:44:15 ID:9dcdoup50
ここの 「キーラベルの仕様」嫁
http://lukewarm.s101.xrea.com/Hotkeys.html

>378の書き方だと RWin,LWin,#n に対してNotepad起動をアサインしてることになる。
LRWinを無効にしたいなら Return入れなきゃダメ
381名無しさん@お腹いっぱい。:2007/09/06(木) 12:55:01 ID:nPLCSJdD0
>>380
ありがとうございます。
読み直していたら、このページ(http://lukewarm.s101.xrea.com/misc/Override.html)で
You can disable all built-in Windows hotkeys except Win+L and Win+U
という記述を見つけました。Win+Uはだめですね。ほかのソフトで試してみます。
382名無しさん@お腹いっぱい。:2007/09/06(木) 12:58:41 ID:nPLCSJdD0
またまた連投すみません。
keybatで試したらあっさり出来ました。
keybatは初心者向けですけど、autohotkeyで出来ないことが簡単に出来ることがあるから手放せませんね。
383名無しさん@お腹いっぱい。:2007/09/07(金) 00:43:08 ID:Leyowai10
マウスの左ボタン押してから右ボタンを押したとき、Ctrl+Vを押したことにしてペーストしたいんですが
LButton & RButton::send ^v とすると左ボタンの本来の機能が失われます。(クリックとかドラッグとかできない)
それで ~LButton & RButton::send ^v として左ボタンが普通に使えるようにしたんですが
これだとペーストするとき左クリックしたままCtrl+Vを押したことになり、アプリによってはペーストできません。
そこで LButton & RButton::send ^v
     LButton::send {Click Left} としたんですが、これだとドラッグできませんw

どうしたらいいですか?
384名無しさん@お腹いっぱい。:2007/09/07(金) 00:53:34 ID:ON1eM8dz0
~LButton & RButton::
{
MouseClick, LEFT, , , , ,U
send ^v
Return
}
385383:2007/09/07(金) 01:10:50 ID:Leyowai10
おぉぉ、ありがとうございます!AutoHotkeyは使い始めたばかりで、まだよく分かってませんが
いろいろ便利に出来そうで、夢がひろがりんぐ!
386名無しさん@お腹いっぱい。:2007/09/07(金) 04:01:35 ID:rakY4+Fe0
まったくひろがりんぐツールやで
387名無しさん@お腹いっぱい。:2007/09/07(金) 04:45:25 ID:uvgGAP260
夢がひろがりんぐって、もう死語化してないか?
388名無しさん@お腹いっぱい。:2007/09/07(金) 22:55:54 ID:FhrmnyhW0
MouseClick, R,,,,,D
で右ボタンを押している状態からシステムに動作を渡さずに右ボタンを離す方法はないでしょうか

HotKey, RButton up, return
MouseClick, R,,,,,U
HotKey, RButton up, Off

return:
return

などとやってみたのですがどうしてもコンテキストメニューが開いてしまいます
389名無しさん@お腹いっぱい。:2007/09/07(金) 23:08:27 ID:8w//OG5f0
>>388
具体的に何がしたいのか書いた方が良さげ。
OnMouseDownイベントだけを断続的に起こしたいってことだろうか。いまいち状況がわからない。
390名無しさん@お腹いっぱい。:2007/09/08(土) 00:39:13 ID:iCGYlQBF0
コンテクストメニューって押下時じゃなくて押下解除時に表示される場合のほうが多いと思う
開かさせない方法はわからんが、開いてしまったものを閉じたいのなら send で Esc か Alt を投げてみたら?
391388:2007/09/08(土) 00:59:07 ID:l8tyTWRw0
マウスジェスチャのスクリプトを作っています
通常の右ドラッグを阻害せず動作させようとしています

Escなどでメニューを閉じるのも考えては見たのですが一瞬表示されるのが気になるうえ
メニュー表示されないソフトじゃ使えなくね?と思い

RButton::
MouseClick, R,,,,,D
マウス動きの判定処理(右ボタン離すで終了)
if(ジェスチャに対応した命令が有れば)
{
ドラッグ中止(とりあえずSend,{Esc}で)
右ボタン開放
命令
}
else
MouseClick, R,,,,,U

のようにしてみたのですがどうしてもメニューが開いてしまって
そして今見るとドラッグ中止の方法も甘い気がしてきました
392名無しさん@お腹いっぱい。:2007/09/08(土) 01:07:43 ID:ZOf7JEAM0
>>391
マウスジェスチャなら流行らせるページのMy Scriptsにあるよ。
393名無しさん@お腹いっぱい。:2007/09/08(土) 06:32:58 ID:zWESSSjS0
ノートPCタッチパッド使用者用Thumbsense風拡張スクリプトw

いや、単純にこの構成が一番使いやすかった&
いろいろなものに影響少ない構成かなと。
(右Altキーを起点にすると、いろいろなところが正常動作しなくなることが多い)

AppsKey & j:: IfNotEqual, A_ThisHotkey,%A_PriorHotkey%, Send,{LButton Down}
AppsKey & j up:: Send,{LButton Up}
AppsKey & l:: IfNotEqual, A_ThisHotkey,%A_PriorHotkey%, Send,{RButton Down}
AppsKey & l up:: Send,{RButton Up}

AppsKey & i:: Send,{WheelUp}
AppsKey & k:: Send,{WheelDown}
AppsKey & m:: Send,{XButton1}
AppsKey & .:: Send,{Xbutton2}
AppsKey & ,:: Send,{F5}
AppsKey & h:: Send,!{Space}{n}
AppsKey & 8:: Send,!{Space}{x}
AppsKey & 7:: Send,!{Space}{r}
AppsKey & o:: Send,^w
AppsKey & p:: Send,^c
AppsKey & +:: Send,^v
AppsKey & 0:: Send,^x
AppsKey & n:: Send,!{Home}
AppsKey & u:: Send,#d
AppsKey & 9:: Send,!{F4}
AppsKey & /:: Send,!{Up}
394名無しさん@お腹いっぱい。:2007/09/08(土) 10:35:12 ID:iCGYlQBF0
AppsKey起点か、コンテクスト出す以外は使わないキーだからいいかも知んない。
だが自分の旧チンコパッドには AppsKeyがついてない orz
WinKeyもないので使いにくくてしゃぁないわ
395名無しさん@お腹いっぱい。:2007/09/08(土) 10:58:20 ID:zWESSSjS0
>>394
Altキーでもそれなりに使いやすく出来ることは出来たよ。

問題点を挙げると
問題は、Alt+nとかにキーを割り当てたら最小化がうまく動かなくなって困る、とか
実際のAltキーとの組み合わせの奴が単純に動かなくなるとか、そんなん。
あと、癖でAlt押しっぱなしにしちゃうようになるから、Winキー起点のデフォ
Win+DとかがWin+Alt+Dとかに認識されちゃって動かない、みたいな。

こうして列挙すると、問題点だらけに見えるから困る。

とりあえずAlt小指にホームポジションのJKLであとは拡張すればいいんじゃないか?

追記、俺は別のソフトでMクリックを右クリ+左クリに割り当ててるから
スクリプトに中クリック入れてないけど、入れたい人は、
AppsKey & Alt:: Send,!{MButton}
あたりを追加して、
更に自分用に適当に配置換えしたらいいかな。
396名無しさん@お腹いっぱい。:2007/09/08(土) 11:48:52 ID:iCGYlQBF0
アドバイスd
でも右AltはWinKeyとして割付けてあるんよ(AHKじゃなくてIBMのキーコンフィグのほうで)
Appsはなくても困らんがWinはないとやっていけん。流石に左Altは潰せないしね。
397名無しさん@お腹いっぱい。:2007/09/08(土) 14:50:33 ID:ZjvPgMwV0
変換起点にしちゃだめなのか?
小指でApp押しっぱってしんどいような気がするが
398名無しさん@お腹いっぱい。:2007/09/08(土) 16:16:09 ID:9UwE3hiH0
カタカナ/ひらがなキーにリマップでAltキーを指定すると
Altキーが押しっぱなし状態になるんだけど
399名無しさん@お腹いっぱい。:2007/09/08(土) 16:39:27 ID:7LDvdjav0
勝手にコマンドが実行されたりするんだがどうなってるんだろ?
Autohotkey.iniを編集するキーを設定してたりすんだけど
フトした時に勝手にエディタ起動されてしまう・・・
400名無しさん@お腹いっぱい。:2007/09/08(土) 17:12:09 ID:zWESSSjS0
>>397
変換起点、ってことは、アプリキーを押すことで、
マウスモードとキーボード入力を切り替える、ってこと?

なるほど、一番やりやすい方法かもしれん。
かつアプリキー無いような人もできそうだしな。
ちょっとスクリプト考えてみる。
401名無しさん@お腹いっぱい。:2007/09/08(土) 17:32:34 ID:ibiZR8M40
変換キーを使うという事じゃ……
402名無しさん@お腹いっぱい。:2007/09/08(土) 17:46:09 ID:ZjvPgMwV0
変換キーを起点にして親指おしっぱのほうが
楽なんじゃないかなと思っただけ
分かりにくくてスマン
403名無しさん@お腹いっぱい。:2007/09/08(土) 18:12:20 ID:zWESSSjS0
>>401-402
あ、いやいや、それだと「Thumbsense風」の意味が全くなくなっちゃうよ。

親指はタッチパッドに常においておいて、カーソル動かすのに使わないと。

全てを右手だけで出来るようにする、が目的だから。

押すごとにモードを変える、が出来れば変換キーでもアプリキーでも良いと思うんだけどね。
404名無しさん@お腹いっぱい。:2007/09/08(土) 19:27:58 ID:ibiZR8M40
んじゃ無変換の方を使うのはどうなんでしょ

モード切替は避けた方がよいのだと思うのだがな。viとか
405名無しさん@お腹いっぱい。:2007/09/08(土) 20:51:45 ID:vnArU7SW0
マウスカーソルが動いている間とその後数ミリ秒間有効とかどうよ
406名無しさん@お腹いっぱい。:2007/09/08(土) 21:30:30 ID:zWESSSjS0
モード切替やろうとしたけど、
Altおしっぱなしとかからしか起動できないなぁ。

AppsKeyおしっぱスクリプト書いてもダメな感じだ。

こっち方面は諦めた方が良いかも。


俺のは無変換じゃなく変換の方だけど、いけると思う。
中指薬指小指でマウスボタン操作、ってのが
ちょっとやりにくい気もするけど。

あと小指の長さと器用さがどうしても劣る気もする。
つまり自在に右側のショートカットキーを押せない、とかあるかな。

>>404
その辺を除けば、指疲れないしベストかもね。

てかアットマークとか+ボタン*ボタンを小指で起点にして、
そこに割り当てられてたのは別キーに割り当てる、が実は一番なのかもしれんw

できるだけデフォの設定変えたくないなら前者のがいいだろうけど。
407名無しさん@お腹いっぱい。:2007/09/08(土) 21:42:42 ID:gLCyJSIe0
>>398
俺もそれ気になってた
vkF2sc070::
Send, {Alt Down}
KeyWait, Alt
Send, {Alt Up}
return
見たいにやってもうまく拾ってくれないし
408名無しさん@お腹いっぱい。:2007/09/08(土) 22:40:49 ID:XjeHu6dt0
漏れもたったいまそこで躓いてたところだw
ひらがなキーって押しっぱなしの検知出来ないのかな
409名無しさん@お腹いっぱい。:2007/09/08(土) 22:45:10 ID:ZOf7JEAM0
まあ最悪>>4の方法で。
410名無しさん@お腹いっぱい。:2007/09/09(日) 07:09:31 ID:SfSorzkm0
411名無しさん@お腹いっぱい。:2007/09/09(日) 15:55:46 ID:90jRKVaz0
いま読んでる。面白い。
412名無しさん@お腹いっぱい。:2007/09/09(日) 16:27:31 ID:4071f5mN0
>>410
>>112付近のツンツンした流れの理由はこれかしら……なんて詮索は野暮か。
出版されたら予約してでも買うので、頑張って下さい。
413名無しさん@お腹いっぱい。:2007/09/09(日) 18:38:52 ID:nU6AA3X+0
>>410
管理人氏も書いてるけど、専用ビューアのインストールが面倒くさいので
AHKの触り程度の解説なら、わざわざ入れて読む程かなとか考えてて二の足踏んでた。

いまサンプルソースだけ落としてみたけど、IEの制御とか入門に留まらず結構踏み込んでる感じですな

しかし、intro.ahkのキー割り当て例は苛めですかww
右Shift(ノートだとEnter直下が多い)に [Ctrl]+[A]→[Delete] とか
[Win]+[Z]にアクティブウィンドウを閉じる([Ctrl]+[Z]と間違えたらアウチ)とか
414名無しさん@お腹いっぱい。:2007/09/09(日) 19:44:14 ID:k7F9BsHB0
>>413

HHK使ってるんで
415名無しさん@お腹いっぱい。:2007/09/10(月) 06:15:09 ID:UFI/YkYK0
モザイクデスクトップ直してたのかぁ
でも、これだと、ちょっと重ねてモザイク掛けたいときに押下時に既にモザイクが存在していると
そのモザイクが消えてしまうという欠点があるですよー
うまく順番考えるなりモザイクの外からドラッグするなりすれば済む話だけど
やっぱリリース時に判定した方が良いんじゃないでしょうか?細かい話ですがw
416名無しさん@お腹いっぱい。:2007/09/10(月) 07:13:33 ID:qQU+FFvlP
誤爆宣言まだあ?
417名無しさん@お腹いっぱい。:2007/09/10(月) 13:43:51 ID:UFI/YkYK0
デスクトップモザイクの間違いだったわ
418名無しさん@お腹いっぱい。:2007/09/10(月) 16:18:39 ID:4oA1cNNn0
自分で改造しろ
419名無しさん@お腹いっぱい。:2007/09/11(火) 17:07:30 ID:OQt9Rk9z0
あるアプリケーションを起動したくて、
もしそのアプリがすでに起動中だったら、それを最前面に表示し、
二重起動はしないようにする、ってスクリプトってどんな感じで書けばいいかな?
420名無しさん@お腹いっぱい。:2007/09/11(火) 17:19:29 ID:pZ7AKsR/0
さすがにそれくらいマニュアル読んで自分でやる気がないなら
AHK使う意味無いと思うよ
421名無しさん@お腹いっぱい。:2007/09/11(火) 18:13:16 ID:uTH3xZH30
CUTEEXEC使ってもええしな
422名無しさん@お腹いっぱい。:2007/09/11(火) 20:21:23 ID:qtsjWZma0
ちょっと調べれば、どんぴしゃの物が見つかるってのに・・・
423名無しさん@お腹いっぱい。:2007/09/12(水) 10:21:37 ID:CDQqT6MY0
教えてくれろ
424名無しさん@お腹いっぱい。:2007/09/12(水) 21:37:31 ID:brvJ+qdp0
#IfWinActiveとかで2種類以上のウィンドウを指定するにはどうしたらいいの?

#IfWinActive, hoge
#IfWinActive, hoga

とかやると下だけが有効になるし
425名無しさん@お腹いっぱい。:2007/09/12(水) 21:39:17 ID:DGdbkIOS0
グループでなんとかする
426名無しさん@お腹いっぱい。:2007/09/12(水) 22:05:56 ID:Nau46M8t0
# を使わないのが正解
427名無しさん@お腹いっぱい。:2007/09/12(水) 22:14:02 ID:2u7FN4Cx0
自分もそういう場合グルーウ使ってる。
428名無しさん@お腹いっぱい。:2007/09/12(水) 23:02:14 ID:brvJ+qdp0
グループなんて便利なものが
リファレンス見落としてた
ありがとう
429名無しさん@お腹いっぱい。:2007/09/16(日) 01:00:03 ID:nU+AqBNG0
>>424
おれこれと同じ感じで書いていて普通にそれぞれ判別されて使えてるんだけど
それって変なことなの?
430429:2007/09/16(日) 02:07:56 ID:nU+AqBNG0
後で気付いたけど>>424って複数のwindowに同じキー割り当てなどをするって意味か。
>>429
は早とちりした勘違いです。変なこと書いてしまって失礼しました。
431名無しさん@お腹いっぱい。:2007/09/17(月) 18:00:48 ID:BfO/EJdt0
秀丸に Send をしようとすると、先頭が数文字(やるたびに違う)抜けてしまうのですが;
どうやって回避できるでしょうか?
432名無しさん@お腹いっぱい。:2007/09/17(月) 18:33:38 ID:Et4BPFhd0
別に抜けないけど?
環境書くとかソース晒すとかしてみたら?
433名無しさん@お腹いっぱい。:2007/09/18(火) 00:47:04 ID:mJTSMkGg0
最近AutoHotKey使いはじめた者です。
見よう見まねで書いてみて、一応やりたいことは動作しているのですが、
このようにErrorLevelに書き込まれる値が頻繁に書き換えられるというような
書き方はマズイでしょうか?
それとLoopは一区切りごとにいったん{}を閉じたほうが良いのでしょうか?

Process,Exist,inkscape.exe
If ErrorLevel<>0
  WinActivate,ahk_pid %ErrorLevel%
else{
  EnvSet,PATH,%PATH%
  Run,inkscape.exe --ignore-wintab, C:\Inkscape
  ;WinWait,ahk_class gdkWindowToplevel
}
ErrorLevel=
Loop{
  Sleep, 100
  Process,Exist,UWSC.exe
  If ErrorLevel<>0
  {
    Suspend, On
    Process,WaitClose,UWSC.exe
    Sleep, 40
    Suspend, Off
  }
  GetKeyState, kb1, RCtrl, P
  if (kb1=="D")
434433続きです:2007/09/18(火) 00:47:54 ID:mJTSMkGg0
  {
    SetTitleMatchMode,2
    IfWinActive, Layers (Shift+Ctrl+L)
      WinActivate, Inkscape
    GetKeyState, kb1, RCtrl, P
    GetKeyState, kb2, a, P
    if ((kb1=="D") && (kb2=="D"))
    {
      SendMode Input
      Send, {F1}>^a
      Sleep, 40
      ;break
    }
  }
  Process,Exist,inkscape.exe
  If ErrorLevel=0
    ExitApp
}
Return

#IfWinActive ahk_class gdkWindowToplevel
  Space::MButton
  ;中略
  Pause::Suspend, Toggle
Return
#IfWinActive
  <#q::Reload
;Return
435名無しさん@お腹いっぱい。:2007/09/18(火) 12:33:59 ID:yOKNqXRR0
ErrorLevelに何が格納されているのかきちんと把握して使ってる分には別にまずかないと思うけど。

Process系コマンドよりも Win系コマンドを使うほうが一般的かなぁとは思うが。
436名無しさん@お腹いっぱい。:2007/09/18(火) 23:58:31 ID:bdVXp4280
パスワードがわかんなくなったのであちこち参考にして作ってみた。
便利。ってかパスワードはメモしとけ、俺。

; Unveil Password
適当に::
ControlGetFocus,Vctrl,A
ControlGet Vhnd,Hwnd,,%Vctrl%,A
PostMessage,0x00CC,0,0,%Vctrl%,A ; EM_SETPASSWORDCHAR
DllCall("InvalidateRect",UInt,Vhnd,UInt,0,UInt,1)
return
437名無しさん@お腹いっぱい。:2007/09/19(水) 01:47:36 ID:D+nRHSRr0
>>436
滅多に使わないだろうけど面白い。ナイスAHK。
438名無しさん@お腹いっぱい。:2007/09/24(月) 15:58:01 ID:MCdKVtUx0
プロセスIDでウィンドウを指定したいのですが、うまくいきません。
Run, explorer,,,pid
WinWait,ahk_pid %pid%
WinMove,ahk_pid %pid%,,0,0
エクスプローラを起動して画面の左上に移動したいのですが・・・
439名無しさん@お腹いっぱい。:2007/09/24(月) 20:23:39 ID:msqaVreC0
エクスプローラの常駐プロセスは一つしかないんじゃ
440名無しさん@お腹いっぱい。:2007/09/24(月) 21:22:31 ID:WKVLbE0O0
pidじゃなくて Ahk_classで指定したら?
CabinetWClass もしくは ExploreWClass で拾えると思うけど。
441名無しさん@お腹いっぱい。:2007/09/25(火) 00:55:28 ID:gLWjL8J/0
#エクスプローラのプロセスが1つということは確認し納得しました。
エクスプローラを4つ起動して、昔のファイルマネージャみたいに使いたいと思ってます。
この場合、各エクスプローラを区別して制御するには、どうしたらよいですか?
Ahk_classを使用した場合、4つとも同じExploreWClassですよね。
WinGetでハンドルを取得しようとした場合も、WinTitleに何かしら4つのエクスプローラを
区別した情報を指定しないといけないので…。こんなとき、どんな方法がありますか?
442名無しさん@お腹いっぱい。:2007/09/25(火) 01:12:39 ID:tCzdCECg0
どういう風にエクスプローラーを起動させるかにもよるけど
もし引数渡しで異なるパスを開いているのであればAHK_IDかな〜
新規窓起動直後に取得してあとは使い回すとか
443名無しさん@お腹いっぱい。:2007/09/25(火) 14:17:32 ID:SeDoL2rQ0
エクスプローラの場合、タイトル=パスだからパス指定して起動すればいけそうな気はするんだが
AHKのWinTitleって大文字小文字区別するから意外とめんどい。
SetTitleMatchMode,RegEx でうまい事やればいけるのかもしれんが。

パス指定しないとこんな感じか

Run, explorer %FolderPath%
WinWaitActive,ack_class ExploreWClass,,0.5
WinGet,whd,ID,A
WinMove,ahk_id %whd%,,0,0
444名無しさん@お腹いっぱい。:2007/09/25(火) 14:19:31 ID:SeDoL2rQ0
×Run, explorer %FolderPath%
○Run, explorer
445名無しさん@お腹いっぱい。:2007/09/25(火) 21:52:04 ID:WyBwS75G0
期待していた動作になりました。ありがとうございます。

ただ、WinWaitActiveの動作(3つめの引数)に疑問があります。
WinWaitActive,ack_class ExploreWClass,,0.5
⇒WinWaitActive,ack_class ExploreWClass,,5
3つめの引数を0.5から5に変更した場合、5秒経過後につぎの処理に進むようです。
これはなぜでしょう?

>条件に一致するウィンドウがアクティブになると、そのウィンドウが
>LastFoundWindowとして記憶され、スクリプトはすぐに次の処理に移る。
っとリファレンスでは、条件に一致したら、すぐに次の処理に移ると記述があります。

3つめの引数を0.5から5に変更した場合、
5秒後につぎに進むということは、5秒間のあいだは条件に一致していないということですよね。
しかし、5秒たてば、目的のウィンドウ(ack_class)がLastFoundWindowとして記憶されている。っという動作に疑問があります。

WinWaitActiveは、最大待ち時間が経過したタイミングで何かアクション(動作)するのでしょうか?
446443:2007/09/26(水) 00:47:51 ID:NWQizOKM0
ahk_classのつづりが間違ってて、タイムアウトするまで待ってるんだわ orz

×WinWaitActive,ack_class ExploreWClass,,5
○WinWaitActive,ahk_class ExploreWClass,,5

その次の行では、A指定してるのでLastFoundWindowは関係ない

もうひとつ言うと、エクスプローラからホットキーなどで別のエクスプローラ起動するような使い方だと誤動作すると思う
"エクスプローラがアクティブになるまで"って条件なので旧ウィンドウと新規ウィンドウの区別できないから
447名無しさん@お腹いっぱい。:2007/09/26(水) 22:48:31 ID:lPW8d/wN0
気づきませんでした。ack_class⇒ahk_class ですね。
ありがとうございます。

新旧のウィンドウの区別は保留し、とりあえず
4つエクスプローラをタイル状に起動できるようになりました。
で、画面右上のウィンドウで、他のウィンドウも制御できるように
右上のウィンドウにだけ最小化/閉じるボタンを表示し、無限Loop
で右上のウィンドウの状態を監視するようにしました。

この仕様の場合、タスクバー上には、右上のウィンドウのアイコンだけ
あればよいため、他のタスクバー上のアイコンを非表示とするように
ウィンドウのスタイルを変更したのですが、また自己解決できずにいます。

Q.
タスクバー上のアイコンを非表示にする場合、WS_EX_APPWINDOW、
WS_EX_TOOLWINDOWの設定だけでは動作しないのでしょうか?

wstyle:=DllCall("GetWindowLong",UInt,whd1,Int,-20)
;WS_EX_APPWINDOWを引く
EnvSub,wstyle ,262144
;WS_EX_TOOLWINDOWを足す
EnvAdd,wstyle ,128
DllCall("SetWindowLong",UInt,whd1,Int,-20,Int,wstyle)
DllCall("SetWindowLong",UInt,whd3,Int,-20,Int,wstyle)
DllCall("SetWindowLong",UInt,whd4,Int,-20,Int,wstyle)

AutoHotKeyの場合、ウィンドウスタイルの指定は、どのようにしますか?
#ウィンドウスタイルの指定で足し算・引き算するのは一般的でしょうか…
448名無しさん@お腹いっぱい。:2007/09/27(木) 00:47:57 ID:bIXMXRvX0
一部自己解決できました。以下のように、一度ウィンドウを非表示にすると
次回表示したときにタスクバーから消えました。

wstyle:=DllCall("GetWindowLong",UInt,whd1,Int,-20)
;WS_EX_TOOLWINDOWを足す
EnvAdd,wstyle ,128

;ウィンドを非表示にする
WinHide ahk_id %whd1%
DllCall("SetWindowLong",UInt,whd1,Int,-20,Int,wstyle)
;ウィンドを表示にする
WinShow ahk_id %whd1%
  ・
  ・
  ・

不要なタスクバーのアイコン(ボタン?)が、デスクトップの下に
出現するようになりましたが。
449名無しさん@お腹いっぱい。:2007/09/28(金) 11:30:44 ID:Rom7S8F+0
450名無しさん@お腹いっぱい。:2007/09/28(金) 12:18:57 ID:cfD+w6HT0
>>449
え、まださわりしか見てないけど神降臨したのかこれ?
ちょっと後で詳しく見てみなければ。

これ各対応キーに記述する必要があるなら
最終的に恐ろしく長いスクリプトになりそうな気がするがw
451名無しさん@お腹いっぱい。:2007/09/28(金) 12:31:33 ID:sXIFfg8E0
控えめなぬるたんGJ
452名無しさん@お腹いっぱい。:2007/09/28(金) 18:05:43 ID:zwQCLiM90
Alpsドライバの方でも対応できないかな。
453名無しさん@お腹いっぱい。:2007/09/29(土) 01:01:30 ID:P0vTxDUh0
実機があればね
454名無しさん@お腹いっぱい。:2007/09/30(日) 01:00:19 ID:TpEVAV7R0
>>449
7年8ヶ月ROMってろ
455名無しさん@お腹いっぱい。:2007/09/30(日) 17:16:12 ID:d/1QwGCn0
とりあえず、>>449のスクリプトで、

例として、「タッチパッドに触れながら「j」を押すことで左クリックになる」、
のスクリプトはどう書けるんだろ?

他にも、タッチパッドに触れながら、更に@キーを押しながら「j」を押したときには
「←」キーを送る、のスクリプトとかも可能なのかな?
456名無しさん@お腹いっぱい。:2007/10/02(火) 11:37:59 ID:pdsk4I0A0
教えて君しねよ
457名無しさん@お腹いっぱい。:2007/10/02(火) 17:25:11 ID:cbwY6Rdf0
とあるゲームでPauseキーを頻繁に使うのでマウスに割り当てようと思ったんですが

#IfWinActive ahk_class HoI 2
XButton1::Pause
#IfWinActive

みたいに記述すると、マウスキーを押す毎にAuteHotKeyそのものがサスペンドされるようです
これって原因何でしょうか、何か記述方法を勘違いしてるんでしょうか・・・
458名無しさん@お腹いっぱい。:2007/10/02(火) 17:25:52 ID:cbwY6Rdf0
あ、サスペンドじゃなくてポーズでした
459名無しさん@お腹いっぱい。:2007/10/02(火) 18:09:50 ID:cbwY6Rdf0
自己解決しました、初歩的な質問だったようで申し訳ない
Pauseコマンドと混同されてた訳ですね

#IfWinActive ahk_class HoI 2
XButton1::Send,{PAUSE}
#IfWinActive

で無事Pause入力できました、スレ汚し失礼
460名無しさん@お腹いっぱい。:2007/10/03(水) 00:41:30 ID:neTiPbdP0
多機能で自由度があるのは認めるが、しかし、
ただの出来の悪いスクリプト言語ってことにもなりかねんな

クソみたいに使いづらいスクリプト言語に、キーをフックするライブラリをつけたようなもんだ
作者も頭悪いな なんでこんなもん作ったんだろ
461名無しさん@お腹いっぱい。:2007/10/03(水) 00:47:22 ID:4ehTS5G70
マジレスるのもためらわれるアホさ加減だな。
462名無しさん@お腹いっぱい。:2007/10/03(水) 00:51:13 ID:lIeGIDmP0
でも最初から特定のスクリプト言語のサブセットに
キーフックまわり充実させたようなのものみたいに
はっきりコンセプト出して開発して欲しかったな
463名無しさん@お腹いっぱい。:2007/10/03(水) 01:33:25 ID:fq4l2C+Y0
最初は小さかったのかもしれないが、色々と追加していったら膨れあがったという感じなんだろうな。
まぁそれでも単なるキー配列変更程度ならば楽にできるわけで、まぁ別に不満はないけど。
正直そこまでこったスクリプト書いてないし。もともとキー配列変更目的に使い出したしな。
464名無しさん@お腹いっぱい。:2007/10/03(水) 01:48:31 ID:f+Rg4pvK0
autoitというのから分離して当初は互換性があったんだっけ?
そういう歴史的理由も言語仕様に関係してる感じ。よく知らんけど。
465名無しさん@お腹いっぱい。:2007/10/03(水) 04:07:36 ID:f6Zu3EDD0
こんなわけわからんものをよくここまで持ってきたなとは思うよ
きれいな言語じゃないけどもっといいものが出来るかといわれたら考え込む
466名無しさん@お腹いっぱい。:2007/10/03(水) 08:02:31 ID:VBnQaqwA0
素人質問で申し訳ない。
http://lukewarm.s101.xrea.com/myscripts/index.html
のAHK流行らす、の作者が作ったスクリプト、
どうやって実行できるんだ?
Thumbremap実行したいんだけど、
readme読んでたら、唐突に
「ThumbRemap.ahkを実行」
って言葉が出てきたから、謎でしょうがない。ahk拡張子の実行には
何をすればいいんだ?
Autohotkey.exeに関連づけて実行、ってわけでもなさそうだし・・・
467名無しさん@お腹いっぱい。:2007/10/03(水) 08:21:58 ID:OMGDXK/l0
>466

普通にインストールたらAHKって関連付けされなかったっけ?
エクスプローラーでダブルクリックで実行できるよ。
468名無しさん@お腹いっぱい。:2007/10/03(水) 08:40:27 ID:VBnQaqwA0
あ、じゃあインストールの問題かな?
再インストールしてみる。
469名無しさん@お腹いっぱい。:2007/10/03(水) 08:53:03 ID:u97WXfbe0
>>466
関連付けて実行に決まってる。
それ以外、何があるのか謎でしょうがない・
470名無しさん@お腹いっぱい。:2007/10/03(水) 09:18:48 ID:VBnQaqwA0
じゃあ実行できないのはVistaだからか・・・
設定したファイルを説明書通り記入、その後AutoHotKeyで実行したけど、
でも使えない、ってのはそういうことだよな?
もちろんちゃんとSynaptics採用のノートPC、ってことも確認した上で使った。

普通のリマップだとかホットキーは使えるけどな。

すげぇ使いたかったのに残念。
471名無しさん@お腹いっぱい。:2007/10/03(水) 12:26:31 ID:CnxB0R/l0
言語としては、けっこう悲惨だわな
誰かAHK吐く "高級言語コンパイラ" 作ってよw
472名無しさん@お腹いっぱい。:2007/10/03(水) 13:20:44 ID:dggotyoJ0
>>470
ThumbRemap.ahkをメモ帳とかのエディタで開いて、先頭に書いてある注意書きは読んだ?
473名無しさん@お腹いっぱい。:2007/10/03(水) 14:25:16 ID:HgNGPhm50
いまだに構文に馴染めない
474名無しさん@お腹いっぱい。:2007/10/03(水) 14:29:28 ID:HgNGPhm50
>>470
AHKルートディレクトリのAutoHotKey.ini(無いなら作る)の中に
#include ThumbRemap.ahk
って書いて実行すりゃいいんじゃねーの
.ahkファイルはルートディレクトリにおいておけよ
475名無しさん@お腹いっぱい。:2007/10/03(水) 15:05:57 ID:neTiPbdP0
ねこぽいっていうソフトと同じことさせるスクリプト書こうとしたけど、
めんどくさくてやってらんねw

ねこぽいでいいや
476名無しさん@お腹いっぱい。:2007/10/03(水) 15:29:12 ID:HgNGPhm50
宣伝乙
477名無しさん@お腹いっぱい。:2007/10/03(水) 16:38:29 ID:FW0KyEYM0
これしか知らんからウンコさ加減もよく分からん
478名無しさん@お腹いっぱい。:2007/10/03(水) 16:41:53 ID:f6Zu3EDD0
命令が引数に値をとるのか変数名をとるのかわからん
479名無しさん@お腹いっぱい。:2007/10/03(水) 16:55:34 ID:VBnQaqwA0
レスさんくす
>>472
使いたい方のコメントを消す、とかだよな?
もちろん読んだし、PCで使われているタッチパッドの方のコメント消して選択した。

>>474
AHKルートディレクトリってのは、AutoHotKey.ahkがあるほう?
(マイドキュメントに入ってるようだ)
それとも、AutoHotKey.exeがあるほう?
(AutoHotkey104704とかのバージョン情報つきフォルダ)
さらにAutoHotKeyっていうフォルダでもコピペで試してみた。

まぁ、どれであろうとできないな。
あと、;4の後の、リマップ、ホットキー定義の記述、ってとこで
なんらかのリマップやホットキーを記述すると普通に動いてる。
やっぱThumbRemapだけが動いていないってことみたいだ。
Vistaだから動かないんだなと思ってるけど、Vista用の書き方?
みたいにすれば多分動くのかも知れん。

#Include %A_ScriptDir%\Thumb_Synaptics.ahk
;2.タッチパッドに触れているときのみ有効化したいリマップを列挙
Thumb_Remap =(
u::LButton
o::RButton
)
;3.タッチパッドに触れているときのみ有効化したいホットキーを列挙
Thumb_Hotkey =
(
)
;初期処理
Thumb_Init()
;4.リマップ/ホットキーの定義を記述
480名無しさん@お腹いっぱい。:2007/10/03(水) 17:01:33 ID:u97WXfbe0
なんだ、こいつは
481名無しさん@お腹いっぱい。:2007/10/03(水) 17:33:49 ID:hoH5rp2m0
Thumbsenseは動くの?
482名無しさん@お腹いっぱい。:2007/10/03(水) 17:39:56 ID:VBnQaqwA0
>>481
もちろん動くぜ。
483名無しさん@お腹いっぱい。:2007/10/03(水) 18:15:20 ID:neTiPbdP0
こんなクソスクリプトでキーカスタマイズするくらいなら
普通にC++で常駐ソフト作ったほうがはるかに楽な罠
484名無しさん@お腹いっぱい。:2007/10/03(水) 20:00:13 ID:+IWW5/DD0
で、この頭の不自由な子は何が言いたいの?
485名無しさん@お腹いっぱい。:2007/10/03(水) 20:03:42 ID:DgaDiDt20
>>484
ねこぽいもどきをC++で書いちゃったぜ!
じゃないかな。
486名無しさん@お腹いっぱい。:2007/10/03(水) 22:38:14 ID:VBnQaqwA0
自分の文章見直したら、恐ろしくわかりにくかった。

とりあえず、結論から言うと、
ThumbRemap.ahkの、自分のPCのタッチパッド(実はAlpsだったようだ)
のドライバのほうのコメント部分(;)を消して有効化し、
それをそのまま初期状態で保存して、実行すると、
タッチパッドに触れなくてもリマップが有効になっている、
(どんなときでも「j」を押したら左クリックだし、「l」を押したら右クリック)
とそういうことらしい。どういう風に書けばいいんだろう?
487名無しさん@お腹いっぱい。:2007/10/03(水) 22:59:22 ID:hoH5rp2m0
100行かそこらのスクリプトくらい自分でデバッグしろ
488名無しさん@お腹いっぱい。:2007/10/04(木) 18:21:43 ID:npyGLoES0
shift+a押しっぱなしでaボタンを連打したいのですが、どうもうまくいきません

「+a::
Send,{a Down}
Sleep, 200
Send,{a Up}
return」

最初はこのようにしてましたが駄目でした。
sleep中に+aを押しっぱなしにしていることが認識されてしまいaの連打が出来ないのかと思い、
「sleep」を外し「Send, a」だけにしてみましたがこれもだめです。

aボタンを押しっぱなしでaを連打とするのが相性悪いのかなと、「+a::」を「q::」だけにしてみましたが失敗。
そこでなんとなく「SetKeyDelay」を足し

「q::
SetKeyDelay, 10, 5
Send, a
return」

にしてみたところ初めて成功しました。
 (SetKeyDelayが必要なのは連打対象のアプリの問題だと思います。)
「q::」を「^q::」にすると失敗で、returnのたびに「Send」コマンドによっておこる
ホットキー(Shift)のフックと言うものがとけてうまくないのだと思い、

「#InstallKeybdHook
^q::
SetKeyDelay, 10, 5
Send, a
return」

と「#InstallKeybdHook」をahkデータの頭に足して見たところ二度目の成功でした。
489名無しさん@お腹いっぱい。:2007/10/04(木) 18:23:47 ID:npyGLoES0

以上をふまえ

「#InstallKeybdHook

^a::
SetKeyDelay, 10, 5
Send, a
return」

としたところ、これはもう無惨に失敗でした。
やけでsleepをつけたり外したりしても駄目です。

どうやら「return」の度に「Shift+a」を押さえてることが認識されてしまうようなのですが、
「#InstallKeybdHook」によってShiftの分は解決するのです。
しかし「aボタン」が解決出来ない。

returnを連打中(押下中)に使わないで作るか、
もしくは#InstallKeybdHookのような設定をみのがしてるのかも知れません。

流行らせるページを分かる範囲で読みましたが、自分ではここまででした。
どなたか解決策を知ってる方いたら教えてください。
490名無しさん@お腹いっぱい。:2007/10/04(木) 18:49:04 ID:fTNMlWWa0
keywait
491名無しさん@お腹いっぱい。:2007/10/05(金) 02:28:11 ID:+yLmUSaM0
一昨日から、AHKを使おうと試行錯誤してます。
HHKで[ ; ' / キーを↑←→↓に入替えるにはどうすればいいのでしょう?
Fnなしでカーソル移動、ありで記号を入力にしたいのです。

Up::[
Down::/
Left::`;
Right::'

[::Send,{Up}
/::Send,{Down}
`;::Send,{Left}
'::Send,{Right}

と書くと、Fnに関係なく常にカーソルキーになってしまいます。
カーソルキーが別にあるキーボードだと簡単に入替えできるようなのですが
どなたか教えていただけないでしょうか
492名無しさん@お腹いっぱい。:2007/10/05(金) 03:00:23 ID:GNC7tDS30
HHKは持ってないからわからんけど、
そういうのはレジストリで入れ替えた方がいいんじゃない?
常駐しなくても済むし。

http://satoshi.web5.jp/f_soft/dw_win.htm
493名無しさん@お腹いっぱい。:2007/10/05(金) 03:08:21 ID:ZWaa12oz0
まずはFnのキーコード調べるところから始めるのかしら
494491:2007/10/05(金) 03:34:50 ID:+yLmUSaM0
>492
やっぱりそうですか。AHKだと
タスクトレイですぐにon/offできるのがうれしいんですが。

>Fnはたぶん単独ではコードを出さないようなんです。

レスありがとうございます。
もうすこし気長にがんばってみます。

495名無しさん@お腹いっぱい。:2007/10/05(金) 04:32:32 ID:9UehXwIc0
あんな訳の分からないキーボードは捨てろ
モバイルノート以外のキーボードにFnキーを付けようとする奴は例外なく死ね
496名無しさん@お腹いっぱい。:2007/10/07(日) 03:27:16 ID:nm9+eh940
>>125のスクリプトの改良について
^[::
Clipboard=「」
Send, ^v{Left}
Return

ime on のとき  ctrl + 「 → 「」の中キャレットフォーカス
ime off のとき  ctrl + [ → [] の中にキャレットフォーカス

このように動作させるにはどうしたらよいでしょうか?
497名無しさん@お腹いっぱい。:2007/10/07(日) 03:37:01 ID:xWub+tRp0
>>496
そんな複雑に考えなくても、
^[:: Send, []{Left}
で良いんじゃないの?
498名無しさん@お腹いっぱい。:2007/10/07(日) 04:02:10 ID:NsGpl4Fc0
半角全角キーを2回押せば、IME入力中なら変換せず確定するということができる
499名無しさん@お腹いっぱい。:2007/10/07(日) 15:04:49 ID:OQHpOHU/0
>>496
HDD漁ったら昔作った Functionがあったんで貼っとく

;-----------------------------------------------------------
; IMEの状態の取得
; WinTitle : 対象Window (省略時:アクティブウィンドウ)
; 戻り値 1:ON 0:OFF
;-----------------------------------------------------------
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}
500名無しさん@お腹いっぱい。:2007/10/07(日) 15:06:19 ID:OQHpOHU/0
コピペミス、関数名が抜けとったスマソ

IME_GET(WinTitle="")
;-----------------------------------------------------------
; IMEの状態の取得
; WinTitle : 対象Window (省略時:アクティブウィンドウ)
; 戻り値 1:ON 0:OFF
;-----------------------------------------------------------
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

;Message : WM_IME_CONTROL wParam:IMC_GETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}
501名無しさん@お腹いっぱい。:2007/10/07(日) 20:37:44 ID:0W2A46iC0
自分も「なまずIME」のIME状態取得部分を拝借して、
>>500氏と同じような関数を作って、

j::
If IME_GET()=0
Send, {Down}
Else
Send, j
Return

k::
If IME_GET()=0
Send, {Up}
Else
Send, k
Return

↑みたいに書いて、IMEのON、OFFで他のアプリもviライクに使えるようにしてます。

ただ、500氏のコードをコピペして試してみたら、戻り値が1の時に良く分かんない
エラーが出たっす。これ何のエラーなんだろ…(´・ω・`)

71 hotkeys have been received in that last 1110ms.

Do you want to continue?
(see #MaxHotkeyPerInterval in the help file)
502名無しさん@お腹いっぱい。:2007/10/07(日) 20:54:53 ID:xWub+tRp0
>>501
$j:: のようにすれば直ると思う。
Send, jでAHKが発生させたキーイベントに反応して、マイクのハウリング現象みたいなことが起こってる。

エラーメッセージの意味は、直前の1秒くらいでなんかものすごい勢いでキーが押されてるけど大丈夫?スクリプト止める?
ってな感じ。大概はこういうスクリプトの暴走状態で出るけど、ホイールスクロールをホットキーにしてたりすると、
勢い良くホイールを回したときにも出てしまったりする。
503501:2007/10/07(日) 21:05:13 ID:0W2A46iC0
>>502
なんて速いレス…、解決です。ありがとうございます!
504名無しさん@お腹いっぱい。:2007/10/09(火) 20:19:42 ID:QXUEMv9q0
1、 !vk1Dsc07B::!f4   ; alt 無変換 → 閉じる
2、 ~LButton & RButton::WinClose A
3、 ~LButton & RButton::!f4

AHKを導入して、「閉じる」操作を割り当ててみたのですが、
3、のスクリプトだけうまく動作しません。

なぜうまく機能しないのか教えてもらえないでしょうか?
505名無しさん@お腹いっぱい。:2007/10/09(火) 21:06:46 ID:tVOno9/E0
折り目正しく?
Send, {ALTDOWN}{F4}{ALTUP}
と書いてみたらどうだろう
506名無しさん@お腹いっぱい。:2007/10/10(水) 00:21:43 ID:KbL0UTuR0
AltはUpDownせんでも ! でええじゃろ
F4に { }が付いてないのが問題
507名無しさん@お腹いっぱい。:2007/10/10(水) 00:25:36 ID:KbL0UTuR0
ごめんウソ書いたかも
remapの動作はよくわかんないわ
508名無しさん@お腹いっぱい。:2007/10/10(水) 01:19:08 ID:ejM0T2Mo0
穴が開くほどスクリプト眺めてみたが、どこがおかしいのかまったくわからん!
だれかThumbRemapちゃんと動いてる奴いるか?

どういう書き方してるか是非教えて欲しい。

知り合いからXpのSynapticsタッチパッドのノートPC借りたが、
これでも動かない。ということはALPSはダメでSynapticsはできるというわけでも無さそう。

(詳細な確認はしなかったが、基本は何も書き換えずデフォルトで
該当タッチパッドコメントアウトした状態で使った)

Thumbsenseのほうは動くしOSの問題でもなさそうだ。
いったい何が原因なんだろうか。
509名無しさん@お腹いっぱい。:2007/10/10(水) 01:30:40 ID:G66LASUF0
>>508
ときどきドラッグして文字列を選択したときとかにキーを離してもキーアップが発生しないことがあるけど、
それ以外はおおむね希望通りの動作。設定を書き換えてRunなどを割り当てるのもうまく動いている。
ThumbSenseのキーフックや、自分で書いたスクリプトと競合しているとかないの?
ThumbSenseをスタートアップから外して再起動→AlpsドライバならApoint.exeが起動しているか確認する
→ThumbRemapの該当コメントを外す→ThumbRemapを起動する
これでダメなら判らん。
510名無しさん@お腹いっぱい。:2007/10/10(水) 01:54:50 ID:ejM0T2Mo0
>>509
うお、言われたとおりやってThumbRemap.ahkのみを起動したらできた!
サンクス

てかそもそも俺、他のスクリプトと一緒に、AutoHotKey.iniに
#include ThumbRemap.ahk
って書いて、他のと一緒に使ってるんだけど、これだと動作しないらしい。
(読み込めないんじゃなく、リマップの部分だけが生きてて、常に普通のリマップ状態)

それぞれのスクリプトを別で全部実行した場合は、ちゃんと機能するから
スクリプトが衝突してるというわけでもないようだ。

逆に、何が悪いのか分からなくなったけど、
とりあえず応急処置として二つ起動で続けてみる、助かったぜ。
511名無しさん@お腹いっぱい。:2007/10/10(水) 04:55:07 ID:voHAyE5x0
#include ThumbRemap.ahk
の前にホットキーラベルがあったりすると初期化処理が読み込まれない
512名無しさん@お腹いっぱい。:2007/10/10(水) 10:11:03 ID:FSheiMK60
> 前にホットキーラベルがあったりすると初期化処理が読み込まれない
この仕様はいい加減に止めてほしいな。
大域変数の初期化も面倒だし。
ホットキーやラベルがあったらreturnまで読み捨てる、ってのじゃダメ?
513名無しさん@お腹いっぱい。:2007/10/10(水) 15:13:15 ID:ejM0T2Mo0
お前らThx

#include ThumbRemap.ahkを一番最初に書いたら
ちゃんと動いたぜ。
514名無しさん@お腹いっぱい。:2007/10/13(土) 01:50:26 ID:Rg1bEx6n0
昨日まではなんともなかったのに
今日からコンパイルするとavastに怒られるようになったんだけど、
俺だけだろうか。
515名無しさん@お腹いっぱい。:2007/10/14(日) 03:18:50 ID:tGnU+5lx0
ここ3-4日かけてThumbremapのホットキー試行と最適化を繰り返してたら
最強の使いやすさになった。
作者神スクリプトをありがとう。
516名無しさん@お腹いっぱい。:2007/10/17(水) 14:06:30 ID:cUQnM+Sh0
AutoHotKey ってUWSC等と比べて現時点ではどれ位使い物になるの?
517名無しさん@お腹いっぱい。:2007/10/17(水) 14:48:37 ID:UWrcrXPf0
そんな程度じゃ答えようもない
518名無しさん@お腹いっぱい。:2007/10/17(水) 15:36:36 ID:nNacPo+50
ではまずUWSC等の使い物になり度を説明してくれたまえ
519名無しさん@お腹いっぱい。:2007/10/17(水) 17:22:58 ID:EWyX0Tg10
UWSCの利点

エンコードが便利。ueと連動とか不要。
capslock制御可能。
IMEの制御
日本語解説本あり。

UWSCのデメリット
プロ版が有料 単体で動作させるにはプロ版でexe化する必要がある。
520名無しさん@お腹いっぱい。:2007/10/17(水) 17:39:01 ID:tJrK1zXM0
そいつはマウス2ボタンを同時押しした後、
1ボタンを離しまた別のボタンを押す、といった一連の操作それぞれに
対応して起動する処理を入れることは出来ますか
521名無しさん@お腹いっぱい。:2007/10/17(水) 18:11:09 ID:y5ZKSC6z0
>>520
残念ながら出来ません
522名無しさん@お腹いっぱい。:2007/10/17(水) 19:17:44 ID:IjRB9PLC0
>>519
> UWSCの利点
IE を含めた OLE や COM の制御が楽なのが一番のアドバンテージだと思うけど。
キー配置かえるとか、そういう用途では AHK のほうがはるかに便利。
523名無しさん@お腹いっぱい。:2007/10/17(水) 20:52:28 ID:KOkT03Ew0
要するに目的が違うのでは……
比較するものじゃないような
524名無しさん@お腹いっぱい。:2007/10/17(水) 21:00:47 ID:OvW65liC0
UWSC使ってたけど常駐させる意味が薄いからいらない
単なるスクリプト作動機
525名無しさん@お腹いっぱい。:2007/10/17(水) 22:20:26 ID:uQ5s7gsm0
AutoHotKeyもネトゲとかの狩り?マクロとかくめるらしいけど、
UWSCのほうがやりやすくて高機能なのが作れるとか、そういうレベルじゃね?
比較してる人は。
526名無しさん@お腹いっぱい。:2007/10/17(水) 22:35:14 ID:IjRB9PLC0
>>525
君のレベルはわかった
527名無しさん@お腹いっぱい。:2007/10/17(水) 22:36:47 ID:tJrK1zXM0
こういうスレの煽りはネタじゃなくて真性だから嫌だ
528名無しさん@お腹いっぱい。:2007/10/17(水) 23:23:55 ID:kx1GSyku0
自分が使いやすいの使うって話で。
529名無しさん@お腹いっぱい。:2007/10/18(木) 00:00:08 ID:cUQnM+Sh0
>>517-528
UWSCは使ってるけど、AHKは未だ使った事無いのでどうなのかなーと思って質問してみました。
AHKの実用サンプルってUWSCと比べて殆ど見ないので、実際どの程度の事が出来るのか知りたかったもので。

勿論、UWSCにも幾らかの不満が有ります。
正規表現が実装されてないとか、環境変数の値の取得が出来ないとか、3.xで出来た事が4.xで出来なくなってる
(ソースコードが非公開なので、自分で弄る事も出来ない)とか…

JScript や、ActivePerl 等で利用出来る、画像の位置をサーチしたりマウス操作やキー入力を操作が出来る
モジュールが有れば用が足りそうなのですが…
530名無しさん@お腹いっぱい。:2007/10/18(木) 00:28:03 ID:IZ1KPygF0
わざわざ乗り換える必要なし
531名無しさん@お腹いっぱい。:2007/10/18(木) 00:52:03 ID:Ek0hb0vC0
>>529
で、回答もらって知りたい事はわかったの?

どの程度の事が出来るのか、って言われても、
殆どの人が困ると思うんだが。

AHKの実用サンプルってのが何をさすか知らんが、
スクリプト自体はいくらでも公開されてるよ。

532名無しさん@お腹いっぱい。:2007/10/18(木) 03:28:07 ID:lANfUSPG0
実用サンプルって要するに「俺のやりたい自動処理を誰かが既に作って公開しているといいな〜」ってことだろ
533名無しさん@お腹いっぱい。:2007/10/18(木) 06:36:12 ID:Ocu0rFsm0
UWSCって知らんけどAHKは軽いのが魅力に感じるなぁ
マウスのサイドボタンとかに機能割り当てるならやっぱコレじゃね

逆に複雑な自動操作には向いてない印象なんだが、やったことねーんでなんとも
534名無しさん@お腹いっぱい。:2007/10/18(木) 08:41:26 ID:z1eDF73r0
比較して迷ってる暇があったら使い慣れていったほうが早い
535名無しさん@お腹いっぱい。:2007/10/18(木) 10:48:28 ID:YxgPrvUq0
AHKはキーボードやマウスをカスタマイズするのに使うもんだろ
536名無しさん@お腹いっぱい。:2007/10/18(木) 20:09:43 ID:CAxJ+SA40
Fnキーにマッピングしたいのですが、Installkeyhookのhistoryに記録されないキーはAHKでは制御できないのでしょうか?
537名無しさん@お腹いっぱい。:2007/10/18(木) 20:17:41 ID:NLj7moSz0
>>536
Fnキー(F1〜F12じゃないよね?)はキーボード内部やBIOSレベルでの変更が必要なので無理。
中には機種専用ツールがあったりするけど、一般的に使えるソフトは存在しないはず。
538名無しさん@お腹いっぱい。:2007/10/18(木) 20:38:50 ID:CAxJ+SA40
>>537
やっぱ無理か…即レスdクス。
539名無しさん@お腹いっぱい。:2007/10/20(土) 12:04:53 ID:WOANx8YP0
最近AHKを知り、便利に使わせていただいてます。
さて、質問なのですがあるプログラムにホットキー割り当てをして
常駐しているスクリプトを、対象のプログラムが終了したら自動で
終了させることは可能でしょうか?
スクリプト自身の後ろのステップでLOOPして対象プログラムの終了
監視をしてもだめですし、別のスクリプトで監視するとスクリプトが
2本走ることになってしまいます。
スクリプトが自分自身で完結するような書き方あるでしょうか?
540名無しさん@お腹いっぱい。:2007/10/20(土) 12:16:37 ID:X0gSkTm70
#IfWinActiveで対象のプログラムだけに
ホットキーを割り当てるのじゃだめなの
541名無しさん@お腹いっぱい。:2007/10/20(土) 12:47:55 ID:WOANx8YP0
>>540
もちろんそうしてます。

こんなスクリプトAでBeckyとそれをホットキーする常駐スクリプトBを起動
run "C:\Program Files\Becky2\B2.exe"
run "C:\Program Files\AutoHotkey\Extras\Scripts\スクリプトB.ahk"

Beckyを終了させると、スクリプトBだけ残ってしまうので、
次回また上のスクリプトAを起動すると
「スクリプトBのインスタンスが残っているけど上書きしますか?」
というメッセージが出て煩わしいのです。

できればスクリプトBの側で、Becky が終了したら自動で自分も終了するような
書き方ができないかなと思ったしだいです。
542名無しさん@お腹いっぱい。:2007/10/20(土) 12:54:04 ID:X0gSkTm70
常に常駐しているスクリプトにBecky用のホットキーを書いたらだめなの?
543名無しさん@お腹いっぱい。:2007/10/20(土) 12:54:22 ID:KnERfVSN0
>>541
直接の解決方法ではないけど。
#SingleInstance
ttp://lukewarm.s101.xrea.com/commands/_SingleInstance.html
544名無しさん@お腹いっぱい。:2007/10/20(土) 13:07:29 ID:urDNcbei0
>>541
winwaitclose
マニュアルくらい嫁よ
545541:2007/10/20(土) 13:43:17 ID:WOANx8YP0
>>543
これいいですね、使わせていただきます。

>>544
ホットキーと同時使用できるんでしょうか?
最初、ホットキー記述の後ろにLOOPでこれを書いたんですが
使い方が悪いのかうまくできませんでした。
546名無しさん@お腹いっぱい。:2007/10/20(土) 13:55:49 ID:urDNcbei0
>>545
> ホットキーと同時使用できるんでしょうか?
> 最初、ホットキー記述の後ろにLOOPでこれを書いたんですが
> 使い方が悪いのかうまくできませんでした。
何でホットキーの後にかくの?
B が Becky 起動させて終了するの待つだけでしょ?
winwaitclose か runwait のあとに exitapp でいいじゃん。
547名無しさん@お腹いっぱい。:2007/10/20(土) 16:14:33 ID:E0hFrWvy0
スクリプトBの中でベキ専用ホットキー & 終了監視を入れたいってことだよね?
LoopじゃなくてSetTimerで定期的にベキがいなくなったかどうかチェックしたらいいんじゃね?

あと、スクリプトAは常駐しないですぐ終了するの? だったらBのAutoExecute領域で

run "C:\Program Files\Becky2\B2.exe"
return

ってすれば、スクリプトは一個で済むんじゃね?
548名無しさん@お腹いっぱい。:2007/10/20(土) 19:04:15 ID:WOANx8YP0
ちょっと外出してたらこんなレスが・・・・

>>546-547
やっとわかりました。私がアホでした・・・orz
お二方のおっしゃる通り、スクリプト1個でスマートにBeckyの起動と終了監視、
ホットキーまで操作できることがわかりました。

こんな感じですね。
runwait "C:\Program Files\Becky2\B2.exe"
exitapp
#IfWinActive ahk_class Becky2MainFrame
MButton::Send,!m,l,y
#IfWinActive

ありがとうございました。
549名無しさん@お腹いっぱい。:2007/10/22(月) 18:56:12 ID:beQZI8wH0
スイッチを作ろうとして

Aというボタンを一回目に押したら(=スイッチon)αという動作をするようになる
Aというボタンを二回目に押したら(=スイッチoff)βという動作をするようになる
以下繰り返し

ということをしたいのですが
どうもスイッチでなく0と1だけ使った変数になってしまい
長く煩雑になってしまいます

onとoffだけでいいので簡単に書く方法ありますか
550名無しさん@お腹いっぱい。:2007/10/22(月) 19:52:41 ID:ZnJwDzgT0
「onとoffだけ」ってこういうことをして条件分岐するの?
 Ifinstring, Switch, ON, Setenv, Switch, OFF
 else Ifinstring, Switch, OFF, setenv, Switch, ON
 else Setenv, Switch, ON
変数は0と1の方が書きやすいとは思うが…
551名無しさん@お腹いっぱい。:2007/10/22(月) 20:05:49 ID:kRrYsv+Q0
>>549
flag := flag ? 0 : 1
552名無しさん@お腹いっぱい。:2007/10/22(月) 20:09:54 ID:R9Mr1voU0
false = 0
true = ~false = -1
だろうやっぱり。
553名無しさん@お腹いっぱい。:2007/10/22(月) 20:47:20 ID:ZKxjrr9K0
フラグをトグルにするための更新判定が繁雑ってことかな

更新は、flag = ~flag
で、判定は最終ビットだけ見るとか

if (flag && 0x0001) {
goto,SwichON }
else {
goto,SwichOFF }
554名無しさん@お腹いっぱい。:2007/10/22(月) 20:54:22 ID:ZKxjrr9K0
>>552
Trueが1ではなく -1なのって、False(0)の全ビット反転だからなのか。
VB暦は結構長いんだけど、今始めて気がついたわ
555名無しさん@お腹いっぱい。:2007/10/22(月) 21:27:57 ID:M6aKigNV0
flag=1

A::
If flag=1
XXXXX
Else
XXXXX
flag=flag*-1
Return

こんなんじゃダメ?
556名無しさん@お腹いっぱい。:2007/10/22(月) 21:55:20 ID:xfn8a7zf0
AutoHotkey使ってエクスプローラーを指定したサイズで起動する方法ってありませんか?

LoopとWinWaitとか使って監視しようかとも思いましたが起動したときのみという判定が難しいです
557名無しさん@お腹いっぱい。:2007/10/22(月) 22:08:02 ID:R9Mr1voU0
>>556
1.現在の explorer.exe の pid か hwnd をすべて取得して
配列かリストに保存。
2. 1 を適当な時間でポーリング
3.変化があったら変化があった hwnd だけ winmove

でどう?
そういえば ahk はリストとかハッシュが実装されて無いね。
558名無しさん@お腹いっぱい。:2007/10/22(月) 22:50:37 ID:ZKxjrr9K0
>>556
>438-447

質問前に100レス前くらいは遡って読みましょう
559556:2007/10/23(火) 00:57:04 ID:C4Dxb34U0
>>557
WinGet,,Listで100msごとにウィンドウ配列取得して前の配列になければWinMove
これでいけました
ありがとうございます

>>558
失礼いたしました
今後は気をつけます



今回はLoopで無理やりやったのですが
配列に値が存在するかどうかスマートに判断する方法ってありませんか?
560名無しさん@お腹いっぱい。:2007/10/23(火) 08:08:46 ID:n5ZgdZyR0
>>559
> 配列に値が存在するかどうかスマートに判断する方法ってありませんか?
無いから、リストとかハッシュとかイテレータとか実装してくれると大変助かる。
561名無しさん@お腹いっぱい。:2007/10/23(火) 09:41:56 ID:yNWS5b5p0
Run,http://www.google.com/search?q=%Clipboard%
↑でクリップボードから検索しているのですが、
http://www.live.com/のサイトで検索したく
http://search.live.com/results.aspx?q=
↑でやっているんですが、文字化けします。
yahooでも文字化けするんですが、
どうやったら文字化けが無くなるんでしょうか?
562名無しさん@お腹いっぱい。:2007/10/23(火) 10:01:52 ID:n5ZgdZyR0
>>561
urlはきちんとurlエンコードしてください
563名無しさん@お腹いっぱい。:2007/10/23(火) 10:55:58 ID:uae44SIt0
564名無しさん@お腹いっぱい。:2007/10/23(火) 12:48:56 ID:53JAye4u0
AutoHotKeyで
ThumbRemapとマウスジェスチャを両方入れたとする。

んでマウスジェスチャの一つとして、右クリ+←をまぁ適当に「更新(F4)」
に割り当てたとする。

次にThumbRemapでLに右クリを設定したとする。

タッチパッド上に触れながらL押して左に指なぞったときに
ちゃんとマウスジェスチャのほうを認知させるようにしたい場合、
どう書き換えればいいかな?
(今の状態だと、Lを離したときに通常の右クリが発動するだけ)

もちろんThumbRemapでのホットキーを増やせば解決できるのはわかってるが、
いろいろな方法を用意しておきたいと思ってな。
565名無しさん@お腹いっぱい。:2007/10/23(火) 12:56:00 ID:Ig+mw1sJ0
MG_TriggerDown/Up
566名無しさん@お腹いっぱい。:2007/10/24(水) 19:16:25 ID:9a9f8UyA0
マウスカーソルの状態を取得できる方法ってないですか?
567名無しさん@お腹いっぱい。:2007/10/24(水) 20:25:05 ID:EcqMC+Se0
A_Cursor 現在のマウスカーソルの種類
568名無しさん@お腹いっぱい。:2007/10/25(木) 17:47:37 ID:KxJoRAzj0
AHKからEXCELファイルを開きたいのですが、
管理人さんのMy ScriptsページのActiveX操作サンプルや
WEBのそれらしきページを参考に書いてみましたがうまくいきません。
EXCELは立ち上がるのですが、ファイルが開けません。
どこか勘違いしてるでしょうか?

#include *i %A_ScriptDir%\ActiveX.ahk
ActiveX()
ObjExcel:=CreateObject("Excel.Application")
pp(ObjExcel,"Visible","true")
Inv(Inv(ObjExcel, "Workbooks"), "Open", "C:\Hoge.xls")

;EXCELインスタンスが立ち上がりっぱなしになるのでここでリリース
sleep 5000
Release(ObjExcel)
569名無しさん@お腹いっぱい。:2007/10/27(土) 11:55:17 ID:jCkP2WXL0
>>567
ありがとうございました。
コマンドばかり見てたので組み込み変数のほうは全く見てませんでした。
570名無しさん@お腹いっぱい。:2007/10/27(土) 14:47:45 ID:RjXdUIJ10
Run,AAA\BBB.vbs CCC
※AAAはフォルダ名、BBBはVBscriptファイル名、CCCはパラメータ
として、CCCというパラメータを指定してBBBを実行したいのですが、
「指定されたファイルが見つかりません。」とのエラーがでます。
エラーメッセージは下のようになっており、
CCCがパラメータとして認識されていないようです。

Action: <AAA\BBB.vbs CCC>
Params: <>

AAA\BBB.vbsやCCCを""でくくったりしてみましたがだめでした。
どのようにすればパラメータCCCを指定してBBBを実行できるでしょうか。
571名無しさん@お腹いっぱい。:2007/10/27(土) 14:51:50 ID:qXYPNrL50
Pathが通ってないんじゃね?
572名無しさん@お腹いっぱい。:2007/10/27(土) 15:18:17 ID:RjXdUIJ10
>>571ありがとうございます
AAA\BBB.vbsのパスが通っていないということでしょうか?
CCCを削除してRun,AAA\BBB.vbsにすると
パラメータなしでBBB.vbsが実行されるので、
AAA\BBB.vbsのパスは通っていると思うのですが・・
573名無しさん@お腹いっぱい。:2007/10/27(土) 18:02:13 ID:JjlIavqt0
Windowsキーと他のキーの組み合わせ(Win+Rとか)は生かしたまま
Windowsキー単発で押したときだけスタートメニューが出てくるのを無効にする方法はありますか
574568:2007/10/27(土) 18:55:22 ID:1DiNaabz0
あのう・・・
どなたか>>568
おわかりの方いましたらお答えいただけませんでしょうか?

下の3行はあえてやっているので、これのせいで開かないとかいうわけではありません。
この3行を外してもファイルは開けませんので念のため・・・
;EXCELインスタンスが立ち上がりっぱなしになるのでここでリリース
sleep 5000
Release(ObjExcel)

今は仕方ないのでEXCELファイル開く部分だけVBスクリプトで書いて呼び出しています。
575名無しさん@お腹いっぱい。:2007/10/27(土) 22:40:42 ID:feMike230
>>573
LWin::return
LWin & LWin::return
RWin::return
RWin & RWin::return
576名無しさん@お腹いっぱい。:2007/10/28(日) 00:21:04 ID:oCMwpLPC0
>>574
敢えてActiveX使ってる理由がわからんので何とも。
Run使った関連づけ実行じゃあかんのか?
577名無しさん@お腹いっぱい。:2007/10/28(日) 07:04:23 ID:jmlI36md0
>>576
職場内の不特定多数の人に以下の作業をやらせています。
1.EXCELで作ったindex.htmlを開く(開いたデータは各自が手で修正)
2.それをWEBサーバへFTP転送
3.転送後ブラウザで修正結果が正しく表示されるか確認

1〜3をAHKスクリプトで作ってEXE化し、職場内サーバに置いて実行させています。
EXCELファイルの拡張子がxlsでない事、人によってOfficeのインストールドライブや
フォルダが違う事などで、単純にRUNコマンドが使えないのです。

index.htmlをEXCELで作っているのは、表示内容が単純な表データの為と、
1〜3まで自動化してやれば、誰でも簡単にWEBのデータが修正できる為です。
578名無しさん@お腹いっぱい。:2007/10/28(日) 13:57:22 ID:q918e5XH0
>>577
まず最初にEXCELのパスをドライブからLOOP検索して
パスをテキストに保存するようにすれば?
最初にそれを調べてIfNOtExistだったら再検索するとか
579名無しさん@お腹いっぱい。:2007/10/28(日) 14:52:16 ID:q9I1LpJb0
全部表データなら、CSVからhtml生成するのが一番楽だと思うんだが。
580577:2007/10/28(日) 20:13:17 ID:jmlI36md0
>>578
うーん、ドライブ検索だと効率悪そうですね。
レジストリ検索したらいけるのかな?でもあんまり勝手に人のマシン内を探るのもまずそう・・・

>>579
表データなんですけど、一応社外の人に見せるように見栄えをよくするため
タイトル付けたり、セルに色付けたりとかセルの幅とかも調整してるんですよね・・
EXCELなら見たまんまそのレイアウトでWEBページになりますんで。

やっぱり作者さんのActiveXモジュール使ってる人少ないんですかね?
将来的にはAutoHotKey+ActiveXでシート名を取得・変更したり
セルの操作したりとかできるようになりたいんで、もうちょっと頑張ってみます。
581名無しさん@お腹いっぱい。:2007/10/28(日) 20:15:53 ID:B/JvxfHT0
質問ですが、特定のキーを押している間は別のホットキー割り当てに
切り替えるなんて事は出来るでしょうか。
たとえば普段はBを押すとCが表示されるが、
Aを押している間にBを押すとDが表示される、というようなことです。
582名無しさん@お腹いっぱい。:2007/10/28(日) 20:25:01 ID:dLJcnKYR0
出来る。
583名無しさん@お腹いっぱい。:2007/10/28(日) 20:28:28 ID:B/JvxfHT0
ありがとう。
割り当てを切り替えるには特定のキーの状態を
監視して分岐させればいいみたいですね。
584名無しさん@お腹いっぱい。:2007/10/28(日) 20:29:26 ID:+dr9EP66O
>>570
Run
wscript.exe xxxx.vbs param
でどうよ。 cscript.exeでも良いけど。

>>581
>>5
585584:2007/10/28(日) 20:32:06 ID:+dr9EP66O
ん、変なところで改行されてる。
Run
wscr〜な。
586584:2007/10/28(日) 20:35:35 ID:+dr9EP66O
何だimonaの仕様か?カンマが改行になる…
早くDION規制終わってくれ。スレ汚しゴメン。
587570:2007/10/28(日) 21:08:55 ID:q7KA1l9V0
>>584
この方法でうまくいきました。
ありがとうございます!
588名無しさん@お腹いっぱい。:2007/10/28(日) 22:22:47 ID:e5sn/U350
>>581
B::Send,C
A & B::Send,D

こんな感じで良いんじゃね?
589名無しさん@お腹いっぱい。:2007/10/29(月) 01:53:43 ID:sI+1lOgM0
>>575
横d
後学のために知りたいんだけど、LWin & LWin::returnってどういう効果があるの?
590名無しさん@お腹いっぱい。:2007/10/30(火) 13:58:41 ID:Pjuee0l10
AHK Wizardの皆様、おしえてください。
窓使いの憂鬱からAHKへの移行中で、.mayuスクリプトから.ahkスクリプトに書き換えています。
環境はWinXP Pro SP2およびAHK 1.0.47.04を使用しています。

ファンクションキーF1を無効にし、Shift+F1で本来のF1が入力されるようにしたく、
以下のようなスクリプトを書いてみましたが、うまく行きません。

F1:: Return
+F1:: Send {F1}

おそらく1行目でF1を無効にしているので、2行目も無効になっているのだと思うのですが、
どう記述したらよいかわかりません。どなたかご教授いただけませんか。
591名無しさん@お腹いっぱい。:2007/10/30(火) 14:24:51 ID:+l6/VMD20
$
592590:2007/10/30(火) 15:29:38 ID:2bIDrR8e0
>>591
$F1:: Return
+F1:: Send {F1}
としたら期待通りの動作になりました。ありがとうございました。

連投大変失礼いたします。
モディファイヤキー単独押しと、モディファイヤ+その他のキーとで別の動作をさせたいと思い、
下記のようなスクリプトを書いてみました。期待する動作は、右Ctrlでcmd.exeが、
Ctrl+アプリケーションキーでエクスプローラが起動するというものです。

RCtrl:: Run cmd.exe
^AppsKey:: Run explorer.exe

これだと右Ctrlがリピートになってしまい、Ctrl+アプリケーションキーが動作しませんでした。
先程教えていただいた"$RCtrl::"も試してみたのですがダメでした。
問題点は、モディファイヤキーのキーリピートをどのように抑制するか、モディファイヤキーが他のキーと
同時に押された場合にどのように処理するか、の2点です。
みなさん、お教えください。
593590:2007/10/30(火) 15:39:15 ID:2bIDrR8e0
キーリピートは"RCtrl up::"で対処できました。
594名無しさん@お腹いっぱい。:2007/10/31(水) 12:17:50 ID:YI3UICds0
「:」のキーに修飾キーを押しながら何かさせたいんだけどうまくいかないのはなぜ?
VKで指定してもだめだ。
595名無しさん@お腹いっぱい。:2007/10/31(水) 12:37:54 ID:baAICokR0
^;::run,notepad
普通に動いた。
具体的に書かないとわからない。
596名無しさん@お腹いっぱい。:2007/10/31(水) 12:41:46 ID:baAICokR0
あぁ、勘違い。
597名無しさん@お腹いっぱい。:2007/10/31(水) 12:44:33 ID:baAICokR0
^vkBAsc028::run,notepad
でもvkで指定したら動いた。
598名無しさん@お腹いっぱい。:2007/11/01(木) 11:40:07 ID:tl7yf8qt0
>>514 俺はコンパイルで精製されたファイルが、avast先生にtengeだって怒らた

オンラインファイルスキャンしてみれば複数の其れで嫌疑がヽ(`Д´)ノ

ahkを入れ直して最新版にしたら症状なくなった。つか、マジで感染してたのかw
599名無しさん@お腹いっぱい。:2007/11/02(金) 10:52:32 ID:XguY7NBI0
最近のマウスについているような、横スクロールのシグナルをおくるような
AHKのスクリプトをお持ちの方はいらっしゃいませんか?
Click,WheelLeftみたいな感じでつかえるやつ。
600名無しさん@お腹いっぱい。:2007/11/02(金) 15:19:27 ID:SErhgEM20
確かに何故かキーリストにないな。
601名無しさん@お腹いっぱい。:2007/11/02(金) 17:32:17 ID:a6D8GNLi0
joytokeyの代わりに使えるかと思ったら
やや古めのゲームではマウスエミュレーション
でmousemoveの量を最低にしても
delayをいじってもカーソルがやたらと大きく動くので
使い物にならなかった。
よくわからんけどDirectinputの関係だろうか。
602名無しさん@お腹いっぱい。:2007/11/02(金) 17:52:57 ID:XtTM5q/v0
>>601
どんなスクリプトを書いたか知らんが、どう見てもスクリプトの問題です。
603名無しさん@お腹いっぱい。:2007/11/02(金) 19:00:14 ID:a6D8GNLi0
違います。
・同じスクリプトでもゲームによってマウスカーソルの動きの量は違う。
・ウインドウズ上はまともな精度でちゃんと動作する。
・最近のゲームではまともに機能する。
・試しに公式ページのマウスエミュレーションスクリプトを使っても
特定のゲームでは+1の動きでも動きすぎて使い物にならない。
604名無しさん@お腹いっぱい。:2007/11/02(金) 19:05:49 ID:a6D8GNLi0
あたりまえの結論。
・Autohotkeyはマウスエミュレーションに関して特定の状況で細かい設定が出来ない。
よってそういう機能が必要なゲームに使用するのは避けるべき。

・ジョイパッド、スティックに単純にマウスを割り当てるなどの使い方をしたいのなら
joytokeyその他のほうが特化しているぶんはるかに優れている。常駐メモリも少ない。
605名無しさん@お腹いっぱい。:2007/11/02(金) 19:06:17 ID:XtTM5q/v0
>>603
> ・ウインドウズ上はまともな精度でちゃんと動作する。
やや古めって、windowsじゃねーのかyp
606名無しさん@お腹いっぱい。:2007/11/02(金) 19:09:58 ID:XtTM5q/v0
>>603
とりあえず動かないゲームと使ったスクリプトさらしてよ。
もしかしてahk使えないって愚痴りたかっただけかい?
607名無しさん@お腹いっぱい。:2007/11/02(金) 19:44:18 ID:a6D8GNLi0
>>605
windowsデスクトップ上で、だ。

>>606
動かないゲームを間違いなく君は持ってないから晒さないよ。
どうせ検証できるわけでなし。
2000-2001年前後のアクション(FPS)ゲームだ。

スクリプトは公式のjoystick as mouseの丸パクリだ。よってスクリプトが
おかしいせいにしたいようだけど、そうじゃない。
言っておくが別にこのアプリを貶めたいわけじゃない。つかえねーものもあるということ。
608名無しさん@お腹いっぱい。:2007/11/02(金) 20:27:49 ID:hfArcMju0
ネタ乙
609名無しさん@お腹いっぱい。:2007/11/02(金) 22:54:34 ID:jBZIrtFc0
愚痴りたいだけならうざいから消えて
610594:2007/11/02(金) 23:55:24 ID:K7cwsubO0
>>597
vk指定したら動きました。
vk指定のしかたが間違っていたようです。
thx!
611名無しさん@お腹いっぱい。:2007/11/03(土) 00:53:44 ID:mabxkLOu0
質問専用スレじゃないんだから別にいいんじゃないの。
どうせ過疎ってるんだし。
612名無しさん@お腹いっぱい。:2007/11/03(土) 01:07:24 ID:KDbiL8JY0
自前のマウスカーソルを表示しているゲームの場合、AutoHotkeyが操れるシステムのカーソルと位置が違ってるのかも。
システムのカーソルを隠して、位置を監視し、基準位置から離れた距離に応じて自前のカーソルを動かし、
システムのカーソルの方は基準位置に戻すという処理をやっているらしい。
Alt+Tabで他のウィンドウを出したときにそれらしい動きをしているゲームがあった。
ゲームの自前カーソルの位置を特定できない以上、AutoHotkeyで操るのは難しいね。
613名無しさん@お腹いっぱい。:2007/11/03(土) 01:45:46 ID:99UkKWF20
そういえば、optionでカラーカーソルのあるゲームでX,Y座標が
滅茶苦茶に取得されるのあったな…
カラーカーソル切れば無問題だったけど。
614名無しさん@お腹いっぱい。:2007/11/03(土) 02:01:19 ID:baOm0Gn60
>>599
先月作って放置してあったのがあったから上げてみる。適当に改造して使って。
一応加速と、ExcelやWord、VBEなんかの分割ウィンドウでもリダイレクト可能にしてみた。

ホイールリダイレクト互換スクロール版
http://lukewarm.s101.xrea.com/up/file/085.zip

しかしこれ、ホイールイベントをトリガにしてるから ThinkPadみたいなトラックポイントでの独自ドライバでのスクロールだと
フックできないんだよね。職場でヒマな時作ったんだけど、自宅だとマウス繋げないから全然役たたず(´・ω・`)
Thinkのスクロールボタンの検知方法とかどなたかわかるかたいらっしゃいませんかね。
615名無しさん@お腹いっぱい。:2007/11/03(土) 14:18:39 ID:IVK6J3sH0
>>614
ありがとうございます。
まだうまく動作できていないので、もうすこしかんばってみます。

クリップボードの履歴をテキストファイルに保存しようとおもい、
~^C:: FileAppend, %clipboard%`n`n, %A_ScriptDir%\clipboard.txt
などとやってみたのですが、うまくいきません。

~^C:: Msgbox, %clipboard%
とやってわかったのですが、クリップボードが更新される直前の内容が保存されます。
待機処理が必要なのだとおもうのですが、どのようにやればよいでしょうか?
識者の方々、おしえてください。
616名無しさん@お腹いっぱい。:2007/11/03(土) 14:26:13 ID:bWS4YM770
Send, ^c
を入れればいいだけでは?
617名無しさん@お腹いっぱい。:2007/11/03(土) 14:33:36 ID:IVK6J3sH0
>>616
そうでした。

^C up:: Send, ^C
OnClipboardChange:
FileAppend, %clipboard%`n`n, clipboard.txt
Return
で、ばっちりできるようになりました。
618名無しさん@お腹いっぱい。:2007/11/03(土) 15:51:31 ID:KoS6CqZf0
AutoHotKeyがバックグラウンドで動いていることでCPUパワーやメモリへの負担はどれくらいなんでしょう。
ファイアウォールやアンチウイルスソフトに比べれば微々たるもんでしょうか。
エクセルやメーラーのようにCPUへの負担がたかが知れているものを使用するのと違って、
メモリやCPUを目一杯使用する画像処理ソフト(Photoshopなど)との併用を考えているんですが、
それがメモリやCPUへの負担を考慮して、果たして正しいやり方なのか。

重いアプリとの併用を試した方の経験などありましたら教えて頂けると幸いです。
619名無しさん@お腹いっぱい。:2007/11/03(土) 17:57:02 ID:boeZzQhE0
>>618
スクリプトを動かすソフトに対して、CPUやメモリの使用量を聞いてどうするの?
お前さんの書いたスクリプト次第だろ?
620名無しさん@お腹いっぱい。:2007/11/03(土) 17:57:22 ID:CAd+Il2K0
>>618
君が実際にAutoHotkeyを使って見るのが一番早い
重くなったのが感じられるなら無理と言う事だし、変化が解らないなら問題無いと言う事だ
621名無しさん@お腹いっぱい。:2007/11/03(土) 18:27:22 ID:H0//tZlU0
firefoxのコンテンツエリアにfocusするにはどうしたらいいですか?

SetTitleMatchMode, 2

!.::
WinActivate, ahk_class Progman
WinActivate, Mozilla Firefox

ここまでは書けたのですが、これだとwindowにfocusされるに過ぎず、
たとえば、textareaにfocusのあるときにAlt+.をしてもコンテンツエリア(bodyタグ直下のtextノードに相当)
のfocusされません。

よろしくお願いします。
622名無しさん@お腹いっぱい。:2007/11/03(土) 18:30:03 ID:PDweSZTN0
>>618
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/39
一応書いておくが、実際やってみるのが一番。
623618:2007/11/03(土) 18:53:52 ID:KoS6CqZf0
>>619>>620>>622
レスありがとうございます。
作ってから判断するしかないですね…
URLのページも参考になりました
624名無しさん@お腹いっぱい。:2007/11/03(土) 18:57:34 ID:YvsIr1mE0
自分とこだと
explorerのCPU時間が8:17、
System Idle Processが65:23:22程度に使ってるマシンで
プライオリティ通常以上で1000行くらいのAutohotkeyスクリプトが0:57。
全62プロセスの中の14位。
まあスクリプトの内容によるけど微々たるものだね。
ちなみに同時に使ってるmayu.exeは0:16
625名無しさん@お腹いっぱい。:2007/11/03(土) 19:55:54 ID:boeZzQhE0
>>621
fx の UI は OS のデフォじゃなくて独自実装なので、
ahk の関数は無力です。
ahk から mozrepl 使って javascript を実行させましょう。
626名無しさん@お腹いっぱい。:2007/11/03(土) 20:48:07 ID:H0//tZlU0
>>625
ありがとうございます。
mozrepl調べてみます。
627名無しさん@お腹いっぱい。:2007/11/03(土) 21:59:17 ID:KDbiL8JY0
ControlFocus,MozillaWindowClass7,ahk_class MozillaUIWindowClass
628名無しさん@お腹いっぱい。:2007/11/04(日) 00:11:27 ID:xp2+A/Gz0
タスクバーを上に配置していて、ウィンドウがタスクバーに重なってしまう事が時々あるので
Loop{
WinGetPos, X, Y, , , A
If(Y < 23)
WinMove, A, , , 19
Sleep, 2000
}
return
のようにして使ってるんですが、これだとウィンドウがアクティブになるまで放置プレイなので
できたら Y < n のウィンドウが存在したらWinMoveするようにしたいです。
初心者ですみません、上手い方法ありますでしょうか?
助けてってば〜というソフトは自分の環境では上手く動作しませんでした。
629名無しさん@お腹いっぱい。:2007/11/04(日) 00:41:09 ID:q8+pQI0t0
突然なのですが、キー2回押しの関数ですばらしいのを発見したのでご報告。
モディファイヤもばっちり動きます。

DoubleKey(RunCommand, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Run, %RunCommand%
}

こんなかんじで使用。
~LCtrl up:: DoubleKey("cmd.exe", 400)
630名無しさん@お腹いっぱい。:2007/11/04(日) 04:06:08 ID:E+kS+4E70
>>624
俺もそんくらいだな。
SystemIdleProcessがその半分ぐらいの時間で、AutoHotKeyは14秒。
631名無しさん@お腹いっぱい。:2007/11/04(日) 23:49:43 ID:AZzCkrKS0
>>629 どうやって動かすの?
632名無しさん@お腹いっぱい。:2007/11/05(月) 03:31:44 ID:FkXhXeMc0
AutoHotkey.ahkのpathってどこで変えられますか?
633名無しさん@お腹いっぱい。:2007/11/05(月) 09:01:47 ID:T7zQuT9A0
>>631
DoubleKey関数を自分のスクリプトにペーストします。
DoubleKey(起動したいコマンドライン、タイムアウトms)

- 左コントロールキー2回押しでコマンドプロンプト起動
~LCtrl up:: DoubleKey("cmd.exe", 400)

- 右シフトキー2回押しでCraftLaunch起動
~RShift up:: DoubleKey("C:\Tools\DF\DF.EXE", 400)

こんなかんじで。
634名無しさん@お腹いっぱい。:2007/11/05(月) 10:38:24 ID:RywdyRDO0
発見てかいてあるからにはネットで拾ってきたんだと思うけど
出典元くらい書いたらどうなの
635名無しさん@お腹いっぱい。:2007/11/05(月) 11:06:08 ID:4B2+SDNl0
>>634
すいません、わすれてしまいました。
636名無しさん@お腹いっぱい。:2007/11/05(月) 11:11:24 ID:4B2+SDNl0
検索履歴をみたら再検索できました。
出展はこちらです。
http://www.donationcoder.com/Forums/bb/index.php?topic=5926.msg41894
637名無しさん@お腹いっぱい。:2007/11/05(月) 20:39:45 ID:0oN7XXgL0
先頭に ~ をつけると どのような動作になるのでしょうか?
638名無しさん@お腹いっぱい。:2007/11/06(火) 11:54:52 ID:wcyUO4TQ0
っ 説明書
639名無しさん@お腹いっぱい。:2007/11/06(火) 12:22:36 ID:k2QniCI00
WindowsMediaPlayerにControlsendでキーストロークを送りたいのですが、
上手くいきません。他にもですがControlSendで不発なアプリがあるのですが、
アクティブにしてからSendでも送ることで諦めるしかないのでしょうか?

!b::
;ボス来る
WinGetClass, MotoWindow, A
ControlSend,,{Space},ahk_class MediaPlayerClassicW;メディアプレイヤークラシック一時停止
;ControlSend,,^{P},ahk_class WMPlayerApp
;↑同様にWメディアプレイヤーの一時停止だが、うまくいかない
WinActivate,ahk_class WMPlayerApp
Send,^{p}
WinActivate,ahk_class %MotoWindow%;元のウィンドウに戻す
return

WinActivateだと一瞬チラッとメディアプレイヤのグラフィックが出てしまって困ります。
640名無しさん@お腹いっぱい。:2007/11/06(火) 12:51:58 ID:okUbZAfE0
PostMessageを使った方が確実で良いんじゃない
641名無しさん@お腹いっぱい。:2007/11/06(火) 18:59:45 ID:1fn8POGO0
>>621
>Firefoxのコンテンツエリアにフォーカス
もう解決したかもしれないけど、mozreplの使い方が分からない自分の解決方法は
1.アドレスバーにフォーカス(Alt + d)
2.Enter
開いているページが更新されてしまうのが難点。

テキストエリアからフォーカスを戻したい時はEsc
642名無しさん@お腹いっぱい。:2007/11/06(火) 20:10:21 ID:pb+kNkjg0
>>639
^{P} → ^p ではどう?

うちの環境では大文字送信だとショートカットキー上手く動かなかったからひょっとするかもよ。
あと文字送信だから{}で括らなくておk

ControlSendはあんまり確実性ないね。640の言う通りPostMessage使えそうならそっちのが無難
643639:2007/11/06(火) 22:18:49 ID:k2QniCI00
ダサイですが元のウィンドウを最前面固定にして、
背面ウィンドウをアクティブにしてSendで送ることで
やりたいことを実現しました。

Send/PostMessageはヘルプに書いてないのに
皆さん何で知っているんですか?質問ばかりですみません。
644名無しさん@お腹いっぱい。:2007/11/06(火) 22:26:47 ID:+cTzfPdI0
いやいや書いてあるでしょ
ttp://www.autohotkey.com/docs/commands/PostMessage.htm
645名無しさん@お腹いっぱい。:2007/11/07(水) 14:48:21 ID:xcF2JGlk0
下記のエラーメッセージが出てしまいます。
どう対処すればよろしいでしょうか。
Error: A control's variable must be global. The current thread will exit.
Specifically: vMyCheckbox

menu() {
global vMyCheckbox, vMyEdit, vMyRadio
Gui, add, tab,, First Tab|Second Tab|Third Tab
Gui, add, checkbox, vMyCheckbox, Sample checkbox
Gui, tab, 2
Gui, add, radio, vMyRadio, Sample radio1
Gui, add, radio,, Sample radio2
Gui, tab, 3
Gui, add, edit, vMyEdit r5 ; r5 means 5 rows tall.
Gui, tab ; i.e. subsequently-added controls will not belong to the tab control.
Gui, add, button, default xm, OK ; xm puts it at the bottom left corner.
Gui, show
return

ButtonOK:
GuiClose:
GuiEscape:
Gui, submit
MsgBox You entered:`n%MyCheckbox%`n%MyRadio%`n%MyEdit%
}
+^b::
menu()
return
646名無しさん@お腹いっぱい。:2007/11/07(水) 15:39:03 ID:c0R2jDpg0
global MyCheckbox, MyEdit, MyRadio
vがいらないんじゃ?

別のエラーがでたけど
647名無しさん@お腹いっぱい。:2007/11/07(水) 17:01:45 ID:xcF2JGlk0
>>646
ありがとうございます。
すすみました。

正規表現で質問があります。
うまく置換できないのですが、どこが問題でしょうか。

bb = %clipboard%
bb = RegExReplace(%bb%, "[A-z]", "_")
clipboard = %bb%
648名無しさん@お腹いっぱい。:2007/11/07(水) 17:09:47 ID:c0R2jDpg0
bb := RegExReplace(bb, "[A-z]", "_")
649名無しさん@お腹いっぱい。:2007/11/07(水) 17:20:51 ID:xcF2JGlk0
>>648
ありがとうございます。
こういうやり方ってできないんですかね。

clipboard := RegExReplace(%clipboard%, "[A-z]", "_")
650名無しさん@お腹いっぱい。:2007/11/07(水) 18:12:59 ID:c0R2jDpg0
だからー、第一パラは%いらないのー
651名無しさん@お腹いっぱい。:2007/11/07(水) 18:56:45 ID:xcF2JGlk0
>>650
もう分からないです。

こうすると clipboard := RegExReplace(clipboard, "[A-z]", "_")

クリップボードのデータが "RegExReplace(clipboard, "[A-z]", "_")" なります。
652名無しさん@お腹いっぱい。:2007/11/07(水) 19:02:13 ID:tZM8oTgz0
OnClipboardChange:
clipboard := RegExReplace(clipboard, "[A-z]", "_")
return
をコピーしたら
_________________:
_________ := ____________(_________, "__-__", "_")
______
になった。
653名無しさん@お腹いっぱい。:2007/11/07(水) 19:20:20 ID:xcF2JGlk0
>>652
すいません。
ありがとうございます。
できました。

ちなみに、これを実行するととんでもないことに
clipboard := RegExReplace(clipboard, "\\", "\\\\")

C:\
 ↓
C:\\\\\\・・・・・・
654名無しさん@お腹いっぱい。:2007/11/08(木) 10:34:56 ID:VpjEbYEG0
GUIの入力項目で、よく検索ソフトとかで入力履歴がドロップで出て選択できるって機能がありますが
そんな部品ってありますか?または作れますか?
655名無しさん@お腹いっぱい。:2007/11/08(木) 11:37:39 ID:LkNXR2gq0
>>654
ComboBoxかDropDownList
656名無しさん@お腹いっぱい。:2007/11/08(木) 12:19:25 ID:QotMhKmE0
>>653
かっこ()の中は変数、それ以外は文字列って覚えとけ。
かっこの中の変数は、%%で展開する必要はない。逆に文字列は""で囲う必要がある。
 If(A_LoopField=str)   ;str=hoge
 If A_LoopField=%str%
 If(A_LoopField="hoge")
 If A_LoopField=hoge
どれも同じ

ちなみにC:\\\\\\・・・・・・にはならないぞ。
1つの\を4つの\に置換する表現だから、C:\\\\になるはずだし、試したら実際そうなったが。
657名無しさん@お腹いっぱい。:2007/11/08(木) 15:23:42 ID:XkPSzQlp0
きっとループに陥ってるだけなんだろうな
もう少しこなれてからまたおいでって感じだな
658名無しさん@お腹いっぱい。:2007/11/08(木) 15:53:46 ID:VpjEbYEG0
Gui, Add, ComboBox ,vCom Simple Sort, aaa|bbb|ccc|aab|aba

これで「a」を打つと下のリストボックスが、aaa,aab,abaに勝手に絞り込ます部品や方法ってありますか?
インクリメンタルサーチのリストボックス絞込み再表示みたいなイメージです。
659名無しさん@お腹いっぱい。:2007/11/08(木) 17:26:35 ID:MaxO5Kjc0
流行らせるページのコマンドラインランチャがそんな感じ
660名無しさん@お腹いっぱい。:2007/11/08(木) 19:41:54 ID:VpjEbYEG0
変数にリストがないのは痛いな。

配列を使っているけど、追加、削除、検索をjavaのクラスみたいに簡単に使いたい。
661名無しさん@お腹いっぱい。:2007/11/09(金) 13:36:05 ID:sCn2a4fh0
VistaHomeBasicですが、
左Shiftキー二回押しでdeleteが入力されるようにしたいです。
そこで、以下のところまでは書いたのですが、この続きはどうしたらいいですか?
それともこの方向性は間違ってますか。
アドバイスお願いします。

; keybind to the delete key

flag:=0
SetTimer, checkShiftkey, 500
LShift::【flag==1にする】

checkShiftkey:
if(flag==1)
{
【deleteキーを押す】
}
flag:=0
return
662名無しさん@お腹いっぱい。:2007/11/09(金) 13:43:29 ID:FxAaRY1v0
~LShift up:: DoubleKey("{Delete}", 400)

DoubleKey(Command, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Send, %Command%
}
663名無しさん@お腹いっぱい。:2007/11/09(金) 14:06:19 ID:sCn2a4fh0
>>662
正常に動作しました。
今やっと理解できました。

ありがとうございます。
664名無しさん@お腹いっぱい。:2007/11/09(金) 19:46:13 ID:8en6gcJl0
質問させていただきます

マウスの下のウィンドウのプログラムの実行ファイル(.exe)のパスを取得するにはどうすればよいのでしょうか?

MouseGetPosでウインドウ名、コントロール、などを取得した後
ウインドウ名やコントロールからどのようにしてファイルのパスを取得すればいいのかがわかりません

よろしくお願いします
665名無しさん@お腹いっぱい。:2007/11/09(金) 19:57:53 ID:cfB1EDup0
>>664
俺には難しくてよくわからんw

2005-08-26 - eamatの日記
ttp://d.hatena.ne.jp/eamat/20050826
旧雑記サルベージ
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1157529465/70
666名無しさん@お腹いっぱい。:2007/11/09(金) 20:11:38 ID:PmoIudtT0
hwnd から pid に変換は、EnumWindows と GetWindowThreadProcessId を使えばいいよ。
コールバック書けるならね。
667名無しさん@お腹いっぱい。:2007/11/09(金) 20:15:08 ID:mXY51MyH0
>>666
WinGet?
668名無しさん@お腹いっぱい。:2007/11/10(土) 18:03:38 ID:/aFkmSrv0
設定したホットキーの解除(一部のキー)ってできます?
669名無しさん@お腹いっぱい。:2007/11/10(土) 18:20:53 ID:77vfAw8E0
Hotkey, OFF
670名無しさん@お腹いっぱい。:2007/11/12(月) 03:10:52 ID:BemSIh+W0
#IfWinActive を使って Foxit Reader という PDFビューアをフックしたいのですが、うまくいきません。
AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
起動毎に変ってしまいます。
SetTitleMatchMode, 2 として #IfWinActive ahk_class Afx にて中間一致を試みましたが
全くに認識されません。
このような場合にはどのようにしたらよいでしょう?
671名無しさん@お腹いっぱい。:2007/11/12(月) 05:08:05 ID:BFVOzu/J0
ahk classには中間一致はないでソ
タイトルじゃないんだから
672名無しさん@お腹いっぱい。:2007/11/12(月) 08:08:30 ID:CUI4dA1N0
>>670
> AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
> 起動毎に変ってしまいます。
Afx:400000:8:10011:0:0000000〜Afx:400000:8:10011:0:9999999
まで書いとけばいいんじゃね?
673名無しさん@お腹いっぱい。:2007/11/12(月) 10:19:12 ID:z6SmkfAk0
Sleipnirが最前面のときのみ
Sleipnirのみホットキーを有効にしたいのですが、うまくいきません。
ご教授ください。

Sleipnirをホットキーなしで使用したい場合もあるので、
ホットキーを有効にするかの条件を加えています。

;有効トグル用フラグ
flg = 0

;ホットキー
2::
;最善面のウィンドウがSleipnirで、フラグがONのとき
IfWinActive, ahk_class SleipnirMainWindow && flg = 1
{
Send {F2}
}
return

;フラグ切り替え
^1::
if (flg = 1) {
flg = 0
} else {
flg = 1
}
return
674名無しさん@お腹いっぱい。:2007/11/12(月) 10:20:31 ID:WsuDC3uN0
>>671
なるほど、そういうことでしたか。
ヘルプを参照してタイトル部分一致を試みたのですが、ちょっとできませんでした。
また別の機会にやってみます。

>>672
いいアイディアをありがとうございます。
675名無しさん@お腹いっぱい。:2007/11/12(月) 11:28:10 ID:CUI4dA1N0
>>673
> ;最善面のウィンドウがSleipnirで、フラグがONのとき
> IfWinActive, ahk_class SleipnirMainWindow && flg = 1
IfWinActive は If とは違うので中に式は掛けないと思うよ。
flag をトグルした場合に hotkey を登録したり、解除したりしないとダメだよ。

>>674
冗談だから本気にしないでね。
676名無しさん@お腹いっぱい。:2007/11/12(月) 11:31:04 ID:CUI4dA1N0
>>673
;; と思ったけど、F2 送るだけならこれでいいんじゃ?
IfWinActive, ahk_class SleipnirMainWindow
2::
;; 最善面のウィンドウがSleipnirで、フラグがONのとき
if (flag == 1)
{
Send,{F2}
}
else
{
Send,2
}
return
677名無しさん@お腹いっぱい。:2007/11/12(月) 11:34:51 ID:VVUThdm/0
>>672は想像してみて、ちょっと面白いなと思っていました。
アイディア自体も思いつかなかったので、また何かの力技系のときに応用してみます。
ありがとうございました。
678名無しさん@お腹いっぱい。:2007/11/12(月) 11:39:23 ID:z6SmkfAk0
>>676
あっ
ごもっともです。
ありがとうございます。
679名無しさん@お腹いっぱい。:2007/11/12(月) 15:00:51 ID:z6SmkfAk0
無変換キーにウィンドウ最小化を与えたいのですが、

vk1Dsc07B:: WinMinimize

ではうまくいきません。

どうすればよいでしょうか。
680名無しさん@お腹いっぱい。:2007/11/12(月) 15:07:35 ID:BFVOzu/J0
さすがに付き合いきれんよ
681名無しさん@お腹いっぱい。:2007/11/12(月) 15:17:03 ID:VVUThdm/0
>>679
自分も最初これで悩んだ。
WinMinimize, A
682名無しさん@お腹いっぱい。:2007/11/12(月) 15:29:49 ID:z6SmkfAk0
>>681
あざーす

サンプルの一番下だけ見てなかったっす。
683名無しさん@お腹いっぱい。:2007/11/12(月) 15:32:37 ID:3EV62vgO0
あざーすって何だよ。

アザトースか?
684名無しさん@お腹いっぱい。:2007/11/12(月) 15:37:13 ID:CUI4dA1N0
>>683
ラブクラフトの読みすぎです
685名無しさん@お腹いっぱい。:2007/11/12(月) 15:49:32 ID:BFVOzu/J0
今日は優しい風が吹いてるな
686名無しさん@お腹いっぱい。:2007/11/12(月) 17:56:25 ID:z6SmkfAk0
「^c::Send,^c」という定義をした場合、
Ctrl+Cが押されるとCtrl+Cを送信するサブルーチンが実行され、そのCtrl+Cに反応して再度サブリーチンが実行され、無限ループに陥ってしまう。

とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
687名無しさん@お腹いっぱい。:2007/11/12(月) 18:02:00 ID:CUI4dA1N0
>>686
> とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
何も割り当てなければ C-c は C-c のままですよ?
688名無しさん@お腹いっぱい。:2007/11/12(月) 18:02:39 ID:CUI4dA1N0
ごめん激しく釣られた。
ペーストは C-v ですた。
689名無しさん@お腹いっぱい。:2007/11/12(月) 19:57:39 ID:LxbWc6NN0
ホットキーでマスタ音量を上げ下げしたくて作ったのですが二点ほど質問があります

TIPOFF:
tooltip
settimer, TIPOFF, off
return

^up::
settimer, TIPOFF, 500
soundset, +1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return

^down::
settimer, TIPOFF, 500
soundset, -1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return


1.ツールチップは透明にしたりできないのでしょうか?

2.なぜか+1しているのに0.999466ずつ足されていくのですがなぜでしょうか?

690名無しさん@お腹いっぱい。:2007/11/12(月) 20:18:50 ID:BFVOzu/J0
0〜65536を百分割してるから誤差が出るんじゃないの
691名無しさん@お腹いっぱい。:2007/11/12(月) 22:34:22 ID:vc5RlPA+0
便乗質問。ツールチップのフォントの大きさ変えることできない?
692名無しさん@お腹いっぱい。:2007/11/13(火) 00:02:17 ID:6r0yPWm20
流行らせるページの「タスクトレイに最小化」スクリプトで
最小化したウィンドウを取り出すとき、
タスクトレイのアイコンをクリックするのではなく、
ショートカットキーで取り出す事ってできますか?

一応、特定のアプリだけで使いたいんですが、やり方がよく分かりません・・・
693名無しさん@お腹いっぱい。:2007/11/13(火) 13:10:29 ID:bRWzStWe0
Altキー2回押しで起動するアプリがあってそれをAHKを使って、Ctl+右クリックで呼びたいんですけど
下のいずれでもダメでした。
何か良い方法がありましたら教えてください。

^RButton:: SendEvent {ALT}{ALT}

^RButton:: SendInput {ALT}{ALT}

^RButton:: Send {ALT}{ALT}

^RButton::
SendInput {ALT} down
SendInput {ALT} up
SendInput {ALT} down
SendInput {ALT} up
694名無しさん@お腹いっぱい。:2007/11/13(火) 13:45:41 ID:3KwfawNn0
CLCLで試したけど

KeyWait, CTRL, U

はさんだら出来た。でも、キーを放すまでは動作しないので
ちょっと違和感ある
695名無しさん@お腹いっぱい。:2007/11/13(火) 19:55:57 ID:ax2MIHQd0
「起動する」のであれば、Runで呼び出すのではいかんのかい?
696名無しさん@お腹いっぱい。:2007/11/13(火) 21:00:20 ID:ax2MIHQd0
マウスカーソルを動かさずに、指定した座標にマウスのクリックを発生させることは不可能でしょうか?
697名無しさん@お腹いっぱい。:2007/11/13(火) 21:55:57 ID:LRbMYgHY0
PostMessage,SendMessage + WM_LBUTTONCLICK 辺り
698名無しさん@お腹いっぱい。:2007/11/13(火) 21:57:34 ID:YS/tTYSd0
右ダブルクリックにホットキーを割り当てたいのですが、
RButtonRButton:: ではだめでした。やり方が悪いのでしょうか?
699名無しさん@お腹いっぱい。:2007/11/13(火) 22:15:44 ID:nAoiLpYR0
>>698
その発想はないわw
629を少し変えれば良いと思うよ
700名無しさん@お腹いっぱい。:2007/11/13(火) 22:25:35 ID:3KwfawNn0
ワロスw
701名無しさん@お腹いっぱい。:2007/11/13(火) 23:37:30 ID:Zt52tcWK0
マウスジェスチャ2ならRB__RB__なんだがな
702名無しさん@お腹いっぱい。:2007/11/14(水) 13:09:46 ID:rIfeXugq0
マウスカーソルをデスクトップの右上に1秒置いたとき
関数を実行させることってできますか?
703名無しさん@お腹いっぱい。:2007/11/14(水) 13:32:41 ID:KNpdLpyT0
できるよ
704名無しさん@お腹いっぱい。:2007/11/14(水) 14:13:46 ID:Pr/9nclm0
~Lbutton & ctrl::send,{enter}
が暴走します。
字面通り左ボタンを押しながらCtrl押すとEnterになるのはいいんですが、
何故か家ではCtrl押しながら左ボタン押すと定義外のことが起きます。

何も定義してないのに、左ボタンを押してる間Enterが連打されてしまいます。

~b & ctrl::send,{enter}
だとCtrl押しながらbで(当然のことながら)何も起きないのに。
705名無しさん@お腹いっぱい。:2007/11/14(水) 22:54:05 ID:Pr/9nclm0
おかしいな家だけ?Lbuttonが壊れているわけでもないのに。
706名無しさん@お腹いっぱい。:2007/11/14(水) 23:04:50 ID:NYeH+lm70
>>697
ありがとう。調べてやってみましたが、
たとえばアクティブウィンドの(256,256)の座標に、マウスの左ボタンをクリック→離すを送るのに

SendMessage, 0x201,0,0xFF00FF,,A
SendMessage, 0x202,0,0xFF00FF,,A


を試してみました。
が、どうもうまくいきません。書き方間違っているのでしょうか。
右クリックにしてみると(0x204,0x205)、アクティブウィンドの種類によってはメニューは出ることがあるのですが、
意図した座標で右クリックしていないようで…

よろしければ知恵をお貸しください。
707名無しさん@お腹いっぱい。:2007/11/14(水) 23:30:25 ID:KNpdLpyT0
>>706
> SendMessage, 0x201,0,0xFF00FF,,A
wParam は 1 じゃないと不味いような。
昔書いた奴をやろう。

LClk(x, y, id=0)
{
lParam := x | (y << 16)
if id = 0
{
PostMessage, 0x0201, 1, %lParam%
PostMessage, 0x0202, 0, %lParam%
}
else
{
PostMessage, 0x0201, 1, %lParam%,,ahk_id %id%
PostMessage, 0x0202, 0, %lParam%,,ahk_id %id%
}
Return
}
708名無しさん@お腹いっぱい。:2007/11/15(木) 21:05:47 ID:1P+tCkQs0
現在文字入力中であるかどうか
を判断する方法はありませんか?

A_CursorXで判断できるかと思ったのですが入力中でないにも関わらず値が存在しますし
現在のコントロールだとwebページの入力フォームが判断できませんし
709名無しさん@お腹いっぱい。:2007/11/15(木) 21:35:09 ID:zw/4nkes0
キーを押しているかどうかなら GetAsyncKeyState
厳密に入力中かどうかは判定するなら、メッセージを hook しないといけない希ガス
710名無しさん@お腹いっぱい。:2007/11/15(木) 22:15:14 ID:1P+tCkQs0
間違えた上に言い方が悪かったです
A_CursorX ではなく A_CuretX でした
文字入力中かどうか ではなく キーを叩くと文字が入力される状態かどうか でした

何がやりたいかというと、文字を打ち込みたいとき以外は
修飾キーなし、英数字キー単体でキーボードショートカットを実現したいのです
711名無しさん@お腹いっぱい。:2007/11/15(木) 23:25:24 ID:rH+toGPZ0
COntrolGetFOcus
で文字打ち込み系のコントロールだったら除外するとか
712名無しさん@お腹いっぱい。:2007/11/16(金) 09:04:41 ID:MSHvKwcF0
よいお知恵を教えてください。
英語版WindowsXP Pro SP2上にてAutoHotKeyを使っています。

AHKで、メモ帳トラッパーやNotepadBranchのような働きをさせられたら、と思っています。
考えている仕組みは、上記のものと異なり、notepad.exeが開いたら対象ファイルのパスを取得し、
任意のエディタで開き、同時にnotepad.exeを閉じる、というものです。

しかしながらアクティブなnotepad.exeが開いているファイルパスの取得方法がわかりません。
どなたかご教授いただけないでしょうか。
713名無しさん@お腹いっぱい。:2007/11/16(金) 09:55:58 ID:TrZF8PzZ0
>>712
おまいさんの notepad.exe と俺の使ってる奴の version が同じかどうかはわからないが、
notepad.exe のメモリの 0x0100A900 を読めばいいとじっちゃんが言ってた。
ちなみに Unicode だから、ahk でそのまま表示しても文字化けするから注意してくれ。
714名無しさん@お腹いっぱい。:2007/11/16(金) 10:34:20 ID:Pk94Qr060
>>699
ありがとうございます。

RButton:: DoubleKey("cmd.exe", 400) でできましたが、
普通の右クリックが聞かなくなりました。
考えてみたら当たり前ですが・・・

やりたいことはartipsというソフトがあり、
artipsのの右ダブルクリック見たいに、ホットキーアクションをさせたいです。

artipsは、初回の右クリックで、通常の右クリックアクションが即効発動して
次の右クリックをすると、artipsのポップアップが出る動きです。

どうしてもAutoHotKeyで実装したいのですが、
すいません、ヒントをお願いします。
715名無しさん@お腹いっぱい。:2007/11/16(金) 11:39:51 ID:ESF4RUBf0
(右ダブルクリックだけなら、)わざわざ関数持ち出さなくともよくね?

~Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 200)
{
Send,{Esc}
;出現したコンテキストメニューを念のため消す
Send,Atoha yaritai koto
;後はご自由に
}
return
716名無しさん@お腹いっぱい。:2007/11/16(金) 14:09:11 ID:MSHvKwcF0
>>713
情報ありがとうございます。じっちゃんにもお伝え下さい。
しかしメモリの読みかたが全くわからないので、もしよろしければ
メモリの参照方法をじっちゃんに聞いていただけないでしょうか?
717名無しさん@お腹いっぱい。:2007/11/16(金) 14:34:48 ID:jVKwkL+A0
ググレカス
718名無しさん@お腹いっぱい。:2007/11/16(金) 15:21:15 ID:q18ihBcn0
WinMain を使えば出来そうな気配なんだけど
もうこれ以上は分からん┐( ´ー`)┌
719名無しさん@お腹いっぱい。:2007/11/16(金) 15:33:11 ID:0alUhCR10
流行らせるページ管理人氏のMyScriptにメモリをどうにかして読むサンプルがあったような気が
720名無しさん@お腹いっぱい。:2007/11/16(金) 16:36:49 ID:TrZF8PzZ0
>>716
ググれない奴は覚えないってじっちゃんが言ってた。

#include mbstring.ahk
ReadMemString(pid, ByRef res, addr, size)
{
local hproc, suc
hProc := DllCall("OpenProcess",UInt,0x001F0FFF,UInt,0,UInt,pid,UInt)
VarSetCapacity(res, size)
suc := DllCall("kernel32\ReadProcessMemory",Int,hProc,Int,addr,Str,res,Int,size,Int,0,Int)
DllCall("psapi\CloseProcess",Int,hProc)
return suc
}

#ifwinactive ahk_class Notepad
1::
WinGet, pid, PID
ReadMemString(pid, ures, 0x0100A900, 256)
MBS_WideCharToMultiByte(res, ures)
msgbox, %res%
return
721名無しさん@お腹いっぱい。:2007/11/16(金) 17:08:59 ID:Pk94Qr060
>>715
ありがとうございます。
下でできました。
1回だけの右クリックも聞くようにしました。

Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 1000) {
Send,{Esc}
処理・・・
} else {
MouseClick, RIGHT
}
return

上記では、右クリック押下だけで、MouseClick, RIGHTが反応してしまいます。

他アプリのマウスジェスチャを有効にしたいのですが、
右クリックを放した後にMouseClick, RIGHTを実行させることは可能でしょうか。
722名無しさん@お腹いっぱい。:2007/11/16(金) 19:32:06 ID:Dt0CPw7PP
>>721
チルダつければいいだけじゃないの?
つか、715はチルダつけてるじゃん。消したの?なんで?
723名無しさん@お腹いっぱい。:2007/11/16(金) 20:10:43 ID:vH69+YYy0
フルパスからそれが「フォルダ」なのか「ファイル」なのかを判別するのに
一番手っ取り早い方法ってありますでしょうか?



D:\hoge\hogehoge

hogehogeがフォルダなのか拡張子無しのファイルなのかを調べたいのです
724名無しさん@お腹いっぱい。:2007/11/16(金) 20:22:52 ID:zFQKjHEJ0
>>723
FileExist()
725名無しさん@お腹いっぱい。:2007/11/16(金) 20:35:09 ID:vH69+YYy0
どうも有り難うございます

リファレンスに普通にありましたね・・・

スレ汚しすみませんでした
726名無しさん@お腹いっぱい。:2007/11/16(金) 20:53:58 ID:Pk94Qr060
>>722
あっ、すいません。
どうもありがとうございます。

ところで、どっかのサイトにIMEの辞書登録で
上から2番目の項目に値をセットするとき

ControlSetText,RICHEDIT50W2, %Clipboard%, 単語/用例の登録

っとやっていましたが、「RICHEDIT50W2」ってどうやって調べるのでしょうか。
「単語/用例の登録」画面を立ち上げ、Spyで見ましたが
そんな項目はなかったです。
727名無しさん@お腹いっぱい。:2007/11/16(金) 21:33:30 ID:q18ihBcn0
自分の環境に合わせれ
ウチの2003だとふつうにEdit2
728名無しさん@お腹いっぱい。:2007/11/16(金) 22:07:47 ID:Pk94Qr060
>>727
え〜できないです。
Edit1って、ウィンドウの上から2番目の入力ボックスってことですか?
729名無しさん@お腹いっぱい。:2007/11/17(土) 00:50:38 ID:epCPBx2R0
マウスのX1ボタン+右クリックでコピーするようにしたいのですが
XButton1 RButton :: ^c
としてもエラーが出てできませんでした。
リマップでは無理なんでしょうか?




730名無しさん@お腹いっぱい。:2007/11/17(土) 01:17:03 ID:CkIfa/570
質問してる奴等
まずは>>1の日本語解説ページのリファレンスを読んでこい。
話はそれからだ。
731名無しさん@お腹いっぱい。:2007/11/17(土) 09:24:38 ID:GvfwM5TX0
タスクマネージャーでは存在するのにwingetでpidが取得できません。
WinGet,v,Listでリストを書き出してみたところ該当するプロセスがありませんでした。

試したスクリプトは
DetectHiddenWindows,On
WinGet,w,List,,,joijpouhpoijjjjjjj
Loop, %w%
{
tempid := w%A_index%
WinGet, PName, ProcessName, ahk_id %tempid%
WinGet, Pid, PID, ahk_id %tempid%
FileAppend, %A_index%%A_Tab%%Pid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return

です。
タスクマネージャを起動してpidを手打ちしているのですが、
スクリプトで取得する方法がありましたら教えていただけませんでしょうか。
732名無しさん@お腹いっぱい。:2007/11/17(土) 09:37:32 ID:MV1rI88j0
>>731
detecthiddenwindows
733名無しさん@お腹いっぱい。:2007/11/17(土) 11:59:47 ID:tWWYI8If0
VBなどでカレンダーのコントロール(部品?)がでて、選択するとその日にちが
横のテキストにセットされるなんてのがありますが、
そんなことって、autohotkeyでできますか?
734名無しさん@お腹いっぱい。:2007/11/17(土) 14:27:22 ID:36qedEkq0
735名無しさん@お腹いっぱい。:2007/11/17(土) 16:07:50 ID:V77SupSP0
>>720
すすす、すげぇ!!! ばっちりです。
質問の前に自分でも調べてみたのですが、当分できなかった気がします。
また勉強してきます。本当にありがとうございました。
736名無しさん@お腹いっぱい。:2007/11/17(土) 17:10:19 ID:GvfwM5TX0
>>732 さんありがとうございます。
DetectHiddenWindows,Onは試してるんですがどうにもうまくいきません。

タスクマネージャーでPidを表示できるようにして確認したところ、pidは最大でも4000までだったのでloopで総当りしてみました。
その時点で50プロセス程存在していました。

DetectHiddenWindows,On
Loop,4000
{
tpid := A_Index
WinGet, PName, ProcessName, ahk_pid %tpid%
if (PName == "")
continue
FileAppend, %tpid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return

結果は32プロセスしか取得できなかったようです。
System Idle Process,System,Spoolsv.exe等のユーザー名がSYSTEMなものがほとんどなんですが
それ以外にも散見されます。
取得したいプロセスは自ユーザーです。
PCに詳しくない人に使ってもらうためなので、できればスクリプトの中で取得したいと思っています。
どなたかお知恵を拝借願えませんでしょうか。
737名無しさん@お腹いっぱい。:2007/11/17(土) 17:16:41 ID:MV1rI88j0
>>736
ソフトとかも何も提示されていないから、エスパーするしかないが、
もしかしてウィンドウが存在しない物のpidを取得したいってことか?
738名無しさん@お腹いっぱい。:2007/11/17(土) 18:51:29 ID:tWWYI8If0
サンプルコード類のCtrl key double tapで
コピーするときにCtrl押してからcを押すまでがとろいと ;some actionが走ります。

何か方法はあるでしょうか。

そもそもCtrlキー長押しは連打になるのでしょうか?
739名無しさん@お腹いっぱい。:2007/11/17(土) 19:45:03 ID:tWWYI8If0
2つのウィンドウを作って呼び出そうとしているのですが、
2つ目の画面が出ません。なぜでしょうか。

MyRadio = 1
w1:=1
Gui,%w1%:Default
Gui, add, radio, vMyRadio, 何もしない
Gui, add, button, default xm, OK ; xm puts it at the bottom left corner.

+^b::
Gui,%w1%:Default
Gui, show
return
ButtonOK:
GuiClose:
GuiEscape:
Gui, submit
return

MyRadio1 = 0
w2:=2
Gui,2:Default
Gui, add, radio, vMyRadio1, 何もしない
Gui, add, button, default xm, OK1 ; xm puts it at the bottom left corner.

+^v::
Gui,2:Default
Gui, 2:show
return
ButtonOK1:
Gui, 2:submit
return
740名無しさん@お腹いっぱい。:2007/11/17(土) 20:56:41 ID:X1W5C5Ju0
賑やかだがややカオス
741名無しさん@お腹いっぱい。:2007/11/18(日) 10:09:47 ID:DxQltXMf0
A:: Send,{B}
A:: Send,{C}

でエラーを出さずに後の定義を有効にするようには出来ないものか。
742名無しさん@お腹いっぱい。:2007/11/18(日) 10:44:26 ID:pEScAPz30
割り込みというもの
743名無しさん@お腹いっぱい。:2007/11/18(日) 19:08:11 ID:k9r02pTe0
>>741
その定義をすることで
何をしたいんだ?

ていうか、BとC両方を押す処理を送りたいなら
Send,BC
だけじゃね?
744名無しさん@お腹いっぱい。:2007/11/18(日) 23:14:31 ID:AHiS+Z1P0
>>737
> ウィンドウが存在しない物
そうだと思います。
アプリケーションの通信部分を担当してるような名前です。

タスクマネージャに出てるならなんとか操作できるんじゃないかってのが事の発端でした。
今はタスクマネージャを起動してpidを目視→入力って手順で使ってもらってるんですが
そこ手順を省略できないかなぁと思いまして書き込んでみました。

リストビュー操作の方向でもうちょっと勉強してみます。
745名無しさん@お腹いっぱい。:2007/11/18(日) 23:35:05 ID:ellkomLo0
>>744
psapi.dll
746名無しさん@お腹いっぱい。:2007/11/19(月) 03:16:43 ID:eArk+a4z0
>>745 さま
/*
psapi.dllを使ってプロセス名からpidを取得するサンプルは発見できたんですが
DllCallに書き直すのに挫折しました。
流行らせるページからProcessMem.ahkというスクリプトを拝領して
先のloopスクリプトで検索することでうまくいきました。
ヒントを与えてくださった皆様ありがとうございました。
*/
hModule := DllCall("LoadLibrary", str, "psapi.dll") ;ロードする
#Include %A_ScriptDir%\ProcessMem.ahk
limits = 4000
Loop, %limits%
{
tpid := A_Index
PName := getPEName(tpid)
if (PName == "")
continue
else if PName Not contains hogehoge.exe ;プロセス名
continue
else
break
}
msgbox, % tpid = limits ? 0 : tpid
DllCall("FreeLibrary", UInt, hModule) ;開放する

return
747名無しさん@お腹いっぱい。:2007/11/19(月) 19:23:07 ID:H4+iClNx0
↑解決されたようなので次の質問です

コンテキストメニューが表示されたことを判断したいのですが
どうすれば良いでしょうか?

ひと通り「流行らせるページ」は読んできました
748名無しさん@お腹いっぱい。:2007/11/19(月) 22:26:14 ID:PuiTrZ3r0
既出かもしれないけど貼っておく
ttp://www.donationcoder.com/Software/Skrommel/index.html

色々勉強になる。
749名無しさん@お腹いっぱい。:2007/11/19(月) 22:32:24 ID:xgu4LjI+0
>>748
既出かもしれないと思うなら、さすがに>>2くらい見てからのほうが…
750名無しさん@お腹いっぱい。:2007/11/20(火) 19:27:35 ID:IdA+GMNY0
質問です。
直前のアクティブウィンドウのハンドルを取得することはどうすればいいですか
DllCallのGetWindowでいけそうなんですが、うまくいきません
よろしくお願いします。
751初心者だが:2007/11/20(火) 19:44:17 ID:+H6sk/kC0
これちょっと惑わされたぜ

誤)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内に格納する。

正)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内の「Lib\」に格納する。


それともこれって常識なのか?
752名無しさん@お腹いっぱい。:2007/11/20(火) 19:47:12 ID:0O21fTkm0
>>751
ソース本体と同じディレクトリにいれておいた方が便利だよ。
どうせたいしたライブラリもないし。
753名無しさん@お腹いっぱい。:2007/11/20(火) 19:50:41 ID:RcpW0Wap0
>>707
遅くなりましたがありがとうございます。
どうもidの取得・指定がうまくいってないみたいです。

別のソフトでウインドハンドルを取得して、それを指定するとうまくいったので。
いろいろ試してみようと思います。ありがとうございました。
754名無しさん@お腹いっぱい。:2007/11/22(木) 18:26:21 ID:g9vmyrCo0
起動してもタスクバーに表示されなくて何もできない zipとインストール版両方試したけど
前は使えてたのになんでよ
755名無しさん@お腹いっぱい。:2007/11/22(木) 18:32:50 ID:g9vmyrCo0
ドキュメントに作成されたやつ削除して起動繰り返してたらタスクに常駐しだした
おじゃましますた
756名無しさん@お腹いっぱい。:2007/11/24(土) 05:35:20 ID:dDIqV/XZ0
1.0.47.05
757名無しさん@お腹いっぱい。:2007/11/25(日) 03:05:24 ID:aen/os2R0
名前に「ソ系」のダメ文字の入ったファイルの属性変更をするにはどうすれば良いですか?

ソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭xx\\


裏技で変更できたりしますか?
758名無しさん@お腹いっぱい。:2007/11/25(日) 11:46:08 ID:IObwvCyD0
キーカスタマイズソフトスレで見つけました。これはAHKで実現できますか?
60 名前:名無しさん@お腹いっぱい。[] 投稿日:03/06/19(木) 02:09 ID:Yi+QkHTo
XKeymacsなどを使って、
Ctrl と CapsLockをひっくり返すのではなく、
通常のCtrlはそのままで、
CapsLockをemacsバインド専用のCtrl2として、
利用できるようにはできませんか?
通常のCtrlとemacsキーバインドが重複するのはすごく不便な反面、
CapsLockキーのほうはなくなってもほとんど困ることはないので。
759名無しさん@お腹いっぱい。:2007/11/25(日) 11:49:56 ID:z38QYbrw0
>>758
できるだろうけどお前のPCじゃ無理なのは間違いない。
760757:2007/11/25(日) 12:17:57 ID:neA10OGo0
ソ.txtに対して
FileGetAttribは問題ないのですが
FileSetAttribが利きません


誰か助けてください

761名無しさん@お腹いっぱい。:2007/11/25(日) 12:25:17 ID:IObwvCyD0
>>759
AHKはCapslockはいじれないんでしたっけ?
F13を割り当ててやってみましたが、全然ダメでした。
非常駐型でF13〜F24までを割り当てられるのってあるのかな?
でも、絶対に重複してはいけないというわけでもないから、F13〜F24を使う必要もないか。
changekeyとかでCapslockに数字キーのようなコンビネーションをあまり使わないキーを割り当ててそのコンビネーションで使えばいいかな?
762名無しさん@お腹いっぱい。:2007/11/25(日) 12:27:00 ID:IObwvCyD0
>>761
あっ、数字が入力されてしまうか?ダメだね。
あんまり使わない修飾キーをアサインするしかないのかな?
誰か助けてー
763名無しさん@お腹いっぱい。:2007/11/25(日) 12:30:38 ID:33flX5nk0
Capslockはレジストリで変更したほうがラクだし確実じゃね?
keyswapとか併用しろよ
764名無しさん@お腹いっぱい。:2007/11/25(日) 13:12:22 ID:4BOZwyhx0
>>758 俺もレジストリ値書き換えが面倒で、Xkeymacsに書き換えてもらってるわけだが、
何の問題なく書き換えられたぞ(Varsion 3.19)。最新版はしらんがね(Varsion 3.43)。
765名無しさん@お腹いっぱい。:2007/11/25(日) 13:14:52 ID:ewXDjkPs0
>>760
なまず ダメ文字 でカス
766名無しさん@お腹いっぱい。:2007/11/25(日) 13:21:37 ID:neA10OGo0
>>765
いやそういう問題ではなくて

FileGetAttrib, OPV, ソ.txt

はOKで

FileSetAttrib, +R, ソ.txt

がダメなのはどうしてだろうと思って質問しました
767名無しさん@お腹いっぱい。:2007/11/25(日) 13:54:48 ID:xHrvRBu30
マウスの左右のキーどちらか押されたほうの入力を監視したいのですが、
Input, InputKey, L1, {RButton}{LButton} ではだめでした。
keywaitは一文字しかだめらしいので、何かよい方法はあるでしょうか。
768名無しさん@お腹いっぱい。:2007/11/25(日) 15:12:26 ID:/9NP1ooM0
>766
FileGetAttrib は AHK 内部で文字列を解析していないが、FileSetAttrib は解析しているんじゃないの?

と思ってみたらソース見たらやっぱりその通りで、FileGetAttrib はほぼ Win32 API にスルー、FileSetAttrib は
ワイルドカード系の処理のためにパス区切りを自前で調べてる。

DllCall 使って SetFileAttributes() を直接呼び出せばいいんじゃない?
769名無しさん@お腹いっぱい。:2007/11/25(日) 15:58:12 ID:lrJQTdQh0
>>764
単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳
770名無しさん@お腹いっぱい。:2007/11/25(日) 16:00:36 ID:lrJQTdQh0
>>769
うっかり送信してしまいました。

単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳
で検索が立ち上がるし、ATOKだとHelpが出てくるしで面倒なので、Ctrl2が使いたいのですが。
>>758の文章だとXkeymacsでは出来ないように思えるのですが。。。。
771名無しさん@お腹いっぱい。:2007/11/25(日) 18:38:18 ID:e5c2cAn40
>>758
RWinとか、あんまり使いそうにないキーをCapsLockに割りあてて、
RWin & h::Send, {BS}とかすれば良いのでは?
772名無しさん@お腹いっぱい。:2007/11/25(日) 19:06:04 ID:EUDcNtJ60
>>768
どうもありがとうございました
自分にはソース解析などまったくできないので、本当に感謝しています

FileSetAttribは使えないことがわかったので以下の関数を登録して使うことにしました


SetFileAttributes(ByRef path,attrib=128){
DllCall("SetFileAttributes", str, path, int, attrib)
}


DllCallを使うのは初めてだったのですが何とかできました

AutoHotkeyの日本語環境で使ってはいけない(ダメ文字)コマンドの一覧があると便利だと思います
誰か作ってください
773名無しさん@お腹いっぱい。:2007/11/25(日) 19:21:55 ID:SP727yv40
JoystickMouse.ahkを改造してアクティブウィンドウ毎にボタン設定を
切り替えるようにしたいのですが、
AutoHotKey.iniに書いたコマンドをグローバル変数に代入して、.ahk側で
参照し実行するというような事は可能でしょうか?
774773:2007/11/25(日) 19:28:23 ID:SP727yv40
書き換えたいのはボタンではなくPOVの設定です。
POV上下::スクロールをカーソルキーにしたりという感じです。
JoystickMouse.ahk内にIfWinActiveを書き連ねるしか無いのでしょうか?
775名無しさん@お腹いっぱい。:2007/11/25(日) 21:57:52 ID:ZcmBxjB40
基本的に一般的な使い方しか出来ないアプリだよ。
そういうマニアックなことには使えない。
776名無しさん@お腹いっぱい。:2007/11/26(月) 07:54:16 ID:CAK4/XjM0
Alt+`をホットキーにできないようですがこれは仕様ですか?
`をIME起動に割り当てているので代わりにAlt+`に`を割り当てたいのですが。
777名無しさん@お腹いっぱい。:2007/11/26(月) 08:13:56 ID:CAK4/XjM0
質問なのですが、トレイアイコンのシングルクリックに、メインウィンドウを
表示する以外のコマンドを割り当てることはできないでしょうか?
778名無しさん@お腹いっぱい。:2007/11/26(月) 08:16:46 ID:0Q60mCj/0
>>776
`はエスケープ文字
779名無しさん@お腹いっぱい。:2007/11/26(月) 13:06:53 ID:fm9sZXc30
>>767
現状keywaitで一つだけしかできないべ
780名無しさん@お腹いっぱい。:2007/11/26(月) 14:19:05 ID:uAmLls5k0
ボタン長押しで連打をやりたいのですが、スマートなやり方が考えられず
長押し解除専用のキーを必要としてしまいます。>>781

キー一本で長押し実現するヒントを教えてください。
781名無しさん@お腹いっぱい。:2007/11/26(月) 14:19:37 ID:uAmLls5k0
Trigger=0
2::
if Trigger =0
Trigger :=1
else if Trigger =1
Trigger :=0
return
1::
sleep,500 ;sleep入れて疑似長押し?
Loop
{
if Trigger =1
{
Trigger :=0
break
}
else
{
keywait,2, t0.25 ;長押し解除キーを.25秒待つ
send,繰り返しキー
}
}
return
782名無しさん@お腹いっぱい。:2007/11/26(月) 15:27:59 ID:iMxJ7Rzr0
>>780
解除するキーを 1 up に割り当てればいいんでね?
適当だけど。
783名無しさん@お腹いっぱい。:2007/11/26(月) 21:21:06 ID:wbN4Z2af0
神様!

どうか私にgogo.dllを使用するwav→mp3エンコードの関数をくださいませ!
784名無しさん@お腹いっぱい。:2007/11/26(月) 21:55:57 ID:/7Fctvyq0
gogo.exeを探し他方が早い気も酢
785名無しさん@お腹いっぱい。:2007/11/26(月) 23:00:08 ID:uAmLls5k0
>>782 2回押さないと止まらないし、確実に差し込めない。
というか、1キーで長押し自体Autohotkeyで無理ですか?
786名無しさん@お腹いっぱい。:2007/11/26(月) 23:37:08 ID:ZTpaeFzk0
>>785
希望と違う動作だったらスマン
Aをリピート

1::
KeyWait,1,U T0.5
If ErrorLevel=1
{
Loop
{
GetKeyState,State,1
If State=U
Break
Send,A
sleep,100
}
}
Return
787名無しさん@お腹いっぱい。:2007/11/26(月) 23:58:44 ID:EJchMc/w0
>>784
まったくそのとおりですねw

run, gogo_8hz.exe [options] inputPCM [outputPCM]

だそうです
788787:2007/11/27(火) 00:17:22 ID:OYLJ5zKh0
さて、デコードはどうすんべ
789名無しさん@お腹いっぱい。:2007/11/27(火) 00:46:17 ID:kvvUYL2J0
LAME.EXEでいいんじゃ
790名無しさん@お腹いっぱい。:2007/11/27(火) 01:34:48 ID:ia6xNpI10
ffmpegでもいいし
791名無しさん@お腹いっぱい。:2007/11/27(火) 08:46:55 ID:YpWIafWr0
>>785
$1::send,繰り返しキー

で、長押ししてれば普通は勝手にキーリピートしてくれないか?
特に制御とかなくてもイベント発生したような。
1 up:: を入れてしまうと解除までノーアクションになるかも知れんが。
リピートさせたいキーは特殊なキーなの?
792名無しさん@お腹いっぱい。:2007/11/28(水) 00:36:00 ID:CPesBzhw0
>>778
亀レスだが、キーラベルをエスケープすると怒られるよ。
793名無しさん@お腹いっぱい。:2007/11/29(木) 02:35:47 ID:urhdV+bi0
Offece2007 ってWinMenuSelectItemの 特殊な仕様のメニューバーに含まれる?
794名無しさん@お腹いっぱい。:2007/11/29(木) 13:57:46 ID:urhdV+bi0
FirefoxもWinMenuSelectItemが運ともスントも言わない。糞だ。
795名無しさん@お腹いっぱい。:2007/11/29(木) 14:40:10 ID:EAGnRBHX0
はいはい。そうだね。
796名無しさん@お腹いっぱい。:2007/11/29(木) 22:54:55 ID:uaNLMd3k0
767です。

お願いですから、誰か教えてくださいぃぃぃ・・・
797名無しさん@お腹いっぱい。:2007/11/29(木) 22:57:50 ID:aduZWmtj0
>>796
何がしたいのか分からない。
798名無しさん@お腹いっぱい。:2007/11/29(木) 23:22:39 ID:dRUo8qbw0
元々キー入力を監視するソフトじゃないか
確かに何がしたいのかわからん
~LButton::
~RButton::
SoundBeep
Return
799名無しさん@お腹いっぱい。:2007/11/29(木) 23:53:16 ID:ZgP+LruG0
英語版Windows XP Pro SP2上でAHKを使用しています。
AHKから英語版秀丸エディタ(Maruo Editor)を同定したいと思い、
以下のようなスクリプトを書きました。

SetTitleMatchMode, 2
#IfWinActive, ahk_class Hidemaru32Class
1::
WinGetTitle, title, A <-- ここが質問
MsgBox %title%
Return

WinGetTitleでアクティブウィンドウを指定すると期待通りにタイトル文字列が
取得できるのですが、タイトル取得モードを中間一致にしているにもかかわらず、
タイトル中の文字列を指定した場合にうまく動作しません。

WinGetTitle, title, Maruo <-- これはうまくいかない

何か理解不足があるのだと思うのですが、どなたか教えていただけませんか。
800名無しさん@お腹いっぱい。:2007/11/30(金) 00:30:29 ID:wmXESGfa0
大文字と小文字は区別されるよ
801名無しさん@お腹いっぱい。:2007/11/30(金) 00:55:37 ID:1wAf3rVe0
英語版まるおは使ったことないのでどういうタイトルがついてるのかよくわからん
まるおのタイトルキャプション見本をあげてくれ
802799:2007/11/30(金) 01:21:26 ID:kqe4GcaD0
>>801

キャプションは以下のとおりです。
(untitled) - Maruo
C:\AUTOEXEC.BAT - Maruo <-- これだけハイフンのまえにスペース2つ
C:\WINDOWS\win.ini (updated) - Maruo
803799:2007/11/30(金) 01:51:52 ID:kqe4GcaD0
本来の問題は解決していないのですが、>>799のスクリプトは単独ならば正常に動作しました。
何か他のスクリプトとコンフリクトしているようなので、もう少し調べてみます。
804名無しさん@お腹いっぱい。:2007/11/30(金) 05:07:18 ID:auk33WG70
SetTitleMatchModeをちゃんと「実行」しろ
805名無しさん@お腹いっぱい。:2007/11/30(金) 06:55:00 ID:t7lB3msY0
Gui,+Resize
Gui,Add,ListView,g_List grid -Hdr -Multi NoSort r32 w512 -Wrap,text

_List:
Loop,Read,%_ReadText%
{
LV_Add("",A_LoopReadLine)
}
LV_ModifyCol()
Gui,Show
Return

ExitApp

ウィンドウ表示後にウィンドウを大きくしても、リストの外側部分が広くなるだけで
リスト部分はリサイズされないんだけど、追随させるにはどうすれば良いのでせう。
806名無しさん@お腹いっぱい。:2007/11/30(金) 22:37:02 ID:xm2XOGBn0
w512で固定してるんだから、Guiがリサイズされたときにそこを変更するように書かないとだめなのでは。
807名無しさん@お腹いっぱい。:2007/11/30(金) 23:52:27 ID:+kb/eKZx0
>>797
右か左クリックが押されるのを待ちたいのです。
808名無しさん@お腹いっぱい。:2007/12/01(土) 00:51:47 ID:Ekk8adlM0
Loopで左右両方のGetKeyStateを監視するとか
809名無しさん@お腹いっぱい。:2007/12/01(土) 01:36:47 ID:qDIhy/Pw0
したいことをはっきり書かなきゃ分からんな。

「待ちたい」のはなぜ?
1) 前処理 → クリックイベント待ち→後処理 の様に連続処理の間に待ち時間がほしい
2) クリックイベントで何らかの処理を走らせたい

1) なら途中に無限ループ(適宜スリープを入れる)タイプ
>>808 の様にする

2) ならクリックイベントの処理を書く
>>798 の様にする
810名無しさん@お腹いっぱい。:2007/12/01(土) 20:28:42 ID:c5xiGZ130
>806
w512を消しても駄目だし、GuiSize:で別の値設定しても駄目なんすよね。
ウィンドウサイズ可変なんてよくありそうな処理だし、
何か方法はあるんだろうと、色々やってみてはいるんだけど。
811名無しさん@お腹いっぱい。:2007/12/01(土) 22:24:15 ID:Ekk8adlM0
GuiSize:
でいいんじゃないの
812名無しさん@お腹いっぱい。:2007/12/01(土) 23:35:35 ID:nbkJkIto0
ウィンドウ可変と言えばコレだろ
ttp://www.autohotkey.net/~Titan/#anchor
813名無しさん@お腹いっぱい。:2007/12/02(日) 00:33:46 ID:DHBOHEh30
初心者質問ですみません。uwscで書いたスクリプトをAutoHotkeyに移行したく、
流行らせるページのリファレンスを読んだのですが、
ファイルの特定の行の文字列を置換した文字で上書き、たとえばuwscで
fid = Fopen(InputVar, F_read or F_write1)
Fput(fid, ChgMoj(Fget(fid, line), "hoge","hogehoge"), line)
Fclose(fid)
のような事を行える方法が見つかりません。

Loop, Read, hoge.txt, hoge.txt
{
StringReplace, NewStr, A_LoopReadLine, hoge, hogehoge, All
IfInString, A_LoopReadLine, hoge, FileAppend, %NewStr%`n
}
return
これだと、ファイルの末尾に置換した文字列(行)が書き込まれてしまいます。
NewStrに取得した置換後の文字列を、その行に上書きするには、AutoHotkeyでは
どのように書いたら良いでしょうか。
814名無しさん@お腹いっぱい。:2007/12/02(日) 01:20:29 ID:sHQIZF330
Loop, READ, hoge.txt, temp.txt

とかやって、別ファイルにいったん書き出し、
新しいファイルを元の名前に上書きリネームするとかかな
UWSCも内部的には同じこと支店じゃないかとも思うんだけど
815名無しさん@お腹いっぱい。:2007/12/02(日) 01:31:24 ID:p1dTw0Br0
fputs使ってるんじゃね。
816名無しさん@お腹いっぱい。:2007/12/02(日) 04:21:56 ID:dsrGxldQ0
>>810
消したってそりゃだめだってw
一度設定した値を変えるのはGuicontrolで。

GuiSize:
width:=A_GuiWidth-10
height:=A_GuiHeight-10
GuiControl,Move,list,w%width% h%height%
Return
817名無しさん@お腹いっぱい。:2007/12/02(日) 08:31:32 ID:9WHdCfv90
どちらかでSpace + 文字キーでShiftを送るスクリプトが公開されていますが(SandS.ahk)、
もう少しシンプルなスクリプトはないでしょうか。
当方の環境ではスクリプト実行に少し時間がかかっているようで、
たまにキー入力についてきてくれないことがあるのです。
そこで自分で多少カスタマイズしようと思ったのですが、
複雑で理解できなかったため、もう少しやさしい教材があればと思ったためです。
818名無しさん@お腹いっぱい。:2007/12/02(日) 12:15:45 ID:6uXj/QTc0
そのスクリプト見てないし、
どんだけしょぼいスペックなのか分からないし
超高速タイピング技術の持ち主かもしれない
で、sleepはどうなっている
819名無しさん@お腹いっぱい。:2007/12/02(日) 12:56:02 ID:322RY1hZ0
スクリプトはこちらの、SandS.ahkというものです。
http://sadat-studio.net/modules/mydownloads/viewcat.php?cid=3
スペックはXP Pro SP2, Pentium M 1.6GHz, 2GBです。
Sleepはスクリプト中には入っていなかったので、Sleep, -1を入れてみましたが、
あまり変わらないような気がしました。
とりあえずこれで使ってみます。
820名無しさん@お腹いっぱい。:2007/12/02(日) 12:58:27 ID:qQ8bqVi50
menu を表示したときにそれを ESC で Cansel できないのが不便なのですが。
キーでメニューを消せるのでしょうか?
821名無しさん@お腹いっぱい。:2007/12/02(日) 14:31:26 ID:sHQIZF330
通常は出来る
そのスクリプト内でESCに何か割り当ててんじゃないの
その場合はMenuの前にHOtkeyをOffにしてその後でONにすりゃいい
822820:2007/12/02(日) 18:16:08 ID:qQ8bqVi50
>>821
ありがとうございます。できました。
823名無しさん@お腹いっぱい。:2007/12/02(日) 19:11:10 ID:LBr1z7it0
>816
できた。ありがとう。
824名無しさん@お腹いっぱい。:2007/12/04(火) 09:48:59 ID:J9CGIaP70
少し教えてください。
上がよくて、下がダメなのはなぜでしょう?

If GetKeyState("Space", "P") = 0
IfEqual, GetKeyState("Space", "P"), 0
825名無しさん@お腹いっぱい。:2007/12/06(木) 11:00:17 ID:fp6dFs/50
あるアプリを起動してマウスカーソルの位置に表示したいのですが、
基本的にはうまくいくのですが、sleipnirやx-finderといういくつかのウィンドウ上では
ポジションがずれます。
何か考慮抜けがあるのでしょうか。

#x::
MouseGetPos, xpos, ypos
Run ..\CopyDate.exe
WinWaitActive, ahk_class TForm1
WinMove, ahk_class TForm1,, xpos, ypos
return

826名無しさん@お腹いっぱい。:2007/12/06(木) 12:24:11 ID:ARnZThbh0
AutoHotkey 1.0.47.05で
+2::@
とだけ記述した設定ファイルでShift+2を押下すると`が入力され、
+2::Send, {@}
の場合は@が入力されます。
これはShift+2の押下でShift+@にremapされるからのようなのですが、
このようなケースではSendを使う以外に解決方法はないのでしょうか。
また、remapと一文字のみ送るSend関数とでは、厳密には何が違うのでしょうか。
827名無しさん@お腹いっぱい。:2007/12/06(木) 12:40:24 ID:KwRlT3gU0
>>825
CoordMode,Mouse,Screenではどうかな?
828名無しさん@お腹いっぱい。:2007/12/06(木) 12:47:58 ID:o4L+ibFD0
>>824
IfEqual の一つ目の引数は variable name じゃないとだめだから。
IfEqual, GetKeyState("Space", "P"), 0 と書いても、GetKeyState("Space", "P") は実行されない。
829名無しさん@お腹いっぱい。:2007/12/06(木) 13:30:46 ID:OUFr4hs70
>>828
なるほど、そういうことでしたか。
理解しました。
ありがとうございました。
830名無しさん@お腹いっぱい。:2007/12/06(木) 15:45:51 ID:fp6dFs/50
>>827
なるほど。できました。
ありがとうございます。
831名無しさん@お腹いっぱい。:2007/12/07(金) 07:27:26 ID:Euv1PYWe0
なまずさんの「MBS_Stringright」使った後に文字列の連結ができなくなるのは何ででしょうか?
832名無しさん@お腹いっぱい。:2007/12/09(日) 19:21:50 ID:ImXasX1a0
>>720
ほかのアプリの現在開いているファイル名のアドレスはどうやって調べるのでしょうか?

ねこまんまとかいじってみたんですがさっぱりでして・・・
833名無しさん@お腹いっぱい。:2007/12/10(月) 00:36:41 ID:pPxF/FYA0
タイトルにフルパスを表示する設定にしてそっから引っ張る
834名無しさん@お腹いっぱい。:2007/12/10(月) 01:38:29 ID:j5uIXyco0
どなたか下記質問についてお答えいただけると幸いです。
ヘルプ中、Variant (Duplicate) Hotkeysの項目を見ると以下のようにあります。

If more than one variant is eligible to fire, only the one closest to the top of
the script will fire. The exception to this is the global variant (the one with
no #IfWin criteria): It always has the lowest precedence; therefore, it will
fire only if no other variant is eligible (this exception does not apply to hotstrings).

このように、#IfWinを使う時はグローバルホットキーの優先度は一番下になるとあります。
行いたい事は、この制限を越えて、ある特定のスクリプト内で指定されたホットキーの
優先度を#IfWin内の同一ホットキーのものよりも上げたいのです。
これは可能でしょうか。また可能な場合、どのような処理が必要なのでしょうか。

具体的には、現在ThumbRemap.ahkというThumbSenseのようなスクリプト
(このスレッドの上の方でも話題に出ています)を使用しているのですが、
このスクリプトではタッチパッドのオンオフに合わせて特定のグローバルホットキーのオンオフを切り換えています。
そこでタッチパッドに触れている間はこちらのホットキーを最優先させたいのですが、
上記仕様により#IfWin内のホットキーが優先されてしまい、個人的に不便しています。
これをコントロールできたらと思い質問させていただきました。
宜しくお願いいたします。
835834:2007/12/10(月) 01:45:24 ID:j5uIXyco0
現在までに試したことは以下の通りですが、どちらも上手くいっていません。
- Hotkey,....., on, p(数字)でホットキーの優先度を上げる
- Thread, priority, highでスクリプトの優先度を上げる
836名無しさん@お腹いっぱい。:2007/12/10(月) 08:18:16 ID:i+qaywOX0
>>832
逆アセンブルしたソースとデバッガで追いかけれ。
ねこまんまは一度使っただけだけど、役に立たないと思う。
837名無しさん@お腹いっぱい。:2007/12/10(月) 13:26:09 ID:rzqHmWuq0
TaskListっていう、Alt-Tab拡張のアプリがあります。

こいつぜんぜんホットキーが利かないのですが、そんなアプリあるのでしょうか?

ahk_class TaskList
838名無しさん@お腹いっぱい。:2007/12/10(月) 13:30:46 ID:plxDEGkd0
DetectHiddenWindows ON
839名無しさん@お腹いっぱい。:2007/12/11(火) 16:56:26 ID:jE6sAuFj0
IfInStringやIfWinactiveを普通のIf文と絡めることは出来ないんでしょうか。
If a=1 and Ifinstring,str,hoge
みたいな感じで

もしくはstrの中にhoge1またはhoge2が含まれhoge3を含まない、みたいな分岐は可能でしょうか。
If文羅列や正規表現で出来るのはわかるのですが。
840名無しさん@お腹いっぱい。:2007/12/11(火) 18:22:41 ID:Th+n5Uid0
関数化すればいいんじゃないかな
841名無しさん@お腹いっぱい。:2007/12/11(火) 21:39:58 ID:nuOSnrUq0
コンテキストメニューの選択をホイールで行うのってどうやるの?
842名無しさん@お腹いっぱい。:2007/12/12(水) 10:01:02 ID:aJUnfXa20
PostMassageでウィンドウメッセージ送ればよい
ホイールUP/DOWNで移動→ WM_KEYUP / WM_KEYDOWN
MClickで決定 → Send,{Enter}

ただし、実行中のAHKのMenuは操作できないけどね。
843名無しさん@お腹いっぱい。:2007/12/12(水) 10:50:55 ID:Ap5yjz1l0
Minimizeを使ってアクティブウィンドウ以外を最小化する
コマンドはどう書いたらいいんでしょうか?
844名無しさん@お腹いっぱい。:2007/12/12(水) 11:32:49 ID:aJUnfXa20
WinGetでList取得してループで回す。
845名無しさん@お腹いっぱい。:2007/12/12(水) 11:41:08 ID:3+qoDuM10
アクティブウィンドウ記憶させてWIn+D送ってそいつだけ復帰さす
846名無しさん@お腹いっぱい。:2007/12/12(水) 13:01:56 ID:Ni26+cnk0
その横着はお勧めできないな。
847名無しさん@お腹いっぱい。:2007/12/12(水) 13:09:50 ID:jUSw91+o0
アクティブウィンドウ記憶させてWIn+M送ってそいつだけ復帰さす
848名無しさん@お腹いっぱい。:2007/12/12(水) 22:32:19 ID:/Z/t9/MG0
kbdaccが効かなくなってしまうんだけど、対処法ある?
849名無しさん@お腹いっぱい。:2007/12/13(木) 05:16:48 ID:V6p7gWpm0
hoge1 = 10
hoge2 = 15
hoge3 = 8
hoge4 = 30
hoge5 = 47
....

これらを数字の大きい順に並べ替える方法ってありますか?
もはやAutoHotkeyの領分じゃないかもしれないけど。
850名無しさん@お腹いっぱい。:2007/12/13(木) 07:33:46 ID:Ve4PCgOE0
あったよね

sort
851名無しさん@お腹いっぱい。:2007/12/13(木) 11:53:20 ID:65UGBOxX0
ゆとりはsortも自分で実装出来ないのですか?
852名無しさん@お腹いっぱい。:2007/12/13(木) 12:04:27 ID:2wrZf1fs0
タイトルバー右クリックでシェードできるソフトを入れて、すべてシェードさせるスクリプトを作ったのですがうまくいきません。
教えてください。
#p::
WinGet, id, list, , , Program Manager
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
WinGetTitle, id_name, ahk_id %this_id%
WinGet, title1, id, %id_name%
WinGetTitle, this_title, ahk_id %this_id%
If (title1 != "")
{
ControlClick, x50 y5,ahk_id %this_id%, ,RIGHT  ;←これだとダメ
; WinActivate, ahk_id %this_id%
; WinWaitActive, ahk_id %this_id%
; MouseClick, RIGHT, 50, 20  ;←これだとOK
}
}
return
853名無しさん@お腹いっぱい。:2007/12/13(木) 13:44:34 ID:Jbl+biBN0
そりゃそうだ
854名無しさん@お腹いっぱい。:2007/12/13(木) 14:14:06 ID:2wrZf1fs0
タイトルバーにクリックイベントを渡したいときは、アクティブにしないといけないのでしょうか?
裏に隠れているウィンドウのタイトルに右クリックイベントを渡すことはできないのでしょうか?
855名無しさん@お腹いっぱい。:2007/12/13(木) 16:05:47 ID:VRtn6vRM0
ソートは自分で実装するもんじゃねえ
856名無しさん@お腹いっぱい。:2007/12/13(木) 18:14:19 ID:tHqg5peD0
そーとも限らん
857名無しさん@お腹いっぱい。:2007/12/13(木) 18:16:37 ID:VRtn6vRM0
ソートの実装は学者の領域だ
858名無しさん@お腹いっぱい。:2007/12/13(木) 19:33:04 ID:65UGBOxX0
そーとは知らなかった
859名無しさん@お腹いっぱい。:2007/12/13(木) 19:39:30 ID:AK+kZ1XT0
そーとーにつまらんな
860名無しさん@お腹いっぱい。:2007/12/13(木) 20:16:40 ID:bSrKvYdi0
お前等そこにソートしろ。そしてまとめて死ね。
861名無しさん@お腹いっぱい。:2007/12/13(木) 20:33:50 ID:Twdc17oW0
もうこの話題はそっとしとけ。
862名無しさん@お腹いっぱい。:2007/12/13(木) 20:35:20 ID:mHDr3Obc0
「ガミラスに下品な男は不用だ」
863名無しさん@お腹いっぱい。:2007/12/17(月) 01:05:09 ID:0/QNwQp+0
素人くさい質問で失礼します。
いまHotstringを使いはじめたのですが、ちょっと分らないことが出てきました。
下記はミススペリング訂正ですが、スペースが認識されません。
::abouta::about a
"about a"と入力すると"aabout a"と帰ってきてしまいます。
正確にスペースを認識させるにはどうしたらよいのでしょうか?

本体のスクリプトで、"#HotString *"が
サブのスクリプトで"#HotString B0"が指定されています。
864名無しさん@お腹いっぱい。:2007/12/18(火) 20:38:12 ID:ncgyPqnV0
英語論文をPDFで読んでて、わからない単語をいちいちPDICにコピペするのが
めんどくさい人むけのスクリプト。

send {LButton}
send {LButton}
Send,^c
ClipWait
WinGet, PD,, ahk_class PDICW
ControlSend, edit1, {ESC}, ahk_id %PD%
ControlSend, edit1 , ^v, ahk_id %PD%
865名無しさん@お腹いっぱい。:2007/12/19(水) 00:18:51 ID:8W+3n21N0
Ctrl+EでIEのグーグルツールバー検索窓にフォーカスを移すにはどうすればいいですか。
866名無しさん@お腹いっぱい。:2007/12/19(水) 11:07:34 ID:agp0vTlr0
>>864
これにヒントを得て同じようなスクリプトを書いています。
そこで質問があるのですが、AHKで選択範囲の文字列を取得するにはどうしたらよいでしょうか。
>>864のようにクリップボードを使用するのが一番簡単なのですが(現在はこのようにしています)、
クリップボード履歴ソフトも併用しており、できれば調べた単語を履歴に残したくないのです。
867名無しさん@お腹いっぱい。:2007/12/19(水) 12:15:47 ID:3FwZdYCs0
一時的にクリボソフトをKILLして処理が終わったら再起動(最終手段)
868名無しさん@お腹いっぱい。:2007/12/19(水) 13:27:10 ID:/yTB1FYq0
いきなり最終手段かよw
869名無しさん@お腹いっぱい。:2007/12/19(水) 14:01:17 ID:XL7CMG3t0
クリップボード履歴ソフトをAHKでつくる
870名無しさん@お腹いっぱい。:2007/12/19(水) 16:06:57 ID:d38PRMT00
PDICってクリップボードの内容で辞書引いてくれないのか。
EbViewとかだとできるのに。
871名無しさん@お腹いっぱい。:2007/12/19(水) 21:38:31 ID:I6jmpQrY0
あれ、クイックポップアップ検索機能って、最近のPDICにはないの?
もう10年くらいバージョンアップしてないからよくわからんけど。
872名無しさん@お腹いっぱい。:2007/12/19(水) 21:42:49 ID:I6jmpQrY0
↓あるじゃん

http://homepage3.nifty.com/TaN/about-pdic.html

・ポップアップ検索という、マウスカーソルを移動するだけでマウスの下の
 単語を自動的に検索したり、ほかのアプリケーションでクリップボードへ
 英単語をコピーするだけでその英単語の日本語訳をポップアップ表示
 により即座に知ることができます。
・どこポップ!(フリーソフト)という別のソフトを使用すれば、PDIC以外の
 ウィンドウ上でもマウスクリックで単語・熟語の意味が分かります
873名無しさん@お腹いっぱい。:2007/12/20(木) 00:39:50 ID:SfSOt+9P0
>>872
どこポップ!は残念ながらpdfには使えない。
なので古い論文でhtmlが無い奴だと困るのだ。
でもポップアップ検索にテキストコピペすればおっけーなんだよね。
まあ、pdfを直接読みたい人向けと言うことで。
んで需要無いだろうけど>>864のバージョンアップ版。
単語をマウスの真ん中ボタンクリックで検索。

#IfWinActive ahk_class AcrobatSDIWindow
MButton::
IfWinNotExist,ahk_class PDICW
{
Run, C:\Program Files\Personal Dictionary\PDICW32.EXE
WinWait, ahk_class PDICW
}
send {LButton}
send {LButton}
Send,^c
ClipWait
WinGet, PD,, ahk_class PDICW
ControlSend, edit1, {ESC}, ahk_id %PD%
ControlSend, edit1 , ^v, ahk_id %PD%
return
874名無しさん@お腹いっぱい。:2007/12/20(木) 00:47:54 ID:SfSOt+9P0
とか、書いてたら、クリップボードの内容自動的にポップアップしてくれるじゃん。
あららー。
875名無しさん@お腹いっぱい。:2007/12/20(木) 13:00:45 ID:KvVt7lqu0
マウスカーソルを動かしながら特定のキーを押したら、
特定のキーコードを送信するっていうことはできますか?
876名無しさん@お腹いっぱい。:2007/12/20(木) 15:30:16 ID:2/31z/wR0
そりゃできますよ。
877名無しさん@お腹いっぱい。:2007/12/20(木) 15:37:26 ID:KvVt7lqu0
>>876
どこかにサンプルなどありますか?
878名無しさん@お腹いっぱい。:2007/12/20(木) 16:09:30 ID:9XStGp650
クレクレ
879名無しさん@お腹いっぱい。:2007/12/20(木) 17:36:11 ID:KvVt7lqu0
>>877
すいません、探したらありました。m(__)m

ホットキーで呼ぶルーチン内でそのキーを送信するにはどうしたらいいですかね?
例えばこのようなものですが、これだと再帰的になってしまいます。

Hotkey, s, Exec
Exec:
hogehoge
Send, s

Hotkey, ~s, Exec
とすれば、キーも送信されるのですが、押されたキー ( ここでは s ) を送信するかどうかを
Exec サブルーチン内で決めたいのです。
880名無しさん@お腹いっぱい。:2007/12/20(木) 21:06:08 ID:TTXj+jNx0
sを送る前にExecのHotkeyをOffにしてもだめ?
881名無しさん@お腹いっぱい。:2007/12/20(木) 22:47:49 ID:gbHTeiDN0
Hotkey, $s, Execで大丈夫じゃね?もしくは#UseHook
882名無しさん@お腹いっぱい。:2007/12/21(金) 10:24:45 ID:pWLqK8SL0
WinHideで非表示にされているかを判断する関数がないのですが、
他のやり方で判断することはできるでしょうか。
883名無しさん@お腹いっぱい。:2007/12/21(金) 10:30:10 ID:+DEq9bb/0
>>880
Off にすることで再帰呼び出しはしなくなったのですが、
On にしても再度ホットキーが有効にならなかったので、

>>881
Hotkey, $s, Exec の方で解決しました。
ありがとうございました。
884名無しさん@お腹いっぱい。:2007/12/21(金) 18:40:47 ID:d9IwqCOZ0
窓の杜 - 【今日のお気に入り】マウスカーソルを1つ追加して切り替え「だぶるまうす」
http://www.forest.impress.co.jp/article/2006/05/11/okiniiri.html

がある面で気に入って、ある面で非常に使いにくくて困っています。
Mボタンでしか二番目のポインタに切り替えられないのが致命的です。
気に入っているのは、二番目のポインタのアイコンを表示させたままにできることです。

AutohotkeyのMouseGetPosを利用すれば、いくらでもポインタの座標を記憶できて、
何個でも予備のポインタを作れるのは良いのですが、全然グラフィカルではありません。

「だぶるまうす」みたいに二番目のポインタのアイコンみたいなのを表示させる方法は
ないでしょうか?
885名無しさん@お腹いっぱい。:2007/12/21(金) 18:45:18 ID:X7QVlSFW0
背景透過のGUIってできったっけかな。
886名無しさん@お腹いっぱい。:2007/12/21(金) 19:56:47 ID:MDBknDm60
>>885
できるよ
>>1さんとこのSystemMonitor.zipが参考になると思う
887884:2007/12/21(金) 20:12:59 ID:d9IwqCOZ0
今のところ記憶させた座標位置を表示/非表示させるのにTooltipを使っているのですが、
やっぱりダサイです。好きな画像を表示/非表示させる関数か何かありませんか?

PointerPosiShow:
{
If ShowToggle=1
{
Tooltip,,,,1
Tooltip,,,,2
Tooltip,,,,3
ShowToggle :=0
return
}
else
{
Tooltip,%Xpos1%:%Ypos1% - 1st,Xpos1,Ypos1,1
Tooltip,%Xpos2%:%Ypos2% - 2nd,Xpos2,Ypos2,2
Tooltip,%Xpos3%:%Ypos3% - 3rd,Xpos3,Ypos3,3
ShowToggle :=1
}
}
return
888名無しさん@お腹いっぱい。:2007/12/21(金) 20:18:10 ID:X7QVlSFW0
面倒くさかったら
ツールチップで「1」とか「2」とか出しておくのもいいんじゃないかと思った
889名無しさん@お腹いっぱい。:2007/12/21(金) 20:20:43 ID:X7QVlSFW0
おっと、実践済みw

Gui, Pictureで頑張るしかないんじゃない
タイトルタスクバーなしで背景透過などなど
890884:2007/12/21(金) 23:09:40 ID:d9IwqCOZ0
Gui,Add,Pictureの用例が少ないですね。-Captionでタイトルバーは外せました。
Gui,-Caption
Gui, Margin, 0, 0
Gui,Add,Picture,, C:\WINDOWS\Cursors\arrow_r.cur
Gui,show,x%Xpos1% y%Ypos1%,
; Sleep,1500
; GUI, Destroy
return

しかし、余白が灰色になってしまいます。
AltSubmit BackgroundTransを足すと今度は描画がおかしくなっているし。

これならGui,Add,Textのほうがマシかも。
891名無しさん@お腹いっぱい。:2007/12/22(土) 00:04:12 ID:kk+77Nb+0
;とりあえずできたかなあ
#Persistent
#SingleInstance, FORCE
CoordMode, Mouse, Screen
Stock = 0
#+M::
{
If Stock = 1
{
MouseMove, %X%, %Y%
Stock = 0
GUI, Destroy
;ToolTip
Return
}
MouseGetPos, X, Y
X1 := X - 25
Y1 := Y - 10
Gui,-Caption +AlwaysOnTop -Border +ToolWindow
Gui, Color , White, White
Gui, Margin, 0, 0
Gui,Add,Picture,, C:\WINDOWS\Cursors\3dgarro.cur
Gui,show,x%X1% y%Y1% NA,
WinSet, TransColor ,White, ahk_class AutoHotkeyGUI
Stock = 1
Return
}
+ESC::
{
ExitApp
}
892884:2007/12/22(土) 21:34:12 ID:K8HZffCa0
>>891 完璧です!背景色も隠れてくれました!!
893名無しさん@お腹いっぱい。:2007/12/23(日) 11:09:49 ID:InZqzp/R0
流行らせるページの、マウスジェスチャ2の設定の仕方がようわからん。
894名無しさん@お腹いっぱい。:2007/12/24(月) 23:49:05 ID:jftPpHl70
AHK 1.0.47.05 をWindowsXP上で使用しています。
あるホットキーを定義したとして、その直前のキーストロークを取得する方法はありますか?
例えば、"1::"の実行する内容を、直前のキーがアルファベットの場合と数字の場合で変える、
というようなことを行いたいです。
895名無しさん@お腹いっぱい。:2007/12/25(火) 00:01:37 ID:xx+GVmRm0
896名無しさん@お腹いっぱい。:2007/12/25(火) 02:14:20 ID:q4bcxFtA0
>>895
レスありがとうございます。
現在Inputコマンドを使用しているのですが、すこし問題があったのです。
このコマンド実行後からのキー入力は変数に格納されるのですが、
ホットキーラベル前のものはわからないのです。
しかしAHKでは(キーフックがされていれば)キー履歴がのこっていますので、
直前のキーバッファを読み込む方法があればと思って質問しました。
897名無しさん@お腹いっぱい。:2007/12/25(火) 18:39:50 ID:fl/kVB6D0
>>896
ホットキーを押す押さないにかかわらず常時Inputをまわしておけばいいんじゃね?
もっとスマートにやれるんかな。
loop
{
Input,Key,V L1
KeyHistory=%KeyHistory%%Key%
}

F1::Msgbox,%KeyHistory%

Esc::ExitApp
898名無しさん@お腹いっぱい。:2007/12/26(水) 02:10:35 ID:YPH0gTwf0
>>897
ありがとうございます。
これはちょっとしたアイディアですね。
いちど試してみます。
899名無しさん@お腹いっぱい。:2008/01/01(火) 22:34:42 ID:hMS9KpAb0
お馬鹿質問なら申し訳ないのですが、MouseGesture.ahkで
条件定義にClassNNを組み込めるようにならないでしょうか?

FirefoxのClassNN:MozillaWindowClass1 で使いたいので。


 MouseGetPos,MG_X,MG_Y,MG_HWND,MG_HCTL,3 ;362行目。座標とハンドルを所得している
の前後に
MouseGetPos,,,,MG_ClassNN ;マウス直下のClassNNをMG_ClassNNに格納
なんかを書き加えたとしても、そこからが大変でどうやって「条件定義」に
組み入れていいのかわかりません。


(しっかし、MouseGesture.ahkは良くできているな。英訳すればStrokeItなんかよりよっぽど売れそう)
900名無しさん@お腹いっぱい。:2008/01/02(水) 19:55:32 ID:dPry9hqy0
質問です

#InstallMouseHook
GetKeyState, m, XButton1
If m = D
Msgbox, X1 Down
ExitApp

これで通常はこのスクリプトを起動時にマウスの拡張1ボタンを押下してた場合
然るべきメッセージが出ると思うのですが…
今話題の流行らせるページのマウスジェスチャ2を実行中の場合は
上のこのスクリプトが機能しません
どうすれば外部の独立したスクリプトが、拡張1ボタンの状態を知ることができますか?
901名無しさん@お腹いっぱい。:2008/01/02(水) 20:40:51 ID:u3t13z/A0
自己解決しました。カスタム定義で値を

MG_Gesture="RB_" && MG_CClass="MozillaWindowClass"
にして、Firefox全体を無効とするところを、

>>899でClassNNをMG_ClassNNに格納するように書き加えた上で
"RB_" && MG_ClassNN="MozillaWindowClass8"
にして実現しました。

これでメニューバー〜タブバーのところでMouseGesture.ahkの
ジェスチャーを適用させることができました。
902901=899:2008/01/02(水) 21:16:42 ID:u3t13z/A0
>>901=899です。
MozillaWindowClass1は固定ですが、タブや他のウィンドウで番号が色々生成される
みたいなんで、面倒ですが出る番号を全部登録しなおしました。
903名無しさん@お腹いっぱい。:2008/01/07(月) 15:21:38 ID:727jCAH10
スクロールバーの現在位置を記憶と記録したところまでスクロール(要は記録位置に戻す)ことってできます?
904名無しさん@お腹いっぱい。:2008/01/07(月) 22:09:10 ID:SqLMLZ2P0
マウスとキーボード入力を記憶するマクロを自分で書いてみたいんですが
言語は何を使って書けばいいですか?どなたかご教授願います。
905名無しさん@お腹いっぱい。:2008/01/07(月) 22:54:33 ID:Cz9pjz7Q0
>>904
ahkでどうぞ。コメントは日本語でおk
906名無しさん@お腹いっぱい。:2008/01/08(火) 23:39:14 ID:yIAnvYA40
>>905
遅くなってすいません。レスありがとうございました
907名無しさん@お腹いっぱい。:2008/01/09(水) 00:17:24 ID:y37Oc/yQ0
オリジナルスクリプト言語を作りたいって話じゃなかったのか?
908名無しさん@お腹いっぱい。:2008/01/09(水) 00:39:29 ID:k0kzpK5Z0
マウスとキーボードの操作が記録できりゃいいのならUWSCは?
909名無しさん@お腹いっぱい。:2008/01/09(水) 00:57:50 ID:c00jkwY40
>>903
スクロールバーのつまみの位置取得。
DllCall()とか試してみたけどスクリプトの書き方がよくわからなかったので
自分は以下のような原始的な手法で取得してる。

縦スクロールバーの上にくっついてる▲ボタンの部分だけをbmp画像で保存。
ImageSearchで検索。検索範囲はアクティブウィンドの右端、
スクロールバーが存在し得る範囲のみ。
イメージが見つかったらそこの座標からx方向に+4、y方向に+14した座標を
基点につまみの色をPixelSearch。
検索範囲の幅は1ピクセルで下に向かってサーチ。
OutputVarの座標につまみがあるので
あとは煮るなり焼くなりMouseMoveなり。

ちなみにアクティブウィンドウの右端にある
標準的な縦スクロールバーでバーサイズが13の場合ね。
横スクロールバーとかテキストエリアのスクロールバーとかは
自分で試行錯誤ってくれ
910名無しさん@お腹いっぱい。:2008/01/09(水) 09:18:47 ID:48sv5wYVP
>>909
GetScrollPos で検索するとサンプルがあるよ。
http://lukewarm.s101.xrea.com/commands/DllCall.html
http://msdn2.microsoft.com/en-us/library/bb762680(VS.85).aspx
911名無しさん@お腹いっぱい。:2008/01/09(水) 13:32:15 ID:HAFjpZF30
>>910
ポジションが取れないソフトのほうが多いです。
sleipnirはダメ
JaneはOK

スクロールセットするとき、
DllCall("SetScrollPos", "UInt", ChildHWND, "Int", 1, "Int", high, "BOOL", 1)
すると、バーの位置は戻るけど、ウィンドウエリアに変化がありません。なぜ?
912名無しさん@お腹いっぱい。:2008/01/10(木) 12:59:26 ID:ldBSxW5w0
GuiのListViewでファイル一覧を造り、そのファイルをドラッグ&ドロップして移動したりするものを作ろう思いました。
リストビューはドラッグ&ドロップの機能は備えていないので、自前で作ろうかと思い、
・マウスの左ボタンが押されたときリストの内容を取得
・あげられたときにマウスの下のコントロールを取得してそこに放り込む
という動作を考えました。しかし、
~LButton up::
この命令を入れると、リストビューで左クリックが頻繁に押しっぱなしになって使い物になりません。
何かいい方法はないものでしょうか。
913名無しさん@お腹いっぱい。:2008/01/10(木) 13:42:16 ID:m4YEAzgV0
それだけの情報では分かりません
原因がそこにあるかも怪しそうです
914名無しさん@お腹いっぱい。:2008/01/10(木) 19:49:23 ID:MExMR3EA0
失礼しました。原因と思われる部分だけ抜き出してシンプルなahkにしたけれど同じでした。

Gui,add,listview
Loop,10{
Lv_add()
}
Gui,show
return

~LButton up::return

最後一行を入れなければ、左クリックは普通の挙動をします。入れるとおかしくなります
915名無しさん@お腹いっぱい。:2008/01/10(木) 23:12:10 ID:+oIulwBQ0
キースクリプト書けるソフト探してるですが
このソフトは仮想キーしか送れないんでしょうか
916名無しさん@お腹いっぱい。:2008/01/10(木) 23:48:30 ID:m4YEAzgV0
>>914
リストヴューを持ったAHKのGUIに対する#IfWinActiveを設定して
その中でLButtonがUPするのを待ったらどうでしょう?

というか、その書き方だとUPが常に無効になるので
押しっぱなしになるのは当然では
917名無しさん@お腹いっぱい。:2008/01/11(金) 08:12:49 ID:NyCMm1d+0
>>915
ドライバレベルのキーコードも送れますよ。
がんばれば。
918名無しさん@お腹いっぱい。:2008/01/11(金) 09:29:22 ID:KXdS+/Dj0
>>915 "このソフトは仮想キーコードしか"送りません。

"がんばれば"vbsでもPerlでもドライバレベルのキーコードを送れるんでしょうね。
919名無しさん@お腹いっぱい。:2008/01/11(金) 21:53:04 ID:OQWz/6Gi0
無変換キーを押しながらHキーが押された場合の処理にシフトキーの状態を反映させたいのですが、
以下のコードではシフトキー押したが判別出来ません。

どうしたらいいですか? よろしくお願いします。

vk1Dsc07B & h::
{
if (GetKeyState(Shift,"P"))
{
Send,^+{Left}
}
else
{
Send,^{Left}
}
return
}

「無変換キー以外を修飾キーにしなよ」って言うのはなしでお願いします…
920名無しさん@お腹いっぱい。:2008/01/11(金) 21:57:32 ID:OQWz/6Gi0
見辛かったです。ごめんなさい。

vk1Dsc07B & h::
{
  if (GetKeyState(Shift,"P"))
  {
    Send,^+{Left}
  }
  else
  {
    Send,^{Left}
  }
  return
}
921919,920:2008/01/11(金) 22:30:17 ID:OQWz/6Gi0
お風呂入ってたら気づいた… お騒がせしました
922名無しさん@お腹いっぱい。:2008/01/12(土) 16:31:54 ID:PRp4XIbc0
Gui,Add,Editで作ったテキストボックスに2バイト文字を入力すると
入力が反映されないのは仕様ですか?
923名無しさん@お腹いっぱい。:2008/01/12(土) 19:01:09 ID:DYRXxPMn0
>>922
以前同じ症状で悩んだ。日本語入力はできるんだが、確定しないと表示されない。
MSのIMEからATOKに乗り換えた際になぜか改善された。何が原因なんだろ。
924名無しさん@お腹いっぱい。:2008/01/15(火) 21:38:20 ID:cdmonoX+0
複数Guiある場合、GuiEscapeやGuiCloseをまとめられないのでしょうか。
GuiEscape:
2GuiEscape:
3GuiEscape:
みたいに列挙するしかありませんか?
925名無しさん@お腹いっぱい。:2008/01/15(火) 22:48:03 ID:yOLsOZJvP
Gui,+LabelName
926名無しさん@お腹いっぱい。:2008/01/15(火) 22:50:41 ID:cdmonoX+0
>>925
おぉ、ありがとう。
助かりました。
927名無しさん@お腹いっぱい。:2008/01/15(火) 23:12:45 ID:DStLPOSc0
質問です。

RButton::
  Menu, M1, Add, item1, label1
  Menu, M1, show
  return
label1:
  return

右ボタンを押すと メニュー[item1] が出ます。
で、その[item1]を消さないまま右ボタンを押すと
コンテキストメニューが出てしまいます。
場合によっては[item1]は表示されたままになってしまいます。
コンテキストメニューが出ないようにするにはどうすればいいのでしょう。
928名無しさん@お腹いっぱい。:2008/01/16(水) 12:28:52 ID:kC3osbi00
選択範囲を指定している状態で発動すると
^CしてGoogleで検索するスクリプトキボンヌ
929名無しさん@お腹いっぱい。:2008/01/16(水) 13:32:10 ID:7cz6Dg210
>>927
トグルにしたらどうすか?

$RButton::
keywait,RButton
if(Toggle<>null)
{
Toggle = null
mousegetpos, X, Y
Y+=1
Menu, M1, Add, item1, label1
Menu, M1, Show, %X%, %Y%
return
label1:
return
}
else
{
Toggle = 1
send,{RButton}
return
}
930名無しさん@お腹いっぱい。:2008/01/16(水) 15:24:17 ID:0g1/Jpzr0
Send, ^C
ClipWait
の後に
ttp://www.ms.u-tokyo.ac.jp/~abenori/diary_old/200709.html#200709260
ではどうだろうか
931930:2008/01/16(水) 15:25:02 ID:0g1/Jpzr0
>>928宛でした。
932名無しさん@お腹いっぱい。:2008/01/16(水) 16:16:06 ID:muhKco8+0
ほー、AHKでS-JISエンコしてるんだな
これUTFやEUCでも出来るんかな
933名無しさん@お腹いっぱい。:2008/01/16(水) 20:55:32 ID:yb8zC/uP0
クリップボードの内容をUTFやらにSJISやらにエンコする命令があったはず。
詳細忘れたので調べてくれ。
934972:2008/01/16(水) 23:08:19 ID:918cbrqn0
>>929
ありがとうございます。トグルを生かす!方向でいろいろいじくってるのですが・・・
もっとうまいやりかたないでしょうか。

;;; エキスプローラ、デスクトップなどで自前の右クリックメニューを出す
#IfWinActive, ahk_class ExploreWClass
  $RButton:: Goto, mymenu
#IfWinActive, ahk_class CabinetWClass
  $RButton:: Goto, mymenu
#IfWinActive, ahk_class Progman
  $RButton::Goto, mymenu
#IfWinActive
mymenu:
  Send,{LButton}
  Clipboard =
  Send,^c
  ClipWait,0.1
  if Clipboard
  {
    Menu, M1, Add, &Notepad.exe, label_notepad
    Menu, M1, show
  }
  else
  {
    KeyWait, RButton
    Send,{RButton}
  }
  return
label_notepad:
  Run,notepad.exe "%Clipboard%"
  return  
935929:2008/01/17(木) 16:21:18 ID:Pf7W0S5S0
>>934
さっきのトグルうんぬんってやつなし
もっと簡単にできたわ

$RButton::
keywait,RButton
ifwinactive,ahk_class CabinetWClass
Goto, mymenu
ifwinactive,ahk_class Progman
Goto, mymenu
send,{RButton}
return

mymenu:
;mousegetpos, x, y
;x+=1
Menu, M1, Add, item1, label1
;Menu, M1, Show, %x%, %y%
Menu, M1, Show
return

label1:
return

AHKのメニューからマウスカーソルをずらして右クリックすれば
標準のコンテキストメニューが出る
;マウス動かさないで右をカチカチ押して
;標準コンテキストとAHKのメニューを交互表示させたいなら
;AHKメニューの出る位置をマウスのxかy座標から+1ずらす
936934:2008/01/17(木) 22:12:38 ID:PSZTQPCi0
>>935
実は、すみません。
結局右クリックでメニューを出すのはあきらめてしまいました。
標準のコンテキストメニューは時々かなりもたついてつらかったのです。
で、結局 CapsLock に割り当てていこうと思ってます。
いろいろありがとうございました。
937名無しさん@お腹いっぱい。:2008/01/19(土) 01:28:33 ID:qkPooSIs0
質問させていただきます。
#IfWinActiveにてウインドウタイトルを指定する場合、
「タイトル名A」ではなく「 タイトル名A 」のように前後に半角スペースを
入れたいのですが、どのように書けばいいのですか?

また、SetTitleMatchModeにてMode1と2と3を同一スクリプト内で
使い分けたいのですが、最初に書いたModeに統一されてしまいます。
どのようにする必要がありますか?

よろしくおねがいします。
938名無しさん@お腹いっぱい。:2008/01/19(土) 03:39:10 ID:pyp2fbIt0
%A_Space%

#IfWinActive,でおおまかにひらって、
そこからはWinGetTitleでふりわ桁らどうですか
939名無しさん@お腹いっぱい。:2008/01/19(土) 13:17:08 ID:vCu1TIIW0
流行らせるページの BBS に書き込めなかったのでこちらに。
マウスジェスチャ2の初回起動ではまりました。

2007/12/07 版の zip ファイルを展開して MouseGesture.ahk を実行すると、
Disable 条件のない空の設定画面が現れます。
そのまま Disable 条件を作成せずに OK ボタンを押してしまうと
MG_IsDisable() が定義されず、MouseGesture.ahk の実行がエラーになります。

初回起動前に同梱の MG_Config.ahk を編集し、6行目の
%A_ScriptDir%MouseGesture.ini.sample を
%A_ScriptDir%\MouseGesture.ini.sample に変えておくと問題ないようです。

940名無しさん@お腹いっぱい。:2008/01/19(土) 14:24:45 ID:4HXsloao0
質問です
AHKファイルに送るコマンドライン引数がいくつになるか分からないときに
それらをLoopを使って処理する方法ってありませんか?
941名無しさん@お腹いっぱい。:2008/01/19(土) 14:47:15 ID:pKgYun4s0
あるよ
「%0%」には引数の数が格納されるからそれを回せ。
942名無しさん@お腹いっぱい。:2008/01/19(土) 15:40:35 ID:4HXsloao0
できました
A_Indexを展開してそのまま変数名として使えるのか…
すごいのかすごくないのかよくわかんない言語ですね
943名無しさん@お腹いっぱい。:2008/01/19(土) 16:10:44 ID:1bImVEyL0
単に不定数引数連結ってのならこんなのもあるよ

GetArgs()
{
args := DllCall("GetCommandLine", str)
StringGetPos, pos, args, %A_ScriptName%
StringLen, length, A_ScriptName
count := pos + length + 1
StringTrimLeft, args, args, count
return args
}

args := GetArgs()

俺が作ったんじゃないけど
944名無しさん@お腹いっぱい。:2008/01/20(日) 12:36:10 ID:qzNWCS9z0
ちょいと質問

コンビネーションキーを使用して、
半角/全角とOを押したときの動作。

最初は正常に動くんだけど、
起動以降はOキーを押下しただけでプログラムが起動してしまう。
これって仕様ですか?

sc029 & O::Run,notepad.exe


ちなみにP & Oだと正常動作。
!Oでも正常動作。
他のプログラムで半角/全角キー、Oキーのの割り当て等はしていない。


OSはVistaUltimateの64BitなのでOS依存なのか気になります。
キーボードはHHKBLite2の日本語配列です。
945名無しさん@お腹いっぱい。:2008/01/20(日) 12:36:49 ID:qzNWCS9z0
×起動以降
○次のキー押下以降

です。
946名無しさん@お腹いっぱい。:2008/01/20(日) 12:44:19 ID:qzNWCS9z0
度々の追加カキコすみません

無変換(sc07B)&Oも正常動作でした。

うーむ。
947名無しさん@お腹いっぱい。:2008/01/20(日) 13:38:15 ID:uUCDE/R50
半角全角は二つのキーコードを持ってるらしく
それがトグルになって現れるような気がする
だもんで、漏れはCtrl+半全を

^vkF4sc029::
^vkF3sc029::

これを両方かいとくことで対処してる
ただコンビネーションで押下が残るという感じだともう一工夫いるかもね
948名無しさん@お腹いっぱい。:2008/01/22(火) 22:28:27 ID:2rC8u8x80
Autohotkeyで、「IMEが漢字候補を出しているかどうか」を調べる方法はありますでしょうか。
たとえば、「あか」と入力して赤、垢と漢字いう一覧から文字を選んでいる間は、という条件付けがしたいんです。
949名無しさん@お腹いっぱい。:2008/01/22(火) 22:30:56 ID:P6VHJcBR0
なまずさんとこにIME関連の関数があったと思ったけど
それでいけんかな。
950名無しさん@お腹いっぱい。:2008/01/22(火) 23:10:51 ID:2rC8u8x80
入力中か候補選択中かの区別はできなそうですが、キャレットを見ることで希望の物を作るには足りそうです。
なまずさんのをスクリプトを拝借していじってみようと思います。
ありがとうございました。
951名無しさん@お腹いっぱい。:2008/01/23(水) 12:44:55 ID:vhH0TeoE0
フルキーボーのほかにテンキーを使っています。

キーボードには00のキーがなく、テンキーにはあります。
この場合、テンキーの00キーを他のキーに割り当てることはできますか?
952名無しさん@お腹いっぱい。:2008/01/23(水) 12:51:39 ID:L1kkmDxL0
独立したキーコードかえしてるなら割り当てられます。
953名無しさん@お腹いっぱい。:2008/01/23(水) 13:07:34 ID:vhH0TeoE0
今、AHKを流行らせる会のページを見ましたが
プログラム&PC初心者には難解すぎです・・・
テンキーの00をTabキーに置き換えたいだけなんですが
どうにか簡単にできる方法ないですかね。
色々、調べるつもりはあるんですがなにを調べればいいのかも分かりません。
ヒントだけでもいいので教えいただけないですか?
954名無しさん@お腹いっぱい。:2008/01/23(水) 13:09:39 ID:B9bHA89g0
プログラム&PC初心者で無くなってからどうぞ
955名無しさん@お腹いっぱい。:2008/01/23(水) 13:23:40 ID:RCTjygMJ0
どこまでレベルが低いのかわからないので
全部教えてというのは無理があるよ。
数学教えるにも小学生なみなのか高校生なみなのかで全然違うし。
自分でできるとこまでやってみて
どうしてもわからないからここを教えてというならいいけど。
956名無しさん@お腹いっぱい。:2008/01/23(水) 14:24:13 ID:L1kkmDxL0
大体キー置き換えたいだけならレジストリ書き換えるタイプでいいじゃない。
ヘルプ読んでもわからないなら諦めた方がいいよ。
957名無しさん@お腹いっぱい。:2008/01/23(水) 15:25:35 ID:rIPvY8GS0
ヘルプのどこを見ればいいのかわからないってことだよね。

キーの置換えはHotkeyかRemapつかえばおk
00キーのコードがわからないなら下のほうにある 「キーコードによる指定」のスキャンコードを調査法を参照汁
http://lukewarm.s101.xrea.com/KeyList.html
958名無しさん@お腹いっぱい。:2008/01/23(水) 16:00:26 ID:xJgejaZj0
テンキーの00って0を2回送ってるだけな気がする
959名無しさん@お腹いっぱい。:2008/01/23(水) 16:44:30 ID:LvL3gKc40
AHKは自分には敷居が高かったので
他のソフトX Button Makerを使って00をTabに
置き換えてみましたけどダメでした。
結果、0を一つ入力してその後右に移動しました。
結果として、O+Tabに代わっただけでした。
結局無理っぽいですね。
960名無しさん@お腹いっぱい。:2008/01/23(水) 17:07:02 ID:L1kkmDxL0
>>959
ここは関係ないソフトの日記を書くスレじゃない
961名無しさん@お腹いっぱい。:2008/01/23(水) 17:25:43 ID:LvL3gKc40
お前バカでしょ?
っていうかバカだから。
>>958で書かれてる内容が間違いじゃないっていいたかっただけだから。
結局、どのソフトでもキーコードが一緒だから無理ってこと。
そこまで説明しないと分からないの?
ばぁ〜かwww
962名無しさん@お腹いっぱい。:2008/01/23(水) 18:02:54 ID:1GD8enHrP
なんでそこで無理って結論になるのかわからん。

つか、自分の頭が足りないからってくだらん煽りしなくていいよ。恥の上塗り。
963名無しさん@お腹いっぱい。:2008/01/23(水) 18:05:50 ID:7isv2WKF0
>>961
おまえみたいな真性の馬鹿、つまり気違いは死ね。
キーコード一緒でもキーアップとかの時間記録して差を計算すればほぼ正確に00押されたこと分かるだろ。
>>960がいってるようにおまえの日記を書く場所じゃないからさっさと死ね。
964名無しさん@お腹いっぱい。:2008/01/23(水) 18:27:51 ID:rIPvY8GS0
Hotstringで逝けそうな気がしないでもない
965名無しさん@お腹いっぱい。:2008/01/23(水) 18:55:25 ID:1Jmr3sL30
解決しないまでも付き合ってくれた人が居たのにキレ始めてワロタw
966名無しさん@お腹いっぱい。:2008/01/23(水) 19:04:47 ID:MNrm3vWj0
真の馬鹿と言うのは知識が無さ過ぎて周りが馬鹿に見えるから始末に終えない
967名無しさん@お腹いっぱい。:2008/01/24(木) 12:38:59 ID:i/6v0cp30
言われて煽るしかなかったんだろう。鼠が猫を噛むとやらだ
968名無しさん@お腹いっぱい。:2008/01/24(木) 17:25:22 ID:6BIFVlUe0
AutoHotkeyを流行らせるページ
FAQのスレ
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1200674082/
969名無しさん@お腹いっぱい。:2008/01/26(土) 17:55:29 ID:XAhcE9Sx0
AHK自体は簡単だと思うけどな。

・スクリプトファイルの書式
・EXEファイル化の方法
・キーリスト
・コンビネーションキー
・既に起動している場合は、そのプロセスをアクティブにする

ここのリファレンスが”参照しにくい”だけで。


この手のOS、アプリのリファレンスが参照しにくいのは
海外も同じなのかな。
970名無しさん@お腹いっぱい。:2008/01/26(土) 18:07:26 ID:O9zrMTnZ0
書式なんてiniと同程度。
EXEファイル化とかいってもメインウィンドウにメニューが数個しかないんだから迷うほどでもない。
キーだってわざわざ調べる方法まで用意してくれてるんだからリファレンス見るまでもない。

関数も「AutoHotkeyを流行らせるページ」に分かりやすくまとまってる。
これ以上何を求めるの?
971名無しさん@お腹いっぱい。:2008/01/26(土) 18:22:37 ID:feSXJb010
英語に抵抗ないならヘルプ読めば事足りる。
キーワードで検索も出来るし。
972名無しさん@お腹いっぱい。:2008/01/26(土) 18:34:04 ID:K7evRCDC0
大上段に来たわりにカスだったなw
973名無しさん@お腹いっぱい。:2008/01/26(土) 21:00:19 ID:AF+WvsYH0
>>969
流行らせるページと WinMessageの解説サイトのページをchm化して、AHKのタスクトレイメニューから選択できるようにしてみ
ついでにエディタの外部ヘルプ呼出し機能にも設定しとけ。鬼便利だぞ
974名無しさん@お腹いっぱい。:2008/01/26(土) 21:45:38 ID:XAhcE9Sx0
>>973
いや、俺にレスは要らんよw
プログラム初心者(Win初心者は論外だが)に難解ってのは
単純に手引きの見にくさだけなんじゃないの〜ってレスなので。

有志によるドキュメントに難癖つける趣旨ではないっす。


個人的にはコンパイラがGUIで動くだけでなんてサービス精神旺盛なツール!・・・と思った。
975名無しさん@お腹いっぱい。:2008/01/26(土) 21:52:11 ID:K7evRCDC0
漏れはフェンリルでリファレンスフォルダスキャンしてるよ
HTMはTXT化してる
976名無しさん@お腹いっぱい。:2008/01/26(土) 23:30:09 ID:O9zrMTnZ0
AHKってコンパイラなの?
スクリプトエンジンにスクリプトファイルをexeにパッキングして、実行時に展開してるのかと思った。
977名無しさん@お腹いっぱい。:2008/01/27(日) 01:02:28 ID:eUDsKPof0
いや、そうだよ。
978名無しさん@お腹いっぱい。:2008/01/27(日) 01:20:58 ID:8aKrXEiA0
公式に厳密にのっとるとConvert-erだな。

フォーラムでの一部のやりとりとか
流行らせるページではCompileと表現している。

ので、日本ではコンパイルって表現が今のところ主流みたいね。

狭義でとるか広義でとるかの違い。
くだらない議論というか、無駄に盛り上がる議論というか。
979名無しさん@お腹いっぱい。:2008/01/27(日) 05:18:05 ID:D/wLZK1/0
流行らせるページはあえて公式サイトの構造に似せてるんでないの?
ほぼ同じ構成なんで原文みる時もすぐ場所がわかってありがたいよ。
980名無しさん@お腹いっぱい。:2008/01/27(日) 14:52:28 ID:7+zVUJxx0
似せてるというか、基本は公式のページ引っ張ってきてそのままローカライズしてるみたいよ。
体裁は外部のcssで一括変更してる。
981名無しさん@お腹いっぱい。:2008/01/27(日) 15:43:59 ID:wPIkHgML0
つまりパクってアフィで稼ごうって魂胆か。
982名無しさん@お腹いっぱい。:2008/01/27(日) 16:10:02 ID:PX0p0I8v0
983名無しさん@お腹いっぱい。:2008/01/27(日) 17:37:25 ID:uK/onKSE0
この程度の流行り方では
翻訳作業に見あった金にならんよ。
しかも原稿が役に立ったのがネトランだけじゃ
ほぼボランティアだろ。

多分コンビニでアルバイトした方が良いくらい。
しかも広告は鯖のが付いてるだけだし
もっと広告つけてもいいというか少し気の毒。
984名無しさん@お腹いっぱい。:2008/01/27(日) 18:04:00 ID:dNfmsJiy0
アフィで稼ごうが何しようが、
見てる俺らにとってとてつもなく有効なだけで十分だろ。
985名無しさん@お腹いっぱい。:2008/01/27(日) 18:37:22 ID:bn0ZdL130
俺ら?
986名無しさん@お腹いっぱい。:2008/01/27(日) 18:42:44 ID:tu0dVPzm0
また空気読めないアフィ嫌が突っかかってるのか。
いいかげんにしろ。
987名無しさん@お腹いっぱい。:2008/01/27(日) 18:47:31 ID:uK/onKSE0
良くて時給10円くらいじゃね?いやマジで。
もしAHKのページが有料鯖なら悲惨だろうね
普通に赤字だろ。時間考えるとあり得んボランティア

それが、アフィ扱いって
人間としてどうなのその思考回路。










まあ、俺はAHK使ってないけど。
988名無しさん@お腹いっぱい。:2008/01/27(日) 19:42:17 ID:njfCQ4oLP
XREAがたまに広告付き無料アカウントを募集していることを知らんゆとりがいるのか
989名無しさん@お腹いっぱい。:2008/01/27(日) 21:59:41 ID:XASOoo9b0
バグってハニーと聞いて飛んできました
990名無しさん@お腹いっぱい。
流行らせるページは公式から認められているのでは?
公式の日の丸をクリすると流行らせるページに飛ぶでしょ