AutoHotkey Thread 2
- 1 :名無しさん@お腹いっぱい。:2005/10/21(金)
04:31:53 ID:qy14hWPT0
- If You = beginner
Read, Template, >>2-6
Previous Thread:: AutoHotKey
Thread http://pc7.2ch.net/test/read.cgi/software/1098531338/
If Res > 950 Please, Build, NextThread
- 2 :名無しさん@お腹いっぱい。:2005/10/21(金) 04:35:50
ID:qy14hWPT0
- ■AutoHotkey公式
ttp://www.autohotkey.com/
■解説サイト
AutoHotkeyを流行らせるページ ttp://lukewarm.s101.xrea.com/
猫歩き -
AutoHotKey ttp://tryhost.net/~catwalk/?cmd=read&page=AutoHotKey
TOKKY.COM ttp://www.h3.dion.ne.jp/~tokky/
eamatの日記
ttp://d.hatena.ne.jp/eamat/
AutoHotkey メモ - Principia
ttp://principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2
- 3 :名無しさん@お腹いっぱい。:2005/10/21(金) 05:56:58
ID:pFmEOL420
- SendMessage,0x10,0,0,,ahk_id >>1
- 4 :名無しさん@お腹いっぱい。:2005/10/21(金) 06:02:30
ID:UHzgbYwX0
- #SetThreadMood, Mataari
- 5 :名無しさん@お腹いっぱい。:2005/10/21(金) 06:03:04
ID:hmcphRZM0
- 2つのテキストファイルを比較して、違う箇所を変数に代入するって無理ですよね?
- 6 :名無しさん@お腹いっぱい。:2005/10/21(金) 07:11:20
ID:U6Eoic8d0
- おいおい、マジで1の説明スクリプトネタにしたんかよ。
miscにテンプレ案まとめてくれた人いたのに無視してるし。
しかし解説くらい入れてくれ、始めてきた人が何のソフトかわからんだろ
/*
AutoHotKeyはキーボードやマウスなどに様々な機能を割り当てる常駐ユーティリティです。
スクリプトで自由に動作を設定できます。 ポップアップメニューや入力ボックスなどのGUIを表示することができ、
応用次第で使い方は無限に広がります。
*/
- 7 :補足:2005/10/21(金) 07:32:49 ID:U6Eoic8d0
- ■BBS(2ちゃん形式)
http://lukewarm.s101.xrea.com/bbs/
■アップローダー
ttp://lukewarm.s101.xrea.com/up/
■関連記事のあるサイト 追加
流行らせるページの中の人の雑記 ttp://cgi19.plala.or.jp/lukewarm/
なまず日記 ttp://www.tierra.ne.jp/~aki/diary/
おばけ日記
ttp://d.hatena.ne.jp/obake/
スクリプトのページ for 信長の野望 革新
ttp://www2.pf-x.net/~kakushin/
1 Hour Software by skrommel
ttp://www.donationcoders.com/skrommel/
- 8 :名無しさん@お腹いっぱい。:2005/10/21(金) 14:34:59
ID:BHfWk1Gq0
- これってLANで繋がってる別のPCにキー操作を送ることは出来ますか?
- 9 :名無しさん@お腹いっぱい。:2005/10/21(金) 14:39:07
ID:gNwVAaQx0
- >>8
バカスwwwwwwwwwwwww
- 10 :名無しさん@お腹いっぱい。:2005/10/21(金) 18:54:16
ID:BHfWk1Gq0
- (・3・) ?
- 11 :名無しさん@お腹いっぱい。:2005/10/21(金) 21:13:52
ID:U6Eoic8d0
- >>8
確か本家のほうでそういうのなかったっけ?
英語わかんないんでちゃんと読んでないが、向こう製の有名なソフトと組み合わせると クライアントPCをどうにかできたのあった気がする
- 12 :5:2005/10/22(土) 17:01:31
ID:0mEJt8xM0
- やっぱ無理ですか?
- 13 :名無しさん@お腹いっぱい。:2005/10/22(土) 17:21:52
ID:PJPwE6IS0
- がんばりゃ出来るだろ
- 14 :名無しさん@お腹いっぱい。:2005/10/22(土)
17:22:49 ID:T09muY/00
- >>12
ロジックが難しいよ どんな仕様にするか自分で考えてみた?
この難しさは言語関係ないよ
- 15 :名無しさん@お腹いっぱい。:2005/10/22(土) 17:51:27
ID:bbxBVyHG0
- >>12
Windows付属のFCや、GNUのdiffを呼び出して、
結果を標準出力でもらうのがいいと思います。
- 16 :5:2005/10/22(土) 17:56:58 ID:0mEJt8xM0
- スクリプト初心者の自分には無理っぽいですね・・・
- 17 :名無しさん@お腹いっぱい。:2005/10/22(土) 18:42:36
ID:bbxBVyHG0
- >>16
私も初心者ですが、ttp://www.autohotkey.com/docs/
首っ引きで落書きして遊んでますよ。 今は試しもせずにここに落書きしますが file1=C:\data\1.txt
file2=C:\data\2.txt tmpfile:=%TEMP%\A_NowUTC% RunWait, FC /n
%FILE1% %FILE2% > %tmpfile% FileRead, fc, %tmpfile%
何がしたいか分からないですが、最初はこんな雰囲気じゃないですか?
(上記だとFCの不要な出力まで入るので、FileReadLineで除外しながら読むべき)
- 18 :名無しさん@お腹いっぱい。:2005/10/23(日) 00:30:53
ID:GKt8y+QZ0
- >>17
>RunWait, FC /n %FILE1% %FILE2% >
%tmpfile%
ここがうまくできないです。
File1 = D:\a.txt File2 =
D:\b.txt File3 = D:\c.txt RunWait, FC %File1% %File2% >
%File3% Return
とやっても出力されず。
- 19 :名無しさん@お腹いっぱい。:2005/10/23(日) 01:02:53
ID:F0F64ea40
- >>18
コンソールで標準出力取り込みたい場合は RunWait,
%COMSPEC% /C FC /n %FILE1% %FILE2% > %tmpfile%,,hide
詳しい説明知りたかったら、DOS窓開いて cmd.exe /? (9x系は command.com /?)してみれ
- 20 :18:2005/10/23(日) 01:06:30 ID:GKt8y+QZ0
- >>19
ありがとうございます
- 21 :名無しさん@お腹いっぱい。:2005/10/24(月)
04:09:18 ID:a7aA78Tt0
- 正規表現使うのって無理?
なんか通すなら何がいいかな
- 22 :名無しさん@お腹いっぱい。:2005/10/24(月) 06:13:52
ID:EXVZlPHc0
- Refoとか http://www.vector.co.jp/soft/win95/util/se337110.html
- 23 :名無しさん@お腹いっぱい。:2005/10/24(月) 20:01:21
ID:tAwpBQuA0
- やっぱクリップボード使うしか手段はないのか・・・。
- 24 :名無しさん@お腹いっぱい。:2005/10/24(月) 20:24:06
ID:2CoEqoGk0
- 標準出力か直接ファイル書き出しできるツールで出力結果テンポラリに書き出して
FileReadで読み込んだらどうだろう
ツールはperlでもDMonkeyでもWSHでもエディタマクロでも好きなの使いたまい
- 25 :名無しさん@お腹いっぱい。:2005/10/24(月) 20:54:53
ID:uNfVf2Yw0
- RegExp扱えるDLL(各種)をDllCallで利用するのは無しですか。
- 26 :名無しさん@お腹いっぱい。:2005/10/24(月) 21:33:17
ID:PCi80khV0
- ttp://lukewarm.s101.xrea.com/myscripts/index.html#bregexp
ためしに作ってみた。
- 27 :名無しさん@お腹いっぱい。:2005/10/24(月) 21:35:54
ID:tAwpBQuA0
- oioi!
- 28 :21:2005/10/24(月) 21:37:42 ID:a7aA78Tt0
- >>22>>26
レス遅れてしまって申し訳ないがサンクス !!
- 29 :名無しさん@お腹いっぱい。:2005/10/24(月) 22:31:46
ID:a7aA78Tt0
- SpilitPathって「ソ」が入ってるとうまく働かないみたいなんですが・・・・
他にダメ文字ってあります?
- 30 :29:2005/10/24(月) 22:35:41 ID:a7aA78Tt0
- よく調べずにすみません。
一般的に言われてる通り、2バイト目に \ を含むとダメなようですね。
- 31 :名無しさん@お腹いっぱい。:2005/10/24(月) 23:17:32
ID:xz8pIzwD0
- 窓使いの憂鬱の &EditNextModifier のような機能を持たせる記述はありますかね。
以下,窓使いの憂鬱の Manual から &EditNextModifier の説明です。
----------------------------------------------------------------------------
次にユーザーがキーを入力した時に、モディファイヤ が押されていることにします。例えば、 key ESC =
&EditNextModifier(M-) とすると、Alt + X などを ESCAPE X
などで代用することが可能になります。
-----------------------------------------------------------------------------
- 32 :名無しさん@お腹いっぱい。:2005/10/25(火) 01:18:37
ID:C2fzdx1p0
- ダメ文字回避することって公式で頼まないと無理?
- 33 :名無しさん@お腹いっぱい。:2005/10/25(火)
02:25:47 ID:8o+XQN/n0
- 多分むかし誰かが頼んだと思う
でも英語圏だと全然無意味だし 日本人とかがソース提供しないと無理じゃないかな
- 34 :名無しさん@お腹いっぱい。:2005/10/25(火) 05:46:49
ID:zWdEJo5k0
- ここや流行らせるBBSで話題に上がってるのは何度も見たけど
実際に本家に特攻した人いたんだっけ?
(IME云々のあたりはサンプル送ろうかって話も出たけどSendMessageでカタが付いたので
結局フィードバックはしなかった筈)
- 35 :名無しさん@お腹いっぱい。:2005/10/26(水) 22:27:19
ID:nd14Kelo0
- ゲームオプションを開こうと↓のように記述したのですが、上手く開けません。
Run,c:\windows\rundll32.exe
shell32.dll,Control_RunDLL C:\WINDOWS\SYSTEM\JOY.CPL
どこか足りない部分でもあるのでしょうか?
- 36 :名無しさん@お腹いっぱい。:2005/10/26(水) 22:29:53
ID:MJ0XX+Ib0
- ,
を `, でエスケープすれば?
- 37 :名無しさん@お腹いっぱい。:2005/10/26(水) 22:33:41
ID:nd14Kelo0
- 無事開くことができました。
即レスありがとうございました。
- 38 :名無しさん@お腹いっぱい。:2005/10/27(木) 11:52:21
ID:R8o0MbA00
- --- test.ini ------
[test] testpath = %A_MyDocuments%\Script
-----------------
IniRead, testpath, c:\test.ini, test,
testpath ,
変数testpath中の %〜%部分を展開させる方法ってありますか
StringReplace,testpath,testpath,`%A_MyDocuments`%,%A_MyDocuments%
内容が固定で予測できるものなら↑で置換えられるけど 環境変数とかもフレキシブルに参照できたらなぁと
- 39 :名無しさん@お腹いっぱい。:2005/10/27(木) 13:32:18
ID:u/F9vgSO0
- 質問です。
http://www.autohotkey.com/docs/commands/KeyWait.htm
のKeyWaitのコマンドリファレンスのサンプル3
*NumpadAdd:: MouseClick,
left,,, 1, 0, D ; Hold down the left mouse button. KeyWait,
NumpadAdd ; Wait for the key to be released. MouseClick, left,,, 1,
0, U ; Release the mouse button. return
をNumpadAddからShiftやらCtrlやらAltやらに変えると
うまく動かないのですが(どうもキーがリリースされた時点でスクリプトが走る感じになってしまう
修飾キーでも動く、なにかいい方法はありませんか?
Shift:: MouseClick, left,,, 1,
0, D KeyWait, Shift MouseClick, left,,, 1, 0, U return
- 40 :名無しさん@お腹いっぱい。:2005/10/27(木) 17:54:25
ID:rPavX0hw0
- Shift::
を +Shift:: で一応出来た。これが正しいのかは知らんけど。
ペイント:押してる間ちゃんと描画可能であることを確認。 エクスプローラ:押してアイコンのドラッグ可能であることを確認。
Spy++で一応メッセージもみてみたけど多分大丈夫だと思う。
- 41 :名無しさん@お腹いっぱい。:2005/10/27(木) 18:14:57
ID:Z0Jib14Q0
- >>38
Transform,Derefでできる気がする
- 42 :38:2005/10/27(木) 21:26:36 ID:BJupbOTH0
- >>41
thx ! ↓で試してみたら上手くいったよ!
/*
[test] testpath = %A_MyDocuments%\Script [dmy] */
IniRead, testpath, %A_ScriptFullPath%, test, testpath ,
Transform,pathdata,Deref,%testpath% MsgBox,%pathdata% return
ついでに Transform,val,HTML も試してみたけどこっちは2バイト文字(日本語)がだめぽ
- 43 :名無しさん@お腹いっぱい。:2005/10/27(木) 21:45:02
ID:wCR+8YoN0
- いつのまにか1.0.40.03 になってる
- 44 :名無しさん@お腹いっぱい。:2005/10/28(金) 09:33:32
ID:A/rBIdCZ0
- >>43
でもZIPファイルは落とせないね!
- 45 :名無しさん@お腹いっぱい。:2005/10/29(土) 00:58:05
ID:XDFu3HNG0
- Set Win = WScript.CreateObject("Shell.Application")
'Win.MinimizeAll '全ウィンドウを最小化 'Win.UndoMinimizeALL 'ウィンドウ操作を元にもどす
'Win.TileVertically 'ウィンドウを左右に並べて表示 'Win.TileHorizontally
'ウィンドウを上下に並べて表示 Win.CascadeWindows ' ウィンドウを重ねて表示
こんなvbsをAHKで賢くやるほうほうはないですかね。 (vbsはコンパル時間がうざい)
- 46 :名無しさん@お腹いっぱい。:2005/10/29(土) 01:13:06
ID:Yt1MOkGO0
- なにを言ってるのか解らんのだが・・・
- 47 :名無しさん@お腹いっぱい。:2005/10/29(土) 11:28:39
ID:DzqBi16s0
- 解像度を取得して
WinSetで並べる
- 48 :名無しさん@お腹いっぱい。:2005/10/29(土) 12:27:47
ID:6hUgk4ep0
- vbsで何でコンパイルが必要なのかわからん、あれもスクリプトやろ
全最小化と元に戻すのはまんまのがある、コマンド調べろ
並べて表示、重ねて表示はタスクバーのコンテクストメニューから選べるので その辺をエミュレートするとか。
- 49 :名無しさん@お腹いっぱい。:2005/10/29(土) 12:48:18
ID:HP8QDb5t0
- LButtonを押した、離したをキーで代替したいのですが
w:: ; Send,{LButton
Down} return まではできたのですが、wキーを離したというイベントは取得できないのでしょうか?
???:: ; Send,{LButton Up} return
- 50 :名無しさん@お腹いっぱい。:2005/10/29(土) 12:56:44
ID:e8EHHc6U0
- インタープリタ言語って実行するたびコンパイルしてるみたいな感じなんでしょ?
そんときのウェイトがダルいっつってんだと思うけど、俺も>>48に同意 VBSが必要な理由がわからない
- 51 :名無しさん@お腹いっぱい。:2005/10/29(土) 13:02:30
ID:e8EHHc6U0
- >>49
流行らせるページにそのものズバリで解説されてるよ
NT系限定みたいだけど
- 52 :名無しさん@お腹いっぱい。:2005/10/29(土) 13:31:01
ID:HP8QDb5t0
- >>51
目を通してみたつもりだったんですが見落としてました。
NTで検索したら見つかってこれでできました。 ありがとうございます。
w:: ;
Send,{LButton Down} return w up:: ;
Send,{LButton Up} return
- 53 :名無しさん@お腹いっぱい。:2005/10/29(土) 16:44:12
ID:+/XWPeiP0
- >>40ありがとうできますた。
+Sift::
とか、なんか裏技っぽいですねぇ
- 54 :名無しさん@お腹いっぱい。:2005/10/29(土) 17:10:19
ID:6hUgk4ep0
- >>50
>45は vbs →
ahkに移行したいって内容だし、漏れはvbsが不要とは言ってない
>実行するたびコンパイルしてるみたいな感じ
言いたいことは大体わかるが、コンパイルって「実行前に行う構文チェック」とは違うから。
コンパイルとはソースをオブジェクトコードに翻訳する作業のこと、
スクリプト(インタプリタ)言語は実行時に逐次処理するのでオブジェクト変換は行われない。
と思ったら、wikipediaに↓の記述があった
>インタプリタの中には、実行直前に一度ソースコードを中間的なコード(中間言語)に変換し、
>それを逐次解釈するものもある http://ja.wikipedia.org/wiki/ã‚¤ãƒ³ã‚¿ãƒ―ãƒªã‚¿
vbsがどうなのかは知らん
- 55 :名無しさん@お腹いっぱい。:2005/10/30(日) 04:22:18
ID:/Ikc9y6N0
- クリップボード拡張を作ってみようと思ったんだけど
クリップボード内に指定した文字列が入らずに
元からあった内容が貼り付けられたり メニュー操作が無視されたりします(何も起こらない)
書いたのは以下のような内容なのですが、何かいい方法はありませんか?
Backup := ClipboardAll
Menu,clip_select,Add,line,clip
Menu,clip_select,Add,text,clip
Menu,clip_select,Show,%A_CaretX%,%A_CaretY% exit
clip:
if A_ThisMenuItemPos=1 { Clipboard = ―――――――― send,^v
Clipboard := Backup Backup := return }
if
A_ThisMenuItemPos=2 { FileRead,Clipboard,C:\text.txt send,^v
Clipboard := Backup Backup := return }
- 56 :名無しさん@お腹いっぱい。:2005/10/30(日)
05:09:41 ID:TyhuAUFb0
- 音量をCtrl+UpとCtrl+Downで操作し、そのボリュームをGUIで表示して1秒後に消える
というものを作ろうとしています。(ようはMasterVCみたいなもの)
Gui, +AlwaysOnTop
-Caption Gui, Color, 245DDB Gui, Add, Text, vVolume cWhite, ***
Return
^Up:: SoundSet, +5, Master Gosub, Sound
Return
^Down:: SoundSet, -5, Master Gosub, Sound
Return
Sound: SoundGet, Vol, Master Transform,
Vol, Round, %Vol% GuiControl,, Volume, %Vol% Gui, Show, x624
y998 NA Sleep, 1000 Gui, Hide Return
しかし、これだと音量を例えば20上げたくてCtrl+Upを4回押しても
1回押すごとに1秒待たなくてはいけず、反映されません。
どなたかお力をお貸しください。
- 57 :名無しさん@お腹いっぱい。:2005/10/30(日) 05:58:30
ID:CU8CuHjq0
- >>56
タイマーでGui,Hideを1秒後に1回だけ実行させるように取り計らう
- 58 :名無しさん@お腹いっぱい。:2005/10/30(日) 06:00:59
ID:CU8CuHjq0
- >>55
適当に間空けてみたら?
- 59 :56:2005/10/30(日) 06:04:03 ID:TyhuAUFb0
- >>57
なるほど、こんな方法があったんですね。 ありがとうございます。
ところで、これのGUIウィンドウがタスクバーに表示されないようにできないでしょうか?
- 60 :55:2005/10/30(日) 06:53:42 ID:/Ikc9y6N0
- >>58
Clipwaitを入れたりはしてたんですが
そういえばSleepはやってませんでした。 ClipWait Sleep, 250
ぐらいを挟んだらたまにコケますがうまくいくようになったようです。 とりあえずこれで微調節してみようと思います。
ありがとうございました。
- 61 :名無しさん@お腹いっぱい。:2005/10/30(日) 08:44:09
ID:mpnujeVB0
- >>59
Gui,+/-Option
>>60 ClipWaitはクリップボードを空にしてからじゃないと意味がないよ
内容が書き換わったか、ではなくクリップボードに何か入っているかを見てるから
- 62 :56:2005/10/30(日) 14:09:58 ID:TyhuAUFb0
- >>61
見あたらないんですが・・・。 どのオプションでしょうか?
- 63 :56:2005/10/30(日) 14:23:56 ID:TyhuAUFb0
- 見つかりました。
+ToolWindowですね。すみませんでした。
- 64 :56:2005/10/30(日) 14:33:52 ID:TyhuAUFb0
- もう1つすみません。
+E0x00000020を入れても透過ウィンドウにならないです。
- 65 :名無しさん@お腹いっぱい。:2005/10/31(月) 13:05:42
ID:auv8fr6b0
- つWinSet
- 66 :名無しさん@お腹いっぱい。:2005/11/01(火) 18:03:24
ID:ozgXNR060
- >>56
完成したらUPしてくれませんか?
- 67 :名無しさん@お腹いっぱい。:2005/11/01(火) 18:40:57
ID:JPnPn5j40
- >>56
>>66
ttp://www.autohotkey.com/forum/viewtopic.php?t=2216
これのHotkey部分を書き換えれば望みの動作になるかと。
- 68 :56:2005/11/01(火) 22:04:36 ID:hYFbhs5k0
- >>66
>>56のSoud:の部分を
Sound: SetTimer,
GuiHide, off SoundGet, Vol, Master Transform, Vol, Round,
%Vol% GuiControl,, Volume, %Vol% Gui, Show, x624 y998 NA
SetTimer, GuiHide, 1000 Return
GuiHide: SetTimer,
GuiHide, off Gui, Hide Return
>>67 >>56の時点でできた上のスクリプトで動作は満足していましたが、リンクのスクリプトも参考になりました。
ところで、視覚スタイルをOFFにする以外にタスクバーのグラデーションって切れないんでしょうか?
上のスクリプトの色設定だとタスクバー上でしっかり隠れてくれない。 透過も上手くいかないし・・・・
- 69 :56:2005/11/01(火) 22:05:59 ID:hYFbhs5k0
- > >>56の時点でできた上のスクリプト
>>59の時点でできた上のスクリプト
間違いです
- 70 :名無しさん@お腹いっぱい。:2005/11/01(火) 22:29:37
ID:so0ECgfj0
- >>68
下のようなエラーになります。
http://matsuya.dyndns.tv/2ch/img-box/img20051101222853.jpg
- 71 :70:2005/11/01(火) 22:30:27
ID:so0ECgfj0
- 70のエラーになるやつです。
Gui, +AlwaysOnTop -Caption Gui, Color,
245DDB Gui, Add, Text, vVolume cWhite, *** Return
^Up::
SoundSet, +5, Master Gosub, Sound Return
^Down::
SoundSet, -5, Master Gosub, Sound Return
Sound:
SetTimer, GuiHide, off SoundGet, Vol, Master Transform,
Vol, Round, %Vol% GuiControl,, Volume, %Vol% Gui, Show, x624
y998 NA SetTimer, GuiHide, 1000 Return
GuiHide:
SetTimer, GuiHide, off Gui, Hide Return
- 72 :名無しさん@お腹いっぱい。:2005/11/01(火) 23:10:10
ID:B9WSZONo0
- >>71
7行目(以降)のどこか(ていうか行頭)に不正な文字がある。
2ちゃんに貼ってて整形が崩れずインデントが保たれている段階で気付こうな
- 73 :70:2005/11/01(火) 23:36:01 ID:so0ECgfj0
- >>72
thx。全角スペースが入ってた。
- 74 :名無しさん@お腹いっぱい。:2005/11/02(水) 00:05:41
ID:k4q1X8S+0
- 全角スペースいれるのやめない?
ちょっと見にくいだけじゃん。コピペめんどくせ。
- 75 :名無しさん@お腹いっぱい。:2005/11/02(水) 00:17:11
ID:Pn1A6Moc0
- >>74
どっちにしろ、コピペしたのをそのまま使わず
後で自分好みにタブ入れたり改良したり変数変えたりするから 掲示板上での見やすさを優先してほしい。
- 76 :名無しさん@お腹いっぱい。:2005/11/02(水) 01:04:10
ID:1s79aisd0
- なんか裏技的にうまくインデントを表現できないかね
- 77 :名無しさん@お腹いっぱい。:2005/11/02(水) 01:04:59
ID:Oarl5uV80
- 漏れは自分が質問するときは除去してるけど、人にレス付ける時は
敢えて全角スペースでインデント入れる場合が多いな。
特にそのままAutoHotkey.iniにコピペして使いそうな相手なら尚更
あぷろだに上がってる投稿モノの中に、全然インデントされてないスクリプトが
いくつかある。多分元々プログラミングしない人で掲示板でしか 人のソース見てないとインデントの概念自体がないんだと思う。
コーディングルールは個人の好き好きではあるけど、AHKの場合は
人から貰ったソースを手を入れずにそのまま使えるケースは少ないし 他人が見てもわかりやすい記述は知ってて欲しいと思うので
- 78 :名無しさん@お腹いっぱい。:2005/11/02(水) 02:11:33
ID:L1tQPzXC0
- スペース0
スペース1 スペース2 スペース3 スペース4
- 79 :名無しさん@お腹いっぱい。:2005/11/02(水) 02:13:48
ID:L1tQPzXC0
- >>78
- 80 :名無しさん@お腹いっぱい。:2005/11/02(水) 02:15:47
ID:L1tQPzXC0
- スペース0
 スペース1   スペース2
   スペース3     スペース4
- 81 :名無しさん@お腹いっぱい。:2005/11/02(水) 02:23:32
ID:L1tQPzXC0
- スペース0
スペース1 スペース2 スペース3 スペース4
>>78はコピペミス。
 または と書くと、半角スペースに変換される。
半角スペースが連続しても1個に変更されてしまうことがないみたい。
- 82 :名無しさん@お腹いっぱい。:2005/11/02(水) 03:25:15
ID:yA1z2EuC0
- ギコナビで特殊文字変換してる
- 83 :名無しさん@お腹いっぱい。:2005/11/02(水)
17:33:22 ID:y7CD98+Z0
- >>77
世の中にはインデントがないほうが見やすい人も存在する
- 84 :名無しさん@お腹いっぱい。:2005/11/02(水) 18:48:13
ID:Oarl5uV80
- >>83
>コーディングルールは個人の好き好きではあるけど、AHKの場合は
>人から貰ったソースを手を入れずにそのまま使えるケースは少ないし
>他人が見てもわかりやすい記述は知ってて欲しいと思うので
- 85 :名無しさん@お腹いっぱい。:2005/11/02(水)
20:23:36 ID:5+koFFKw0
- >>84
>>83
- 86 :名無しさん@お腹いっぱい。:2005/11/02(水) 21:00:58
ID:mmYbLWLG0
- >>84-85
#SetThreadMood, Mataari
- 87 :名無しさん@お腹いっぱい。:2005/11/03(木)
04:45:03 ID:CGo3fQX00
- キャプションを非表示にすることってできますか?
たぶんSendMessageを使うんだろうけど、見つかりません。
- 88 :87:2005/11/03(木) 05:08:44 ID:CGo3fQX00
- みつかりました。
SendMassageではなくてWinSetだけれど。
WinSet, Style,
^0x00C00000
- 89 :名無しさん@お腹いっぱい。:2005/11/03(木) 16:00:33
ID:aDGTml8d0
- あるアプリAを起動すると、別のアプリBも自動的に起動するようにするには、どのようにすればよいのでしょうか?
- 90 :名無しさん@お腹いっぱい。:2005/11/03(木) 16:16:15
ID:RQBG0Gu80
- 条件をもっと絞ってくれないとな。
単純な方法から高い連動性を求めるものまでいろいろあるから
- 91 :名無しさん@お腹いっぱい。:2005/11/03(木) 16:53:28
ID:aDGTml8d0
- アプリAが何らかの方法で起動されると、プロセスを監視していたAutoHotKeyがそれを察知してアプリBも自動的に開くようにしたいのです。
何秒後に開く、とかの指定は必要なく、アプリAを終了したらアプリBも終了する、などの機能も必要ありません。
AutoHotKeyの監視はできれば5分ごとに監視するようにしたいのですが、常に監視するのでもかまいません。
方法をご存じの方がいましたら、お願いします。
- 92 :名無しさん@お腹いっぱい。:2005/11/03(木) 17:47:09
ID:GMRToEkf0
- #Persistent
Settimer,kansi,5000 kansi: IfWinExist,A
If hoge = 0 { { IfWinExist,B { hoge = 1 }
else { Run,B } } return } else {
hoge = 0 return }
こんな感じでいいんでしょうか?
- 93 :名無しさん@お腹いっぱい。:2005/11/03(木) 17:49:07
ID:GMRToEkf0
- スレの流れからして俺、最低だな・・・。
- 94 :名無しさん@お腹いっぱい。:2005/11/03(木) 18:42:44
ID:CgkRLY9O0
- あー、Ifがネストしちゃうと漏れは完全アウトだな。
パッと見ではもちろんじっくり考えても全然理解できない。
で、エディタに貼っつけてインデントしてから考えてみたんだけど 一番上位のIfWinExist,A の{
}抜けてるけどいいのんかい? あと 7,16行の { } に意味なくないか、これ
- 95 :名無しさん@お腹いっぱい。:2005/11/03(木) 18:47:37
ID:6IkeUy0z0
- >>91
つProcess
- 96 :名無しさん@お腹いっぱい。:2005/11/03(木) 20:16:45
ID:IdqDMTZK0
- ThumbSenseのように、タッチパッドに触れているかどうかを判定できるようになるといいなあ。
- 97 :名無しさん@お腹いっぱい。:2005/11/03(木) 21:22:00
ID:myFIFexE0
- TAB使えばいいじゃん
- 98 :名無しさん@お腹いっぱい。:2005/11/03(木) 22:56:37
ID:ZNzLxnpo0
- もしどなたかソースコード解凍できる人いましたら
ソースからShellExecuteというAPI検索して6個目(=最後)の引数何になってるか 確認していただけませんか?
- 99 :98:2005/11/03(木) 23:06:30 ID:ZNzLxnpo0
- ごめんやっぱりいいです。
でもやっぱりなんかおかしい。
- 100 :名無しさん@お腹いっぱい。:2005/11/04(金) 22:35:21
ID:GuCt95u60
- マウスカーソルを変更したり消去するコマンドは無かったorz
ノーマウスカーソルの機能をぱくれると思ったが残念
- 101 :名無しさん@お腹いっぱい。:2005/11/05(土) 00:12:48
ID:1+JQ8ek+0
- >>100
前スレより。 DAT落ちしてるみたいなんでコピペ
>
627 名前:625[sage] 投稿日:2005/05/20(金) 23:58:26 ID:jhPL19PD >
とりあえずLoadCursorFromFileで直接カーソルファイル指定で > システムのポインタは変えれるぽい >
(LoadCursorも試してみたがイマイチ挙動がよくわからん) > > #1::
SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoge.cur"),32512)
> #2::
SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoga.cur"),32512)
> > LoadCursorFromFile(lpFileName) > { ;
カーソルファイルからマウスカーソルを作成する > return
DllCall("LoadCursorFromFile",Str, lpFileName, Int) > } >
SetSystemCursor(hCur,id) > { ;システムカーソルを変更する > return
DllCall("SetSystemCursor", Uint,hCur, Int,id ,Int) > } >
> 630 名前:592[sage] 投稿日:2005/05/25(水) 12:53:24 ID:62rl7YBY
> IME状態表示用のアイコン作ってみた >
ttp://lukewarm.s101.xrea.com/up/file/028.zip > > 631
名前:名無しさん@お腹いっぱい。[sage] 投稿日:2005/05/25(水) 12:54:38 ID:62rl7YBY >
あ、マウスカーソルに訂正
- 102 :名無しさん@お腹いっぱい。:2005/11/05(土) 03:27:14
ID:kQuWg8rN0
- dllcallでShowCursorを使えばいけそうだけど
#y::DllCall("User32\ShowCursor", "int", 0)
テストで作ってみても反応無かったorz 助けて
- 103 :名無しさん@お腹いっぱい。:2005/11/05(土) 04:50:06
ID:/8hJVayJ0
- >>102
それ自分のプロセスのウィンドウにしか利かない
- 104 :名無しさん@お腹いっぱい。:2005/11/05(土) 15:21:11
ID:q4T/nF7a0
- ttp://www.autohotkey.com/docs/misc/Clipboard.htm
の
OnClipboardChange の例にある%A_EventInfo%ですが 誰か解説してほしい・・・
とりあえず、文字やファイルだと1 bmpだと2になるんだが、
文字とファイルの区別はつかないのかな
- 105 :名無しさん@お腹いっぱい。:2005/11/05(土) 16:06:10
ID:1+JQ8ek+0
- >>104
http://lukewarm.s101.xrea.com/commands/indexframe.html
- 106 :名無しさん@お腹いっぱい。:2005/11/05(土) 16:07:29
ID:1+JQ8ek+0
- 違った。こっちの下のほう
http://lukewarm.s101.xrea.com/misc/Clipboard.htm
- 107 :名無しさん@お腹いっぱい。:2005/11/05(土) 16:12:49
ID:1+JQ8ek+0
- 何度もスマソ、ちなみにクリップボード内のフォーマットはDllCallでAPI使えば取得できる
サンプル http://d.hatena.ne.jp/eamat/20050920/p1
- 108 :名無しさん@お腹いっぱい。:2005/11/05(土) 19:25:38
ID:q4T/nF7a0
- >>106
ありがとう。 日本語のヘルプ(chm)しか見てなかった・・・すまん
>>107 こっちも参考にしてみる。ありがと
今週初めにAutoHotkey知ったんだがおもしろい。 これでCaps入れ替えができれば完璧なんだが・・・
- 109 :名無しさん@お腹いっぱい。:2005/11/05(土) 20:23:00
ID:YtsoQGy80
- やっとサッカーチームが!
- 110 :名無しさん@お腹いっぱい。:2005/11/05(土) 20:24:40
ID:rpDKFDGY0
- 戦う相手がいません!
- 111 :名無しさん@お腹いっぱい。:2005/11/06(日) 16:38:36
ID:7Hz8Kh6P0
- こんなスクリプト書いてくださいってのは、ここ的にアリですか?
- 112 :名無しさん@お腹いっぱい。:2005/11/06(日) 17:44:40
ID:PoGd2lip0
- (ω・ )ゝ なんだって?
- 113 :名無しさん@お腹いっぱい。:2005/11/06(日) 19:45:09
ID:7Hz8Kh6P0
- >>112
こんなスクリプト書いてくださいってのは、ここ的にアリですか!!!
- 114 :名無しさん@お腹いっぱい。:2005/11/06(日) 19:55:01
ID:FAFXojQr0
- /.──┬ /⌒ヽ ┌─┴─┐ . | ヽヽヽ ―┼― .| ヽ | \
/|
┌─┐| ノ  ̄フ .  ̄| ̄ヽ | , | | | \  ̄| ̄ヽ | . | |
└─┘| | ─┼─ ,ノ │ ノ . | \ | ゝ | | ノ │ |/ ̄ヽ
| J ○ J . ノ ヽノ . J \_ レ ノ ヽノ _ノ
_____ ____ー┼ー | / _/_ -- 二二_ /~| ̄/ヽ / ヽ
| \  ̄ ヽ | | ノ .| ∨ | / _| | | | ̄| ノ l____,
\ノ ノ (_ノヽ レ  ̄
- 115 :名無しさん@お腹いっぱい。:2005/11/06(日) 19:56:57
ID:0hkV63L40
- >>111
いちいちそんな無駄レスせずにさっさと本題書けよ。印象悪いぞ。
過去スレからの流れを見てるとこのスレは自分である程度試行錯誤する人間には
手助けするけど、丸投げは(・A・)イクナイ!って感じだからそれを踏まえた上でヨロシク。
- 116 :名無しさん@お腹いっぱい。:2005/11/06(日) 21:48:46
ID:A0mk0Y990
- 横やりですいません。>>102のヒントお願いします。。。
- 117 :名無しさん@お腹いっぱい。:2005/11/06(日) 23:40:35
ID:z+zoLLJT0
- >>111
無し
ヒントを教えてくれとかならまだしも、丸投げはダメだろ
- 118 :名無しさん@お腹いっぱい。:2005/11/07(月) 00:15:52
ID:Lx44qPKh0
- >>116
>103で答えは出ていると思うのだが
- 119 :名無しさん@お腹いっぱい。:2005/11/07(月) 04:00:09
ID:S2Pl78Ca0
- >>111
とりあえず、なにがしたいんだ?怒らないから言ってみなさい
- 120 :名無しさん@お腹いっぱい。:2005/11/07(月) 18:35:53
ID:7cDsa3uM0
- >>111
やっぱり怒る
- 121 :名無しさん@お腹いっぱい。:2005/11/07(月) 20:21:01
ID:rV/rS1+v0
- ^p::
IfWinActive, ahk_class Notepad Send, ^o else
Send, ^p return
こんな感じのスクリプトを書いているんですが、指定ウィンドウ以外で無限ループしちゃいます。
こういう時どうしたらいいんでしょうか?
- 122 :名無しさん@お腹いっぱい。:2005/11/07(月)
20:39:04 ID:PUaC//G70
- >>121
一行目に #UseHook を追加
- 123 :名無しさん@お腹いっぱい。:2005/11/07(月) 21:58:01
ID:Lx44qPKh0
- $^p::
- 124 :名無しさん@お腹いっぱい。:2005/11/07(月) 23:09:43
ID:rV/rS1+v0
- >>122-123
無限ループしないようになりました。 ありがとうございます。
- 125 :名無しさん@お腹いっぱい。:2005/11/07(月) 23:58:04
ID:d1b3VXPA0
- >>117
では、ヒントをお願いします。
>>119 優しいお言葉どうもです。書いてみます。
起動していたらアプリをアクティブ、起動していなかったらアプリを起動。
これは出来ました。これにさらに、Ctrlを押していたらアプリを終了。
Altを押していたら、アプリを最前面にをトグルということをやりたいです。 Win + H
>秀丸を起動、起動していたらアクティブ。 Win + Ctrl + H>秀丸を終了、起動していなかったら何もしない。 Win +
Alt + H>秀丸を最前面に、起動していなかったら起動して、最前面に。 これ単純にすべてのホットキーを設定しちゃえばいいのですが、
いろいろなアプリに対応させたいので、関数っていうんですか? 処理をうまいことまとめられたらいいなぁとおもいまして。
>>120 ひぃ…そこをなんとか。ヒントだけでも。
- 126 :名無しさん@お腹いっぱい。:2005/11/08(火) 01:56:56
ID:BqfIoljv0
- どのへんを関数化したいのかわからんのだが
取り零しとかあるしトリガは素直にホットキー使ったほうがよい
モデファイヤキーの押下状態で内部分岐もできるが これだとhが入力できなくなるので ~ つけるか中でSendするとかの処理が必要
*h:: dsp= if (GetKeyState("CTRL")) dsp = ctrl if
(GetKeyState("SHIFT")) dsp = %dsp% sift if (GetKeyState("ALT"))
dsp = %dsp% alt if (GetKeyState("LWIN") || GetKeyState("RWIN"))
dsp = %dsp% win
ToolTip,%dsp% return
- 127 :名無しさん@お腹いっぱい。:2005/11/08(火) 07:16:19
ID:OmlMtwX30
- SetHotkey("n" , "notepad.exe", "C:\WINNT\System32", "max")
SetHotkey("c", "calc.exe", "C:\WINNT\System32", "") return
SetHotkey(key, appPath, appWorkDir, appWinState) {
global appPath%key%:=appPath appWorkDir%key%:=appWorkDir
appWinState%key%:=appWinState Hotkey, #%key%, launchApp
;Hotkey, ^#%key%, quitApp ;Hotkey, !#%key%, toggleWindow
Return }
launchApp: StringRight, key, A_ThisHotkey,
1 appPath:=appPath%key% appWorkDir:=appWorkDir%key%
appWinState:=appWinState%key% Run, %appPath%, %appWorkDir%,
%appWinState% Return
hotkeyが関数に対応してないからめんどくさかった・・
とりあえずこれで動的に割り当てられるはず。
ヤレヤレダゼ( ゚д゚)y─┛~~
- 128 :名無しさん@お腹いっぱい。:2005/11/08(火) 08:00:45
ID:AQU/ZuaD0
- 「=」と「:=」ってどう使い分けるんですか?
- 129 :名無しさん@お腹いっぱい。:2005/11/08(火) 10:08:44
ID:U5/qb0is0
- >>128
一緒
- 130 :128:2005/11/08(火) 10:19:07
ID:AQU/ZuaD0
- >>129
そうなんですか?
あとIfの時()で囲むか囲まないかってのもいまいちよくわかりません。
- 131 :名無しさん@お腹いっぱい。:2005/11/08(火) 10:32:21
ID:w31TiB9U0
- >>128
a:=A_AhkVersion と
a=%A_AhkVersion% だとaが同じ内容になる。 d=%abc%xyz%%
ってやりたくても出来ないので、こんなときは b:=adc%xyz%
これで似たような意味になる。こう解釈してんだけど間違ってたらごめん。
- 132 :131:2005/11/08(火) 10:34:58
ID:w31TiB9U0
- ごめん。
d=%abc%xyz%%→b=%abc%xyz%% 間違えました。
- 133 :名無しさん@お腹いっぱい。:2005/11/08(火) 13:01:31
ID:x8v+5Rvv0
- >>126
>>127 ずばり答えまで書いてくださって、ありがとうございます。
内容を解釈しながら、改良してみます。
- 134 :名無しさん@お腹いっぱい。:2005/11/08(火) 13:16:32
ID:OmlMtwX30
- >>127
あー、寝ぼけてるな・・・
hotkeyが関数に対応してたとしても別段コード変わらんよな・・
>>133たしかに、ヒントじゃないなw がんばってね
- 135 :名無しさん@お腹いっぱい。:2005/11/08(火) 15:15:11
ID:ZVndp7Og0
- >>129
おいおい。。。 違うやろ、ifの = と ==
は文字列比較以外はほぼ一緒だけど >131の解釈でだいたい合ってる
- 136 :128:2005/11/08(火) 19:12:51
ID:AQU/ZuaD0
- 「=」と「:=」の使い分けはわかりました。
「If」と「If()」は?
- 137 :名無しさん@お腹いっぱい。:2005/11/08(火) 19:27:52
ID:BqfIoljv0
- If var = value
→ 従来仕様、1行に1判定文しかかけない
If (var1 = var2)
and (var1 = "value") → 後から追加された形式、AND や OR で複数の判定を連結できる
AHKは 1.0.25と1.0.34あたり(うろ覚え)で大幅な仕様追加があった。 := や if ()
、Functionは従来の記述ルールでできない部分を拡張する形で導入された記述形式
従来仕様とチャンポンになってるので後から入ってきた人には分かりにくいかもしれないな
- 138 :128:2005/11/08(火) 19:32:07
ID:AQU/ZuaD0
- >>137
なるほど。 ありがとうございました。
- 139 :名無しさん@お腹いっぱい。:2005/11/08(火) 22:48:46
ID:x8v+5Rvv0
- >>134
続きを改良しつつ、作ってみました。 SetHotkey(key,
appPath, appTitle, appWorkDir="", appOpt="") { global
appPath%key%:=appPath appTitle%key%:=appTitle
appWorkDir%key%:=appWorkDir appOpt%key%:=appOpt Hotkey,
#%key%, launchApp Hotkey, ^#%key%, quitApp Hotkey, !#%key%,
toggleWindow Return }
launchApp: StringRight, key,
A_ThisHotkey, 1 appPath:=appPath%key% appTitle:=appTitle%key%
appWorkDir:=appWorkDir%key% appOpt:=appOpt%key%
ifWinNotExist, %appTitle% Run, %appPath%, %appWorkDir%, %appOpt%
else WinActivate, %appTitle% return Return
- 140 :名無しさん@お腹いっぱい。:2005/11/08(火) 22:50:31
ID:x8v+5Rvv0
quitApp: StringRight, key, A_ThisHotkey, 1
appTitle:=appTitle%key% ifWinNotExist, %appTitle% Exit
else WinClose, %appTitle% return Return
toggleWindow: StringRight, key, A_ThisHotkey, 1
appPath:=appPath%key% appTitle:=appTitle%key%
appWorkDir:=appWorkDir%key% appOpt:=appOpt%key%
ifWinNotExist, %appTitle% Exit else WinSet, Topmost,
TOGGLE, %appTitle% return Return
んー >>126さんの言うとおり、取りこぼしがあるし、
Topmostのトグルが出来てないような。 折角作ってもらったのに、ホットキーの方が確かってことなんですかねぇ。
- 141 :名無しさん@お腹いっぱい。:2005/11/08(火) 23:08:59
ID:BqfIoljv0
- いや、取りこぼしが発生するのは LoopやSettimerで自力監視する場合の話
Hotkeyコマンドは動的に割り当ててるだけでトリガはAHKまかせだし 問題ない筈だが
- 142 :名無しさん@お腹いっぱい。:2005/11/08(火) 23:28:51
ID:BqfIoljv0
- Returnを2回重ねてるところと Exit使ってるのの意味がわからんのだが
toggleWindow:
StringRight, key, A_ThisHotkey, 1 appTitle := appTitle%key%
ifWinExist, %appTitle% WinSet, Topmost, TOGGLE, %appTitle%
Return
でいいんじゃね? (If あるんで全角インデントした)
- 143 :名無しさん@お腹いっぱい。:2005/11/08(火) 23:38:44
ID:x8v+5Rvv0
- >>141
なんか反応が鈍い時があるんですよね。
>>142 メタメタだ…。
- 144 :名無しさん@お腹いっぱい。:2005/11/09(水) 07:51:17
ID:HqHg5smR0
- ていうかappTitleにどんな値指定してんだか知らんけど
秀丸みたいに多重起動できるアプリだとウィンドウを限定できねんじゃね?
判定は ifWinExist じゃなくて ifWinActiveにして
任意のウィンドウがアクティブなときに動作させないと誤爆するな
あと秀のようにアプリ自体がTopmostの機能をもってる場合はSendで
ショートカットキー投げるとかしてそっち使ったほうが話は簡単かもしれんよ
- 145 :名無しさん@お腹いっぱい。:2005/11/09(水) 15:43:04
ID:+AeGgYao0
- >>143秀丸落として試してみたが、うちでは問題なくトグル出来るが・・・
それと>>141が言うようにhotkeyコマンド使って設定した場合、ホットキーラベルで設定したのと同じ動作になるはずで、
反応鈍いって事はないだろう。ホントにそうならAHK自身のバグとしか考えられん。
>>144 ifWinExistでもちゃんとできるみたい。
同タイトルのウィンドウが存在した場合、まず最前面ウィンドウが優先され、
最前面がない場合と複数最前面がある場合、アクティブの時にはそのウィンドウに、
非アクティブの場合、最後にアクティブだったウィンドウに適用されるっぽいな。 違ったらごめん。
気になったのが、非アクティブの最前面ウィンドウを非最前面にしたときに
一度そのウィンドウをクリックしてやらないと、 他のウィンドウクリックしても後ろに行ってくれないが、
ここらへんはOSの仕様のような気がする。
topmostトグルするまえにWinActivateつかってアクティブにしてやれば一応解決するが。
- 146 :名無しさん@お腹いっぱい。:2005/11/10(木) 21:56:38
ID:RwGjNG9H0
- ウィンドウ指定の条件をandじゃなくてorにすることはできないでしょうか。
IfWinActiveとかを何度も書かなきゃだめですか
- 147 :名無しさん@お腹いっぱい。:2005/11/10(木) 22:01:45
ID:We9gQrEX0
- >>146
ttp://lukewarm.s101.xrea.com/commands/IfIn.htm
- 148 :名無しさん@お腹いっぱい。:2005/11/10(木) 22:25:50
ID:RwGjNG9H0
- >>147
なるほど。ウィンドウのタイトルを変数に入れてIf var
inでマッチリストと 比較するわけですね。 or条件を使うときはIfWinActiveではなくこれを使ってみることにします。
ありがとうございました。
- 149 :名無しさん@お腹いっぱい。:2005/11/11(金) 03:42:19
ID:khVemMEi0
- タイマー作るのって無理?
InputBoxで入力した時間Sleepしてアクションを起こすってことはできるけど
残り時間の表示をどうやればいいのかわからない。
- 150 :名無しさん@お腹いっぱい。:2005/11/11(金) 04:01:08
ID:xFnBvB+A0
- >>149
time=%A_Sec% settimer,count,1000
count: rest:=time-A_Sec+30 tooltip,%rest% return
esc::exitapp
こんなんでええのだろうか
- 151 :149:2005/11/11(金) 04:05:08
ID:khVemMEi0
- >>150
なるほど! これはは思い浮かばなかった。
迅速なレスありがとうございます。
- 152 :149:2005/11/11(金) 04:10:33
ID:khVemMEi0
- あ、いやちょっと待って。
よく考えたら全然ダメじゃん。
数秒確認しただけでレスしちゃった。
- 153 :名無しさん@お腹いっぱい。:2005/11/11(金) 04:24:46
ID:xFnBvB+A0
- returnの前にこれ追加しといて
if rest=0 exitapp
的外れだったらすまん。つーか何がダメなんかわからん、とりあえずカウントダウン表示してみただけだし。
- 154 :129:2005/11/11(金) 04:31:30
ID:khVemMEi0
- たとえば、今、○時○分55秒だったとします。
55-55+30=30 55-56+30=29
55-57+30=28 55-58+30=27 55-59+30=26 55-00+30=85
55-01+30=84
こういう計算だと思うんですが・・・・。 私の方が間違っているのかな。
- 155 :名無しさん@お腹いっぱい。:2005/11/11(金) 05:53:00
ID:FTok57/z0
- A_TickCountつかえ
- 156 :名無しさん@お腹いっぱい。:2005/11/11(金) 07:51:44
ID:A6pk7vW20
- 時間関係の計算はよくわからんルールになってるぞ
一人で脳使ってないでヘルプ熟読してきなされ
- 157 :名無しさん@お腹いっぱい。:2005/11/11(金)
18:08:09 ID:KIS/mZVoO
- ちょっとくらいヒントをくれてもいいじゃないですか。
- 158 :名無しさん@お腹いっぱい。:2005/11/11(金) 18:52:34
ID:A6pk7vW20
- とりあえず149はA_Sec参照して何がやりたいんだ?
単純に残り秒数カウントダウンしたいだけなら
dwncnt
:= 30 ;残り秒数 settimer,count,1000
count: dwncnt--
tooltip,%dwncnt% return
きちっと精度上げたいならSetTimerの値を小さくして>155が言うようにA_TickCount使う
- 159 :149:2005/11/11(金) 20:12:02
ID:khVemMEi0
- ○時間○分○秒というタイマーも使えるようにしたかったので
A_TickCountではなく、YYYYMMDDHH24MISSで記述した物からEnvAddでSecondsを指定して
1秒ごとに-1加算するようにしたら上手くできました。
- 160 :名無しさん@お腹いっぱい。:2005/11/13(日) 18:02:11
ID:A/9NzbIG0
- あるSetTimerがonの時とoffの時で条件分岐って無理?
- 161 :名無しさん@お腹いっぱい。:2005/11/13(日) 19:35:11
ID:N8ylNJMv0
- タイマーが動いてるかどうかを調べる方法はなかったはず
自分でフラグ変数用意して現在の状態覚えとくようにすればOKだけど
- 162 :160:2005/11/13(日) 19:37:47
ID:A/9NzbIG0
- >>161
どういうことですか?
- 163 :名無しさん@お腹いっぱい。:2005/11/13(日) 19:41:43
ID:5IyRr/ha0
- 自分で変数を用意する。
- 164 :160:2005/11/13(日) 19:53:57
ID:A/9NzbIG0
- こんな感じ?
SetTimer, ABC, 3000 ST_Flag = on
#A::
If(ST_Flag = "on") { SetTimer, ABC, off ST_Flag = off
} Else If(ST_Flag = "off") { SetTimer, ABC, on
ST_Flag = on } return
- 165 :名無しさん@お腹いっぱい。:2005/11/13(日) 21:50:43
ID:N8ylNJMv0
- そう、それか↓みたいにしてもいいし
#A:: If (interval > 0) {
interval = 0 } else { interval = 3000 }
SetTimer,ABC,%interval% return
- 166 :名無しさん@お腹いっぱい。:2005/11/13(日) 21:52:52
ID:N8ylNJMv0
- 0だとOFFにならんのか
#A:: If (interval > 0) {
SetTimer,ABC,OFF interval = 0 } else { interval
= 3000 SetTimer,ABC,%interval% } return
- 167 :160:2005/11/13(日) 22:19:27
ID:A/9NzbIG0
- >>166
なるほど ありがとうございます
- 168 :名無しさん@お腹いっぱい。:2005/11/14(月) 03:42:28
ID:tpTqEc+p0
- >+Up::send,{PgUp}
>+Down::send,{PgDn}
>+Left::send,{Home} >+Right::send,{End} こんな風に割り当てますよね。
これをあるウィンドウだけは適用したくないのですが、 そういった場合はどう書けばいいんでしょうか?
- 169 :名無しさん@お腹いっぱい。:2005/11/14(月) 05:14:00
ID:h9uxRFHg0
- >>168
+Up:: WinGetActiveTitle, ActTitle
If(ActTitle <> "割り当てたくないウィンドウタイトル") send,{PgUp} return
タイトルで上手くいかなかったらウィンドウハンドル取得して分岐
- 170 :名無しさん@お腹いっぱい。:2005/11/15(火) 13:59:54
ID:3R61f5fz0
- >>169
どうもです。
169さんの方法だと、一キーずつ割り当てるしかないんですよね。 一気にやる方法があったら、便利だな。
- 171 :名無しさん@お腹いっぱい。:2005/11/15(火) 15:34:14
ID:Qg1alPao0
- 一気にやるってどういう意味だよ。
- 172 :名無しさん@お腹いっぱい。:2005/11/15(火) 16:41:57
ID:g/ADYEbp0
- +Up::
+Down:: +Left:: +Right::
WinGetActiveTitle, ActTitle If(ActTitle <>
"割り当てたくないウィンドウタイトル") {
send,{PgUp} } return
- 173 :名無しさん@お腹いっぱい。:2005/11/15(火) 16:44:53
ID:g/ADYEbp0
- すまん途中で書きこんでもうた。関数にしてパラメータ指定するようにしたほうがよりスマート
+Up::
+Down:: +Left:: +Right:: WinGetActiveTitle, ActTitle
If(ActTitle <> "割り当てたくないウィンドウタイトル") { if A_ThisHotkey
= +Up send,{PgUp} else if A_ThisHotkey = Down send,{PgDn}
: } return
- 174 :名無しさん@お腹いっぱい。:2005/11/15(火) 18:16:51
ID:Qg1alPao0
- ヒドスwwwww
- 175 :名無しさん@お腹いっぱい。:2005/11/15(火) 18:34:11
ID:Fr3rXntL0
- +Up::
Ifwinnotactive,XXXX Send,{Pgup} return
これで全部書いたほうが短かくてわかりやすい気がするのだが
- 176 :名無しさん@お腹いっぱい。:2005/11/16(水)
01:46:01 ID:EX3GaO8n0
- 任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか?
わからないなりに調べてみたらShell_NotifyIconというAPIがあるようなので
これをDllCallで呼びせさばできそうな気が。
DLLについてはまったくの初心者なので今奮闘しています。
- 177 :名無しさん@お腹いっぱい。:2005/11/16(水) 02:17:34
ID:ExozuSiy0
- これって構造体扱えるんだっけ?
構造体扱えなかったらShell_NotifyIconも使えないだろ
- 178 :176:2005/11/16(水) 13:41:19
ID:EX3GaO8n0
- >>177
ttp://lukewarm.s101.xrea.com/commands/DllCall.htm
ここの「構造体と配列の扱い」によればできるようなのですが、 いかんせんまだ勉強中なので難しくて
- 179 :名無しさん@お腹いっぱい。:2005/11/16(水) 14:43:39
ID:YfyIAE/u0
- >>178
うまいこと考えたな〜
- 180 :名無しさん@お腹いっぱい。:2005/11/16(水) 16:26:24
ID:ExozuSiy0
- 構造体は扱えないけど、逃げ道はあるってことか
面倒そうなので漏れはパス
- 181 :名無しさん@お腹いっぱい。:2005/11/16(水) 17:08:15
ID:YfyIAE/u0
- >>178
べつに難しく考えること無いよ。外部にあるからDllCall使ってロードしてやらなきゃならないだけで、
考え方は普通の関数扱うのと変わらない
とりあえず、そこにある関数コピペすれば構造体に値をセットしたり読み出したりは出来る。 関数の中身は知らなくていい。
一番下のサンプルみれば使い方はわかるはず。
- 182 :176:2005/11/16(水) 23:23:04
ID:EX3GaO8n0
- WinGet, whd, ID, A
VarSetCapacity(NotifyIconDate, 24, 0)
InsertInteger(whd, NotifyIconDate, 4)
DllCall("Shell_NotifyIcon", Int, 0x00000002, Str, NotifyIconDate)
Return
InsertInteger(pInteger, ByRef pDest, pOffset = 0,
pSize = 4) { mask := 0xFF Loop %pSize% {
DllCall("RtlFillMemory", UInt, &pDest + pOffset + A_Index - 1,
UInt, 1, UChar, (pInteger & mask) >> 8 * (A_Index - 1))
mask := mask << 8 } }
わからないなりに作ってみましたが、うまくいかないです。 たぶん色々勘違いしてると思うのですが。
- 183 :名無しさん@お腹いっぱい。:2005/11/18(金)
03:16:50 ID:/PztpgYi0
- テキスト入力欄かどうかを取得するにはどうすればいいでしょうか?
If(A_CaretX <>
"")だと入力欄でないところでも反応してしまいます
- 184 :名無しさん@お腹いっぱい。:2005/11/18(金) 22:11:48
ID:KVZUSxn10
- たしかA_CaretXとA_CaretYはエディット以外の場合は
コントロールの左上の座標になるから
そんな感じで弾けばいいと思うよ
- 185 :183:2005/11/18(金) 22:16:55
ID:/PztpgYi0
- >>184
例えばSleipnirとかJaneとかでテキストを選択してコピーしたら
その位置にキャレットがあると見なしてしまいまして
- 186 :名無しさん@お腹いっぱい。:2005/11/19(土) 01:56:22
ID:adRLoPdI0
- EDITコントロールか否かの判定はControlGetでLine数を取得してチェックしてる。
非EDIT コントロールの場合
0が返るので
ControlGet,line_cont,LineCount,,%ctl%,ahk_id %hwnd%
if line_cont > 0 { ;テキスト入力欄の処理 }
あとSendMessageで EM_xxx あたりの情報を調べるとか。 http://www.winapi-database.com/Message/EM/
編集不可だがコントロールはEDIT使ってる場合(AU3_Spy.exeとか)もあるので
そういう場合はどうにかしてLoked状態を確認しないといかんかも知れん
- 187 :183:2005/11/19(土) 02:20:34
ID:EUr5m4mr0
- >>186
ありがとうございます
ですがライン数取得では上手くいかないものが多くて諦めていましたが、
殆どのクラス名に「Edit」が入っていたのでクラス名取得して分岐するようにしました。
- 188 :名無しさん@お腹いっぱい。:2005/11/19(土) 10:46:19
ID:q++McXD/0
- >>176
>
任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか?
これぜひ俺も知りたい。
自分が使ってる常駐ソフトはほとんどアイコン非表示にできるが、1つ2つできないのがある。
XP付属の「アクティブでないインジケータを隠す」はあまり好きではないし。
- 189 :名無しさん@お腹いっぱい。:2005/11/19(土) 12:11:21
ID:adRLoPdI0
- >>182
試してないしちょっとググって調べて見ただけだが、とりあえずhIconをどうにかして
取得して構造体にセットしてやらんといかんのとちゃうか?
NOTIFYICONDATA構造体 Type
NOTIFYICONDATA cbSize As Long 構造体のバイト数 hWnd As
Long 対象のウィンドウハンドル uID As
Long タスクバーアイコンのユーザー定義のID
(つまり、アイコンを複数使うときのアイコンの番号のこと) uFlag As
Long 有効なメンバを示す定数の組み合わせ uCallbackMessage As
Long ユーザー定義のメッセージ (アイコンの上でマウスイベント(クリックなど)が発生すると
ウィンドウに送られてくるメッセ―ジ) hIcon As
Long 追加・削除・変更するアイコンのハンドル szTip As String *
64 チップヘルプのテキスト
(アイコンの上にマウスを1秒くらい置いた時に表示される文字列) End Type
- 190 :名無しさん@お腹いっぱい。:2005/11/19(土)
12:23:12 ID:iPF8NBAy0
- 一応聞くけどautohotkeyでやりたいって趣旨なんだよね
フリーソフトを使ったら出来るけど
- 191 :名無しさん@お腹いっぱい。:2005/11/19(土) 12:24:18
ID:q++McXD/0
- >>190
ちなみにそのソフトとは?
- 192 :名無しさん@お腹いっぱい。:2005/11/19(土)
13:04:10 ID:z99JDpKz0
- 使ったことないけどニュースサイトとかで何種類か見た
とりあえず今ぐぐったらコレがあった 常駐しないのがあるかは知らん
ttp://www.vector.co.jp/soft/win95/util/se293688.html
- 193 :名無しさん@お腹いっぱい。:2005/11/19(土) 13:51:07
ID:adRLoPdI0
- タスクトレイ アイコン 整理 でググると TrayManager とか Tray Wizard とかTrayExpand とか出てくる。
TrayExpandはソースも公開してるみたいだし、AHKでやりたいなら参考にしてみては?
- 194 :名無しさん@お腹いっぱい。:2005/11/19(土) 14:04:50
ID:0di78jxb0
- >>182
とりあえず、戻り値ぐらいみれ。
>>189 トレイアイコンの削除するだけならhIconはいらないが、uIDが必要。
まぁ、既存のソフト使ってしまった方がいいようなきもする・・・AHKでやるメリットあまりないような・・
- 195 :名無しさん@お腹いっぱい。:2005/11/19(土) 14:32:32
ID:q++McXD/0
- TrayExpandが自分には良さそう
これ使うことにします
- 196 :名無しさん@お腹いっぱい。:2005/11/19(土) 14:33:46
ID:q++McXD/0
- お礼言う前に途中で送信してしまった・・・・
>>192-193 ありがとうございます
- 197 :189:2005/11/20(日) 05:00:08
ID:zlspGYDE0
- >>194
フォローサンクス ええかげんなレスしてスマンカッタ
- 198 :名無しさん@お腹いっぱい。:2005/11/20(日) 06:10:35
ID:i5sKQ9wq0
- タスクトレイの項目をメニューで表示させることはできるでしょうか?
フリーソフトでもこういった感じのソフトは自分で探した限り見つからなかったので 知っている方がいたら教えていただきたいのです
- 199 :名無しさん@お腹いっぱい。:2005/11/20(日) 10:52:17
ID:u5r0IAMMO
- >>198
>>193
- 200 :名無しさん@お腹いっぱい。:2005/11/20(日) 17:09:08
ID:9waBFH8F0
- SetTimerってAutoHotkey.iniに書いても動かないの?
- 201 :名無しさん@お腹いっぱい。:2005/11/20(日) 19:14:54
ID:zlspGYDE0
- 動くよ
- 202 :名無しさん@お腹いっぱい。:2005/11/20(日) 20:09:01
ID:9waBFH8F0
- >>201
動くのか・・・
特定のウインドウが表示されたらOKボタンをクリックしたいんだけど
.ahkに書くと動くんだけど、AutoHotkey.iniに書いても動かない これじゃだめなの?
SetTimer,b,250 return b: IfWinActive,Aterm WARPSTAR
{ ControlClick,OK,Aterm WARPSTAR return } return
- 203 :名無しさん@お腹いっぱい。:2005/11/20(日) 21:37:35
ID:MfpEbr860
- 常駐するSetTimerはAutoHotkey.iniの頭に書いて、
サブルーチンをAutoHotkey.iniの終わりに書いてみては 俺はそれで
IfWinActive,リンク先を探す,指定したリンク先は、デスクト IfWinExist,ahk_class
MSBLPopupMsgWClass
などのウインドウを操作できてる
- 204 :名無しさん@お腹いっぱい。:2005/11/20(日)
21:41:56 ID:Gk4qhKIS0
- 多分常駐させてないだけだろ
- 205 :名無しさん@お腹いっぱい。:2005/11/20(日) 21:51:08
ID:0DdRRu/u0
- SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。
- 206 :名無しさん@お腹いっぱい。:2005/11/20(日) 22:49:48
ID:zlspGYDE0
- ホットキー指定のないスクリプトは #Persistent入れないと常駐しないから
- 207 :名無しさん@お腹いっぱい。:2005/11/20(日) 23:56:30
ID:JR1lWgkn0
- >>203-206
ありがとう
>常駐するSetTimerはAutoHotkey.iniの頭に書いて、
>SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。
これだった。無事に動きました。ありがとう
- 208 :名無しさん@お腹いっぱい。:2005/11/21(月) 00:06:01
ID:FWsdNj/u0
- iTunesを操作させるにはどうしたらいいですかね?
- 209 :名無しさん@お腹いっぱい。:2005/11/21(月) 00:18:49
ID:5v2PJ0mq0
- 努力したらいいと思うよ
- 210 :名無しさん@お腹いっぱい。:2005/11/21(月) 00:39:50
ID:ZVwQTLlG0
- >>208
曖昧すぎ。
- 211 :名無しさん@お腹いっぱい。:2005/11/21(月) 02:04:10
ID:Nz+dKwd30
- >>210
質問がな
- 212 :名無しさん@お腹いっぱい。:2005/11/21(月) 21:26:10
ID:OOnUpq930
- AutoHotkeyでiTunesを操作させるにはどうしたらいいですかね?
- 213 :名無しさん@お腹いっぱい。:2005/11/21(月) 22:37:36
ID:jfEQAnS10
- 「:」に対してキーを割り当てたいのですが、うまくいきませんでした。
::: ←ここでエラー ごにょごにょ
何か他に書き方があるのでしょうか?
- 214 :名無しさん@お腹いっぱい。:2005/11/21(月) 23:02:40
ID:Y2LksryB0
- http://lukewarm.s101.xrea.com/KeyList.htm の下のほう
仮想キーコードやスキャンコードで何とか対応しる
- 215 :名無しさん@お腹いっぱい。:2005/11/23(水)
11:44:06 ID:w4Ag56cD0
- NetworkStumblerというアプリを最大化で起動して、
その中のウィンドウをさらに最大化しようとしています。
NetworkStumblerが最大化で起動しても、アクティブになるまで 3秒ほどかかります。
起動してから「ALT+w+t」で中のウィンドウが最大化できますが
AutoHotkey.iniで下のように書いてもうまくいきません。
最初の最大化で起動のみが成功し、中のウィンドウは変化がありません。 "Send,
{LALT}wt"の部分は個別に動作確認できていますので、 その間の記述の仕方が問題でしょうか?
#0::
run "D:\apli\netstumbler\Network Stumbler\NetStumbler.exe", , max
WinWaitActive, Network Stumbler if ErrorLevel <> 0
Send, {LALT}wt else return
- 216 :名無しさん@お腹いっぱい。:2005/11/23(水) 16:33:51
ID:vpU2R36Y0
- If の判定が間違ってるのと、Elseが不要(書くならもう一行returnが必要)
子ウィンドウを枠一杯に広げるので満足なら Send,!wt でもいいけど
SendMessage使えば本当の最大化もできるよ
#0:: run
"D:\apli\netstumbler\Network Stumbler\NetStumbler.exe", , max
WinWaitActive, Network Stumbler if ErrorLevel = 0 {
SendMessage, 0x229, 0,0,MdiClient1,A ;WM_MDIGETACTIVE
SendMessage, 0x225, %ErrorLevel%, 0,MdiClient1,A ;WM_MDIMAXIMIZE
} return
- 217 :215:2005/11/23(水)
21:55:25 ID:w4Ag56cD0
- >>216
ご丁寧にありがとうございます!
しかし、<>を=に変更してelse消しても現象は変わらず。 Send, !wtの後にreturn付けても同じでした。
SendMessage使ったやつをコピペでもダメでした。。。orz
とりあえず、子ウィンドウを広げられるだけで満足です。
もしかしてErrorLevelが0になってないのでしょうか?
- 218 :名無しさん@お腹いっぱい。:2005/11/23(水) 22:40:29
ID:vpU2R36Y0
- 大分前に入れた奴なんでバージョン古いけど うちでは上手くいってる
XP SP1 Autohotkey Ver
1.0.38.1 NetStumbler ver 0.3.30
とりあえず
MsgboxやOutputDebugでErrorLevelの値見たり if msgbox,OK else
msgbox,NG とかやって試してみたら?
- 219 :215:2005/11/23(水)
23:56:41 ID:w4Ag56cD0
- >>218
ちなみに私の環境は 2000 SP4 Autohotkey
Ver 1.0.40.06 NetStumbler ver 0.4.0
>とりあえず
MsgboxやOutputDebugでErrorLevelの値見たり そういうやり方があるのですね。
if
ErrorLevel = 0 { msgbox,OK return } else
msgbox,NG return
↑を試したところ、タイトルバーが青くなる前に
「OK」が出ました。なのでSend, !wtが実行される のが早過ぎるみたいですね。
- 220 :名無しさん@お腹いっぱい。:2005/11/24(木) 01:13:43
ID:YIxfmvQf0
- Verupしたね
- 221 :名無しさん@お腹いっぱい。:2005/11/24(木) 12:40:50
ID:0jaOpLGO0
- >>219
MsgBoxに制御が奪われたからアクティブになれなかったってオチじゃないような? そこまでつきとめたら
Sleepでウェイトいれてやればよろし
- 222 :215:2005/11/24(木)
22:05:57 ID:3njavchq0
- >>218
>>219 おかげさまで望み通りの動作ができました! 感謝します。
;【NwtStumbler起動】 #7:: IfWinExist, Network Stumbler {
WinMaximize WinActivate return } else run
"D:\apli\netstumbler\Network Stumbler\NetStumbler.exe",
D:\apli\netstumbler\aplog, max WinWaitActive, Network Stumbler
if ErrorLevel = 0 { Sleep, 3000 Send, !wt return
} else return
- 223 :名無しさん@お腹いっぱい。:2005/11/26(土) 13:41:58
ID:cSvLT2hD0
- LastFoundWindowってWinWaitで機能しないんですか?
- 224 :名無しさん@お腹いっぱい。:2005/11/26(土) 20:49:42
ID:ekIkW6EI0
- %1%や%2%はコマンドライン引数が分解されて格納されていますが、
コマンドライン引数全体を表す変数はないんでしょうか?
- 225 :名無しさん@お腹いっぱい。:2005/11/26(土) 21:01:35
ID:TeG9pCZU0
- >>224
引数を「"」で囲めばだいたい解決すると思いますが
Loop,
%0% { Part := %A_Index% Unite = %Unite%%Part%%A_Space% }
MsgBox, "%Unite%"
どうしようもない場面では
「0」に引数の数が入るのでこんなのでどうにかしてます。
- 226 :名無しさん@お腹いっぱい。:2005/11/26(土) 21:59:47
ID:m0vUMe840
- >FileAppend [, Text, Filename]
>ファイル名の代わりに「*」を指定すると、標準出力にテキストを書き出せる。 http://lukewarm.s101.xrea.com/commands/FileAppend.htm
--- test.ahk -------- FileAppend,Hello,*
--------------------- コンパイルしてプロンプトで test と打っても文字は何も表示されない。
test > a.txt とリダイレクトさせるとファイルには正常に出力される、何でだろ?
- 227 :名無しさん@お腹いっぱい。:2005/11/26(土) 22:33:10
ID:ekIkW6EI0
- A_Indexを1度別の変数に入れちゃえばいいのか。
"でくくられていたかどうかが正確には判断出来ないですけど、
実用上は問題ないですね。 ありがとうございました。
- 228 :名無しさん@お腹いっぱい。:2005/11/27(日)
12:34:40 ID:R5M1hxQO0
- Send,{LWin Down}やSend,{LWindown}
で押し下げ状態にしたWinキーを元に戻すにはどうすればいいでしょうか? Send,{LWin
Up}やSend,{LWin}とやっても戻りませんでした。
- 229 :名無しさん@お腹いっぱい。:2005/11/27(日) 15:26:46
ID:GjCd3Btu0
- 任意のアプリをタスクバーにボタンを表示しないようにしたいんだけど
Gui,+ToolWindowに相当するものってない?
ウィンドウスタイルを見てもそれらしいのがないっぽい
- 230 :名無しさん@お腹いっぱい。:2005/11/27(日) 16:30:10
ID:m61GJs8S0
- 試してないけど
0x00000080 WS_EX_TOOLWINDOW あたりは?
- 231 :229:2005/11/27(日) 17:10:05
ID:GjCd3Btu0
- >>230
見落としてた
しかし、小さいタイトルバーになってAltTabメニューにも表示されなくなるけど 何故かタスクバーには表示されたまま
色んなウィンドウで試してみたけど変わらない
WinSet,ExStyle,^0x00000080,A
- 232 :名無しさん@お腹いっぱい。:2005/11/27(日) 20:16:28
ID:RGnUnyxH0
- ひらがなカタカナキ-にaltを割り当てたいのですが
*vkF2::Send,{alt Down} *vkF2
up::Send,{alt Up}
とするとaltが押しっぱなしになってしまいます
仮想キー押し上げにコマンドを割り当てることは出来ないのでしょうか?
- 233 :名無しさん@お腹いっぱい。:2005/11/28(月)
08:04:43 ID:QtDqyH5O0
- TListViewの情報を取得するにはどうしたらいいでしょうか?
ContrloGetのListはSysListVew32のようですし
- 234 :名無しさん@お腹いっぱい。:2005/11/28(月) 20:15:46
ID:S9ZDzThA0
- コマンドライン引数の取得の仕方がわかったので書いておきます。
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() MsgBox, %args%
- 235 :名無しさん@お腹いっぱい。:2005/11/28(月) 20:24:26
ID:bOHdUc5Q0
- トンクス
いただいた。
- 236 :名無しさん@お腹いっぱい。:2005/12/04(日) 00:40:06
ID:Boevp9qL0
- 解説サイトの説明が糞だな。
窓使いの憂鬱も分かりづらくて導入しにくいところがあったが こっちはさらダメダメ。アホか。
流行らせる気全然ね〜だろ。ぼけだろ。
- 237 :名無しさん@お腹いっぱい。:2005/12/04(日) 00:58:39
ID:vf5AX1eU0
- 236がアホでぼけで理解力がダメダメなのはわかった
- 238 :名無しさん@お腹いっぱい。:2005/12/04(日) 01:06:12
ID:ziZg2yDd0
- 単に翻訳してるだけだし
その労苦だけでもありがたいと思うけどね
- 239 :233:2005/12/04(日) 01:53:09
ID:c5I9hufm0
- WinAPIやWindowMessageもできるだけ調べましたが、未だに解決できません
TListViewの情報取得は無理でしょうか?
- 240 :名無しさん@お腹いっぱい。:2005/12/04(日) 11:08:29
ID:MlVaVrV10
- >239
TListView って SysListView32 のサブクラスっぽいからそのまま使えるんじゃない?
- 241 :233:2005/12/04(日) 11:20:41
ID:c5I9hufm0
- >>240
もちろん試しました
SysListView32のところでは取得できたので記述が間違っているってことはないと思います
WindowMessageのLVM_xxxxで色々操作できるみたいなんですが、テキストは取得できないみたいで・・・
- 242 :名無しさん@お腹いっぱい。:2005/12/04(日) 11:21:34
ID:t+Kdt+4/0
- まだ悩んでいたのかよ
ListVewのこたしらんがTEDITもEditコントロールとして認知、制御できるし
ControlGetで取れる名称がSysListVew32だっつうなら その名を指定してやれば情報は取れるだろ。
- 243 :名無しさん@お腹いっぱい。:2005/12/04(日) 11:22:58
ID:t+Kdt+4/0
- できないのか、
ならGontrolGetTextでは?
- 244 :233:2005/12/04(日) 11:27:01
ID:c5I9hufm0
- >>242
Contolの引数のことろにTListViewではなくSysListVew32を指定するってことですか?
もちろんやってみましたが無理のようです
- 245 :233:2005/12/04(日) 11:29:30
ID:c5I9hufm0
- >>243
それも試しました
いくつかのアプリで試しているので取得したいアプリが特殊という可能性は低いと思います
- 246 :233:2005/12/04(日) 19:16:26
ID:c5I9hufm0
- VarSetCapacity(LvItem,52,0)
InsertInteger(1,LvItem,0)
InsertInteger(0,LvItem,4) InsertInteger(0,LvItem,8)
InsertInteger(&pszText,LvItem,20)
InsertInteger(100,LvItem,24)
SendMessage,0x1005,0,&LvItem,TListView1,A Msgbox,%pszText%
ttp://yokohama.cool.ne.jp/chokuto/urawaza/listview2.html
ここを参考にしましたが これでいけると思ったけど駄目でした InsertInteger()関数は書いてあります
エラー内容 モジュール 'comctl32.dll' のアドレス 5ABBD830 でアドレス 00D15714
に対する読み込み違反がおきました。
構造体は素人なので見よう見まねで書いてみましたが どこかおかしいでしょうか?
- 247 :名無しさん@お腹いっぱい。:2005/12/04(日) 20:11:58
ID:t+Kdt+4/0
- AHKは万能なソフトってわけでもないのでそれだけ努力してダメなら無理なのかもしらんね
とりあえず半端なレスして悪かった。
- 248 :233:2005/12/04(日) 20:29:14
ID:c5I9hufm0
- >>247
>とりあえず半端なレスして悪かった
いえいえ
>AHKは万能なソフトってわけでもないので
もしどうしても駄目なら他のソフトやスクリプトを通してでも取得したいのですが・・・ どなかたお知恵をお貸しください
- 249 :名無しさん@お腹いっぱい。:2005/12/04(日) 20:39:34
ID:LHEUZAAE0
- 単に別プロセスのメモリー読もうとしてるからエラー出てるのでは?
TListViewはListView用のLVM_〜が使えた気がする
- 250 :233:2005/12/04(日) 20:47:32
ID:c5I9hufm0
- >>249
>TListViewはListView用のLVM_〜が使えた気がする
そうです、使えるようです。 実際LVM_GETITEMCOUNTでアイテム数は取得できますし。 >>246のリンク先にもありますが、SendMessageの0x1005はLVM_GETITEMのことです
>単に別プロセスのメモリー読もうとしてるからエラー出てるのでは?
これについては自分にはよくわからないです
- 251 :名無しさん@お腹いっぱい。:2005/12/04(日) 21:06:52
ID:OzfEcy140
- >>250
VirtualAllocEx MapViewOfFile
を駆使すれば取得できるが面倒
- 252 :名無しさん@お腹いっぱい。:2005/12/04(日) 21:09:06
ID:LHEUZAAE0
- LVM_GETITEMCOUNTはSendMessageの戻り値がそのままアイテム数だから問題ないけど
LVM_GETITEMはLVITEMのポインタをLPARAMで渡してそこに情報を書き込んでもらう奴だから
LVITEM*が指すメモリーを共有メモリにするか、SendMessageする側でフックをかけてプロセスに割り込まないといけない
共有メモリー使う方法は ttp://techtips.belution.com/ja/vc/0001/ あたりを参考にすれば出来るかな
- 253 :233:2005/12/04(日) 21:10:52
ID:c5I9hufm0
- >>251-252
ありがとうございます
とりあえず提示されたものを頑張って調べてみます
- 254 :233:2005/12/05(月) 12:27:58
ID:pnvrA0j10
- 色々やってみたんですが、行き詰っています
ttp://techtips.belution.com/ja/vc/0001/
これってメモリアドレスから変数を参照できないと無理なのでは? まだ調べ始めて1日なので何か勘違いしてるだけのような気もしますが
- 255 :名無しさん@お腹いっぱい。:2005/12/05(月) 12:48:04
ID:yS+6IGXX0
- gui,add,edit,vtitle R1 W300
gui,show return
こんな感じでエディットボックスを作ってるんですが、日本語入力すると確定するまで表示されません。
普通に変換中に表示されるようには出来ないのでしょうか?何かオプションがあるのかな?
- 256 :名無しさん@お腹いっぱい。:2005/12/05(月) 12:55:38
ID:stKSCaAE0
- >>255
うちで使ってる簡単なもの。これで試して駄目だったらなんかIMEとかに問題ありそうな。
#NoTrayIcon
#SingleInstance Gui, Add, Edit, vSrc X Y W210 Gui, Add,
Button, Default gSrc x+6 ys-2, &Search Gui, Show, , Amazon検索
return Src: Gui, Submit Run, http://www.amazon.co.jp/exec/obidos/search-handle-url/index=blended&field-keywords=%Src
ExitApp GuiEscape: GuiClose: ExitApp
- 257 :名無しさん@お腹いっぱい。:2005/12/05(月) 13:30:59
ID:fH9XPvqW0
- >>255
うちでは普通にでるけどなぁ・・・ win2ksp4 Atok16
MSIME2k どっちもOK
- 258 :名無しさん@お腹いっぱい。:2005/12/05(月) 13:33:22
ID:fH9XPvqW0
- いちおう追記、AHK v1.0.40.05
- 259 :255:2005/12/05(月) 15:14:33
ID:yS+6IGXX0
- >>256
>>257 ありがとうございます。早速試しましたが、やはりうまく表示されません。
例えば わたしは と打つと w しか表示されないです。 Returnを押すと、わたしは と表示されます Version
1.0.40.10をいれてみましたが、症状はかわらず。 どーもうちのIMEの不具合か、設定の問題かもしれません。
ちなみにAHK以外の日本語入力は不具合ありません。
- 260 :名無しさん@お腹いっぱい。:2005/12/05(月) 15:38:36
ID:N0kdWIqG0
- >>259
OSの種類とIMEのバージョンや設定(ナチュラルインプットとか詳細サービスとか)書いたら? 解決したかったら人任せじゃだめだよ
- 261 :255:2005/12/05(月) 16:21:24
ID:ONVNYKfr0
- 情報が足らず申し訳ありませんでした。
Windows Xp pro sp1 AHK Version
1.0.40.10 Microsoft IME Standard 2002 ver. 8.1 詳細なテキスト
サービスをオフにするにチェック IME Watcherを使用 英字を常に半角で変換以外は設定をいじってません。
英語圏のソフトなのでこういう仕様なのかと思っていました。 我が家のPCの問題のようですので自力でがんばります。
皆様のお手を煩わせてほんとに申し訳なかったです。すみませんでした。
- 262 :233:2005/12/06(火) 00:06:41
ID:zKABzlSJ0
- 何度もすみません
やっぱり自分には無理のようです・・・
とういうか、>>252のURLの内容とほぼ同じものが
ttp://www.yoshibaworks.com/ayacy/inasoft/lv2csv/lvcsvcom/chapter3.html
に載っているんですが、同じサイトの
ttp://www.yoshibaworks.com/ayacy/inasoft/lv2csv/index.html
をダウンロードして使ってみたところTListViewは取得できませんでした
下のURLのアプリは上のソースコードとは仕組みが違うのかもしれませんが
自分にとってTListViewが取得できることによってAHKはかなり便利になると思います
ずうずうしいようですが、TListViewを取得できるものが誰かの手によって書かれるのを期待します
もちろん自分でもこれからもチャレンジしていきたいと思います
- 263 :名無しさん@お腹いっぱい。:2005/12/06(火) 00:11:30
ID:BfjYx7dY0
- TlistViewってそもそも何?
- 264 :260:2005/12/06(火) 00:20:18
ID:061B1eK40
- >>261
俺も>>256を試したら同じ現象が起きた XP HOME SP2
IME2002でIME Watcherは使ってない
今さらで悪いけど、むかし同じ現象が出て
InputBoxを使って回避した気がする。忘れてた… その時は、会社のマシンだったから割と起こりやすい現象みたい
- 265 :名無しさん@お腹いっぱい。:2005/12/06(火) 00:28:05
ID:+pinJF560
- >>262
ぱっとソースを見た感じクラスがListView32じゃないと動作しないように書いてある これ→if (
strcmp(szClassName, WC_LISTVIEW) == 0 ) { 確かTListViewはクラス名が違ったと思う
- 266 :233:2005/12/06(火) 00:30:50
ID:zKABzlSJ0
- >>265
ということは>>262のソースを再現すればAHKでも実現できるわけですね 少し希望が湧いてきました
- 267 :255:2005/12/06(火) 20:02:45
ID:BjDsaEX90
- exeファイルにして、友達のPCで試してもらいました。
買ったままいじってないWinxp home sp2
やはり同じように入力がおかしかったようです。
これは、エディットボックス自体の不具合かな。あきらめてほかの方法をとることにします。
- 268 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:19:27
ID:cuFKTqtn0
- InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
;
To preserve any existing contents in pDest, only pSize number of bytes
starting at pOffset ; are altered in it. The caller must ensure that
pDest has sufficient capacity. { mask := 0xFF ; This serves to
isolate each byte, one by one. Loop %pSize% ; Copy each byte in
the integer into the structure as raw binary data. {
DllCall("RtlFillMemory", UInt, &pDest + pOffset + A_Index -
1, UInt, 1 ; Write one byte. , UChar, (pInteger & mask)
>> 8 * (A_Index - 1)) ; This line is auto-merged with above at
load-time. mask := mask << 8 ; Set it up for isolation of
the next byte. } }
ExtractInteger(ByRef pSource,
pOffset = 0, pIsSigned = false, pSize = 4) { SourceAddress :=
&pSource + pOffset ; Get address and apply the caller's offset.
result := 0 ; Init prior to accumulation in the loop. Loop
%pSize% ; For each byte in the integer: { result := result
| (*SourceAddress << 8 * (A_Index - 1)) ; Build the integer from
its bytes. SourceAddress += 1 ; Move on to the next byte.
} if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result ; Signed vs. unsigned doesn't matter in these
cases. ; Otherwise, convert the value (now known to be 32-bit) to
its signed counterpart: return -(0xFFFFFFFF - result + 1) }
- 269 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:21:14
ID:cuFKTqtn0
GetListViewText(hListView, iItem, iSubItem, ByRef lpString,
nMaxCount) { ;const NULL = 0 PROCESS_ALL_ACCESS =
0x001F0FFF INVALID_HANDLE_VALUE = 0xFFFFFFFF PAGE_READWRITE
= 4 FILE_MAP_WRITE = 2 MEM_COMMIT = 0x1000 MEM_RELEASE
= 0x8000 LV_ITEM_mask = 0 LV_ITEM_iItem = 4
LV_ITEM_iSubItem = 8 LV_ITEM_state = 12
LV_ITEM_stateMask = 16 LV_ITEM_pszText = 20
LV_ITEM_cchTextMax = 24 LVIF_TEXT = 1 LVM_GETITEM =
0x1005 SIZEOF_LV_ITEM = 0x28 SIZEOF_TEXT_BUF = 0x104
SIZEOF_BUF = 0x120 SIZEOF_INT = 4 SIZEOF_POINTER = 4
;var result := 0 hProcess := NULL
dwProcessId := 0
- 270 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:21:36
ID:cuFKTqtn0
- if lpString <> NULL && nMaxCount > 0
{
DllCall("lstrcpy", Str,lpString, Str,"")
DllCall("GetWindowThreadProcessId", UInt,hListView,
UIntP,dwProcessId) hProcess := DllCall("OpenProcess",
UInt,PROCESS_ALL_ACCESS, Int,false, UInt,dwProcessId) if
hProcess <> NULL { ;var lpProcessBuf
:= NULL hMap := NULL hKernel :=
DllCall("GetModuleHandle", Str,"kernel32.dll", UInt)
pVirtualAllocEx := DllCall("GetProcAddress", UInt,hKernel,
Str,"VirtualAllocEx", UInt) if pVirtualAllocEx == NULL
{ hMap := DllCall("CreateFileMapping",
UInt,INVALID_HANDLE_VALUE, Int,NULL, UInt,PAGE_READWRITE, UInt,0,
UInt,SIZEOF_BUF, UInt) if hMap <> NULL
lpProcessBuf := DllCall("MapViewOfFile", UInt,hMap,
UInt,FILE_MAP_WRITE, UInt,0, UInt,0, UInt,0, UInt) }
else { lpProcessBuf :=
DllCall("VirtualAllocEx", UInt,hProcess, UInt,NULL, UInt,SIZEOF_BUF,
UInt,MEM_COMMIT, UInt,PAGE_READWRITE) }
- 271 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:22:07
ID:cuFKTqtn0
- if lpProcessBuf <> NULL
{ ;var
VarSetCapacity(buf, SIZEOF_BUF, 0)
InsertInteger(LVIF_TEXT, buf, LV_ITEM_mask, SIZEOF_INT)
InsertInteger(iItem, buf, LV_ITEM_iItem, SIZEOF_INT)
InsertInteger(iSubItem, buf, LV_ITEM_iSubItem, SIZEOF_INT)
InsertInteger(lpProcessBuf + SIZEOF_LV_ITEM, buf,
LV_ITEM_pszText, SIZEOF_POINTER)
InsertInteger(SIZEOF_TEXT_BUF, buf, LV_ITEM_cchTextMax,
SIZEOF_INT) if DllCall("WriteProcessMemory",
UInt,hProcess, UInt,lpProcessBuf, UInt,&buf, UInt,SIZEOF_BUF,
UInt,NULL) <> 0 if DllCall("SendMessage",
UInt,hListView, UInt,LVM_GETITEM, Int,0, Int,lpProcessBuf) <> 0
if DllCall("ReadProcessMemory", UInt,hProcess,
UInt,lpProcessBuf, UInt,&buf, UInt,SIZEOF_BUF, UInt,NULL) <> 0
{ DllCall("lstrcpyn", Str,lpString,
UInt,&buf + SIZEOF_LV_ITEM, Int,nMaxCount) result
:= DllCall("lstrlen", Str,lpString) } }
- 272 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:22:41
ID:cuFKTqtn0
- if lpProcessBuf <> NULL
if pVirtualAllocEx
<> NULL DllCall("VirtualFreeEx", UInt,lpProcessBuf,
UInt,0, UInt,MEM_RELEASE) else
DllCall("UnmapViewOfFile", UInt,lpProcessBuf) if
hMap <> NULL DllCall("CloseHandle", UInt,hMap)
DllCall("CloseHandle", UInt,hProcess) } }
return result }
- 273 :名無しさん@お腹いっぱい。:2005/12/06(火) 22:23:18
ID:cuFKTqtn0
;const MAX_TEXT = 260
;var iItem := 0
iSubItem := 0 x := 0 y := 0
VarSetCapacity(szText,
MAX_TEXT, 0) VarSetCapacity(szClass, MAX_TEXT, 0)
VarSetCapacity(point, 8, 0) DllCall("GetCursorPos", Str,point)
x := ExtractInteger(point, 0, true, 4) y :=
ExtractInteger(point, 4, true, 4) hListView :=
DllCall("WindowFromPoint", Int,x, Int,y) DllCall("GetClassName",
UInt,hListView, Str,szClass, Int,MAX_TEXT) if DllCall("lstrcmpi",
Str,szClass, Str,"SysListView32") == 0 || DllCall("lstrcmpi",
Str,szClass, Str,"TListView") == 0 {
GetListViewText(hListView, iItem, iSubItem, szText, MAX_TEXT)
Msgbox, %szText% } return
- 274 :233:2005/12/06(火) 22:52:52
ID:oOmblgWA0
- すごい!感動しました!
感謝してもしきれないです 本当にありがとうございます
- 275 :名無しさん@お腹いっぱい。:2005/12/07(水) 00:24:52
ID:+IISIZwk0
- 引数が足りなかった
DllCall("VirtualFreeEx", UInt,hProcess,
UInt,lpProcessBuf, UInt,0, UInt,MEM_RELEASE)
- 276 :名無しさん@お腹いっぱい。:2005/12/07(水) 00:33:06
ID:WQOB4lVi0
- >>233
具体的にどういう使い方をするのかちょっと興味あるんだけど、教えてくんない?
- 277 :233:2005/12/07(水) 16:47:00
ID:Fl/Gr8/X0
- >>275
普通に動いてたので気づきませんでした どちらにしても感謝です
>>276 ここまでしてもらってなんですが、ご勘弁を
- 278 :名無しさん@お腹いっぱい。:2005/12/07(水) 16:57:01
ID:x7hOLdd40
- >>277
エロDVDのタイトルの整理か何かですか?
- 279 :名無しさん@お腹いっぱい。:2005/12/07(水) 23:01:34
ID:SL+OhssX0
- 匿名掲示板で詳しく言えないって事は犯罪絡みか
- 280 :名無しさん@お腹いっぱい。:2005/12/07(水) 23:29:33
ID:EMbBN43/0
- それか業務がらみとか
- 281 :名無しさん@お腹いっぱい。:2005/12/08(木) 01:24:26
ID:kFp6FhOt0
- 変数一覧のところの一番上に
0[1 of 1]: 0
ってのが必ずあるんだけどこれって何?
- 282 :名無しさん@お腹いっぱい。:2005/12/08(木) 19:29:26
ID:tAZLc0Al0
- コマンドライン引数の奴
- 283 :281:2005/12/08(木) 19:30:54
ID:kFp6FhOt0
- >>282
あ、なるほど
- 284 :名無しさん@お腹いっぱい。:2005/12/10(土) 23:31:57
ID:8fYJs8aX0
- 質問なのですが、このソフトでIME起動時に全角文字を入力として挿入することは
比較的楽に出来ますでしょうか?
なにがしたいかと言いますと、自分はIMEは「かな入力」の人間でして、
チャット等の、通常会話に近い文を書いてる時は、!や?が、かな文字と
同じくらいの平易さで出現するのですが、かな入力ですと、入力するのが
ちょっと面倒なのです(かな/英数を切り替えてからShift+1で再びかな/英数など)
そこで、IME(ATOK2005)が起動している時は、かな入力状態でも
[Shift]+[1]で“!”を、[Shift]+[/]で“?”を入力出来るようにしたいのですが、
そう言ったことは可能でしょうか?
自分の程度としましては、DOS3からなのでbatは書けますがvbsは読んで修正するのが精一杯、
サイトの引っ越しでUWSCでIEを半自動実行で転記させる50行×8本くらいのサブルーチンを
書いた程度で、最近は正規表現がなんとか使えてきて楽しいというようなレベルです。
外国産みたいなので、IMEの起動を検知できるのかと、起動したIMEに文字を直接送ることが
出来るのかがネックかなと思っているのですが…
よろしくお願いします。
- 285 :名無しさん@お腹いっぱい。:2005/12/11(日) 00:22:31
ID:XJ0qF38r0
- > そう言ったことは可能でしょうか?
可能
それと、おまえのレベルなんて知ったこっちゃない
このソフトが使えないレベルなら他を当たれ 使えるなら勝手にしろ
といっても、流行らせるページ見ればこの程度バカでも出来るがな
ソフトに限ったことじゃないが、便利なものを使いたければ
それに応じた実力(知識や技術など)を身につけろってこった
- 286 :名無しさん@お腹いっぱい。:2005/12/11(日) 00:39:49
ID:apES3Z+g0
- まぁ要望を長々と書いたところで、マジメに読んでもらえる訳が無い。
がんばればアンタでもできるんじゃねーの?としか言いようが無い。
- 287 :名無しさん@お腹いっぱい。:2005/12/11(日)
00:59:00 ID:78+mCWVm0
- つーか俺なら変換キー連打で解決するね
- 288 :名無しさん@お腹いっぱい。:2005/12/11(日) 01:23:09
ID:LXjhHQ7b0
- 辞書登録で1→! 0→?(テンキーを使っているなら)とか
ぬ→! め→? とでも登録した方が分かりやすい上に
てっとり早いんじゃないか?
- 289 :名無しさん@お腹いっぱい。:2005/12/11(日)
01:27:32 ID:78+mCWVm0
- >>288
>>287
- 290 :284:2005/12/11(日) 13:39:45
ID:OA29yvnX0
- お返事ありがとうございます。
ソフトによっては、ユーザー側に有る程度の素養が要求されると思いますので、
現実的に見て、自分のレベルで作業するのに問題が無いか、 取り組む前に確認させて貰いたかったのですが、スレの空気を乱す発言になった
ようで、すみませんでした。
お返事を見る限り、無理な要求という感触では無いようですので、
参考にさせていただいて、検討いたします。
- 291 :名無しさん@お腹いっぱい。:2005/12/11(日) 13:46:13
ID:n6eRmNGz0
- とりあえずお前が人のアドバイスを試す気がないカスなのは分かった
- 292 :名無しさん@お腹いっぱい。:2005/12/11(日) 13:48:53
ID:2lWo/Yh80
- プッ
- 293 :名無しさん@お腹いっぱい。:2005/12/11(日) 20:13:50
ID:/OTbplQs0
- しばらく過疎ってる間にえらく空気悪くなってるな
>>290 IME制御に関しては過去何度か話題に上がってるので調べてみれ
なまず氏が自分とこのブログで最近とりあげてたし
- 294 :名無しさん@お腹いっぱい。:2005/12/13(火) 00:21:18
ID:sRReWFce0
- ttp://www.tamanegi.org/prog/mayu-plugins/
ここのmigemo-isearchってAHKでできます?
dllのことはよくわからないんですが、これに入ってるのをDllCallすれば可能?
- 295 :名無しさん@お腹いっぱい。:2005/12/13(火) 03:10:20
ID:UEU0KJ8o0
- もうある
- 296 :名無しさん@お腹いっぱい。:2005/12/13(火) 13:57:25
ID:sRReWFce0
- >>295
本当ですか? 一応「migemo ahk」「migemo
autohotkey」などで検索しても見つかりませんでした
- 297 :名無しさん@お腹いっぱい。:2005/12/13(火) 14:41:54
ID:DtKvDaaE0
- 流行らせるページにある奴じゃないのかな。
- 298 :名無しさん@お腹いっぱい。:2005/12/13(火) 14:47:52
ID:sRReWFce0
- >>297
ありました これ昔からありましたっけ?
- 299 :294:2005/12/13(火) 17:20:20
ID:sRReWFce0
- これをブラウザで使うやり方がさっぱりわからない・・・・
そもそもサンプルが上手く動かないです
例えば「a」と打つと「シリアス」だけがマッチ(他にもaはたくさんあるのに) どんな文字でも2文字目を打つと何も表示されず
意味がよくわからないです
- 300 :294:2005/12/13(火) 17:39:57
ID:sRReWFce0
- 自分でlist=を作ってやってみましたが
アルファベットだけがマッチ 漢字・ひらがな・カタカナ全滅
私が何かをすごく勘違いしてる気がしますが・・・・
- 301 :294:2005/12/13(火) 17:52:44
ID:sRReWFce0
- ただ単に辞書パスが違っているというアホな間違いでした
すみません
でもブラウザで使うやり方は未だわからず
- 302 :名無しさん@お腹いっぱい。:2005/12/13(火) 18:03:09
ID:DtKvDaaE0
- いつから日記スレになったんだ
- 303 :294:2005/12/13(火) 18:05:03
ID:sRReWFce0
- >>302
本当にスレ汚しすみません
- 304 :名無しさん@お腹いっぱい。:2005/12/13(火) 18:05:04
ID:JxXQO2OP0
- さっさと消えろよ、うざいなぁ。
- 305 :名無しさん@お腹いっぱい。:2005/12/13(火) 18:23:00
ID:McRsgk3+0
- なんか最近スレの空気悪いなぁ。
っていうかmigemoの存在を初めて知った。 ちょっと感動。
流行らせるページのスクリプト見てみたけど >>294と同じ機能をAHKからブラウザで使うのは無理じゃね?
- 306 :名無しさん@お腹いっぱい。:2005/12/13(火) 20:54:54
ID:wLsVmh5S0
- 俺も知識不足でサンプルで何をやっているのか全然わからないので
流用できなかった。
任意のファイラ上でmigemoでファイルを選択したかったんだけどね。
マッチングを行わせたい文字列をリストにしてスクリプトに 読ませるんだというのはなんとなくわかるけど
マッチした内容を任意のソフトに対してどうやって反映させたら いいのかさっぱり。
誰か使っている人いたら具体的なスクリプトを教えてくれないかな。
- 307 :名無しさん@お腹いっぱい。:2005/12/13(火) 22:44:18
ID:tDGCBqUo0
- >>304
お前が消えろよ
- 308 :名無しさん@お腹いっぱい。:2005/12/13(火) 22:54:36
ID:hY2eSXDW0
- ファイラーはMigemizeExplorer
ブラウザは窓使いの憂鬱 2chブラウザはJaneView
エディタはサクラエディタ
ってな具合にmigemoを使ってる。
ただ、繭で使ってるのはmigemoのみだから繭をなくしたいんだよね。 別に不具合はないけど。
ブラウザ乗り換えも何度も検討した結果、今使ってるものになってるし。
- 309 :名無しさん@お腹いっぱい。:2005/12/14(水) 12:55:41
ID:RrhosKDn0
- 今現在、Win用・繭不要でmigemo対応のブラウザは
fub.net ぶら。 ※拡張機能で。
Bagel Firefox ※XUL/Migemo Sylera2
オレはSylera2だけど他にもあるような…
- 310 :名無しさん@お腹いっぱい。:2005/12/14(水) 14:43:44
ID:NCzEYHK/0
- Janeのトレース画面を一発で出し入れできるスクリプトって無理かな
- 311 :名無しさん@お腹いっぱい。:2005/12/15(木)
09:04:11 ID:Oeo3ug/h0
- 質問ですけど、スクリプトでMSNメッセンジャーを取り込み中に変えたりオンラインに戻したりするにはどうしたらいいですか?
- 312 :名無しさん@お腹いっぱい。:2005/12/15(木) 09:16:32
ID:vmIlAlU20
- >>311
AutoHotkey以外での実現方法を知っているなら、そのとおりに実装すればいいのでは。 手始めに "MSN
Messenger" Messenger.UIAutomation.1 で検索するとかして。(英語も読もう)
- 313 :311:2005/12/15(木) 09:21:36
ID:Oeo3ug/h0
- >>312
レスどうもです! > AutoHotkey以外での実現方法
はタスクトレイのアイコンを右クリックしてやる方法しか知らないです・・・ ちょっとググってみます!
英語は・・・読める限り・・・
- 314 :名無しさん@お腹いっぱい。:2005/12/15(木) 12:34:59
ID:quYc50MH0
- >>310
出し入れというかマウス系のコマンド使って瞬間的に
ドラッグして消しているように見せるだけの奴なら作ってみた。 結構良い感じでうまく動いたよ。
そういう意味では出来ると答えておきます。
他に方法があるかもしれないけど漏れにはわかりません。
- 315 :名無しさん@お腹いっぱい。:2005/12/15(木) 15:12:30
ID:Ro4rZY7t0
- >>314
やっぱそれしかないかー
と思ったが、Hideenテキストを取得するスクリプト書いて MSGBOX出せば、トレース画面出さなくても
デバッグログがみれるかもと思った。
- 316 :名無しさん@お腹いっぱい。:2005/12/15(木) 15:21:14
ID:quYc50MH0
- あ、トレース画面を別ウィンドウで浮かせたいってことが言いたかったのか。
勘違いしてスマソ。
うーん。Janeのソースいじってしまった方が速いんでないかい?
まぁ、でもText拾ってGuiで別Window作成して表示させれば、できるだろな。
- 317 :名無しさん@お腹いっぱい。:2005/12/15(木) 15:28:31
ID:Ro4rZY7t0
- >>316
あ、いや、その解釈であってるよ。
最初は外部コマンドからトレース画面をある程度の幅で ウィンドウ内に出せればいいなと思ってたんだけど。
でも、AU3_Spyで見たらトレース画面のテキストが取得できてたんで 別に本体で見なくてもいいかなと思って。
- 318 :名無しさん@お腹いっぱい。:2005/12/15(木) 18:13:10
ID:RHa3zC2W0
- Jane作者に要望だせば?
- 319 :名無しさん@お腹いっぱい。:2005/12/15(木) 22:56:34
ID:3cBKpG8E0
- >>294にあるdll使って
DllCall("dllのパス\migemo-isearch.dll\ie_isearch_fmRi",Int,0)
としてみたが何も起こらず。
返り値はなし、ErrorLevelは-4(DLLは見つかったが、Functionで指定した関数が無かった)
どこが間違っているでしょうか? そもそも無理?
- 320 :名無しさん@お腹いっぱい。:2005/12/19(月)
16:48:21 ID:T6Ojlipz0
- CPU使用率を取得するにはどうすればいいでしょうか?
ttp://www.vector.co.jp/soft/winnt/prog/se361629.html
これを使って呼び出そうとしましたが、上手くいきません
- 321 :名無しさん@お腹いっぱい。:2005/12/19(月) 17:50:39
ID:m4JgEdVJ0
- >>320
残念ながら力になれないが (DllCallを今初めて使った)、
どのような記述をして、どのように動かなかったのかの説明は書いておいた方が良いと思うよ。 ちなみに自分が試したのはこんな感じ。
;コード #O:: Ret := DllCall("getcpust\GetCpuStatus", IntP,
rate) MsgBox, 返値:%Ret%`n使用率:%rate%`nエラーコード:%ErrorLevel% return
;メッセージボックス 返値:1 使用率:0 エラーコード:A4
引数無しにするとエラーは出なくなるけど、それだと意味ないしなぁ。 以下DLLのReadmeから引用。他の人回答ぷりーず。
>int GetCpuStatus( int *rate ) >をEXPORTします。
>第1引数に引き渡したint型のメモリにCPU使用率が格納されます。
>返値は失敗するとFALSE(0)を、成功した場合はそれ以外を返します。
- 322 :320:2005/12/19(月) 17:53:49
ID:T6Ojlipz0
- >>321
自分もほぼ同じ記述です
ただ、引数の最後にCdeclを追加するとErrorLevelは0になります(返値1・使用率0は変わらず)
- 323 :名無しさん@お腹いっぱい。:2005/12/20(火) 14:08:58
ID:VYjzBC0S0
- >>322
調べてみたらその関数の呼び出し規約はcdeclだった(関数を公開するなら明示すべきだが)。
mp3でも再生しながら再計測してみては?
- 324 :320:2005/12/20(火) 14:14:45
ID:yg2tqewb0
- >>323
ん?つまり記述はあっているけど私のCPU使用率は0だから0を返してるってことですか? 負荷を上げても0のままです
- 325 :名無しさん@お腹いっぱい。:2005/12/20(火) 15:28:39
ID:6fVVhLVx0
- もしかして、とおもってやってみたらドンピシャ。
#Persistent OnExit, ExitSub
hModule := DllCall("LoadLibrary", str, "getcpust.dll") if
hModule=0 { ExitApp } SetTimer, GetCpust, 500 return
GetCpust: Ret:=DllCall("getcpust\GetCpuStatus", "Int*",
cpust, "cdeclInt") ToolTip, 返値 %Ret%`ncpust %cpust%`nErrorLevel
%ErrorLevel% return
ExitSub: DllCall("FreeLibrary",
UInt, hModule) ExitApp
- 326 :320:2005/12/20(火) 15:35:13
ID:yg2tqewb0
- >>325
なるほど、そうやるんですね 勉強になりました
ありがとうございます
- 327 :名無しさん@お腹いっぱい。:2005/12/20(火) 15:41:31
ID:6fVVhLVx0
- これみてピンとキタ━━(゚∀゚)━━ヨ。
ttp://lukewarm.s101.xrea.com/commands/indexframe.html
>DLL確保/開放の手動化 >DLLの処理によっては、処理の途中でDLLが開放してしまうと正常に動作しない場合がある。
>その場合、上記の例のように手動でLoadLibrary/FreeLibraryを行うことで、本来の動作になることがある。
できるだけ、この方法使った方が正常に動作するのかもしれませんね。
- 328 :320:2005/12/20(火) 15:44:01
ID:yg2tqewb0
- >>327
そこには目を通していたはずなのに実行してみなかった自分が恥ずかしいです
- 329 :名無しさん@お腹いっぱい。:2005/12/20(火) 15:45:24
ID:6fVVhLVx0
- >>327
ttp://lukewarm.s101.xrea.com/commands/DllCall.htm だった・・
>>328案外見落としてしまうですね^^
- 330 :名無しさん@お腹いっぱい。:2005/12/20(火) 16:14:40
ID:e8aKpTDx0
- 平日の真昼間にいきなり活性化してんのな
学生ってもう冬休みに入ってるのかなw
- 331 :名無しさん@お腹いっぱい。:2005/12/20(火) 16:19:32
ID:e8aKpTDx0
- ↑末尾のwは Alt+w(書き込み)の押し間違いだorz
- 332 :名無しさん@お腹いっぱい。:2005/12/20(火) 16:59:12
ID:f5Fr+yX00
- Ctrl+Alt+Delを無効にしようと思うんだけど
^!Del::return
としても変化なし
何か特別なことをしなければならない?
- 333 :332:2005/12/20(火) 17:22:32
ID:f5Fr+yX00
- もっとよく調べてから質問すればよかった・・・
ttp://nienie.com/~masapico/doc_DisableSAS.html
コンパイルする環境にないのでコンパイル済を探しているところ ・・・ってこれはスレ違いか
- 334 :名無しさん@お腹いっぱい。:2005/12/21(水)
22:00:44 ID:C94x2s+u0
- >>333
俺もそれほしくてコンパイル済みを探したけど見つからんかった。
どなたかお願いします・・
- 335 :名無しさん@お腹いっぱい。:2005/12/22(木) 02:31:48
ID:MS28PmO/0
- >>333-334
コンパイルだけなら出来ないこともないが、
さすがにそんなシステムの根幹に関わるファイルは試したくないし、
そのまま上げて、うまく動かなくてシステム復旧できなくなっても責任取れないし。
第一、こんな危険度の高いファイルを匿名掲示板の誰とも知れぬヤツに 頼むのはどうかしてるとしか思えない。
- 336 :名無しさん@お腹いっぱい。:2005/12/22(木) 16:11:43
ID:7k5DRGNJ0
- 335の言うとおり。どれほど危険かわかっていってんのかね。
- 337 :名無しさん@お腹いっぱい。:2005/12/22(木) 17:01:29
ID:V901fh0D0
- 何度もいう必要は無いよ
一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
- 338 :名無しさん@お腹いっぱい。:2005/12/22(木) 18:39:00
ID:8FMcnaKn0
- とりあえず自力でコンパイルできる位のスキルがある奴でないと危ないってこった
- 339 :名無しさん@お腹いっぱい。:2005/12/22(木) 18:44:59
ID:KsC0+Fth0
- 何度もいう必要は無いよ
一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
- 340 :名無しさん@お腹いっぱい。:2005/12/22(木) 22:47:41
ID:1UNMjvMz0
- 乱数が必要なときどうしてます?
- 341 :名無しさん@お腹いっぱい。:2005/12/22(木) 23:14:28
ID:mI5CV1Yi0
- Random使ってますが
- 342 :名無しさん@お腹いっぱい。:2005/12/22(木) 23:14:55
ID:MS28PmO/0
- Random, OutputVar [, Min, Max]
- 343 :340:2005/12/22(木) 23:16:16
ID:1UNMjvMz0
- 関数の方で探してましたorz
- 344 :名無しさん@お腹いっぱい。:2005/12/22(木) 23:26:11
ID:1UNMjvMz0
- もしかして16進数←→10進数もあったりする?
- 345 :名無しさん@お腹いっぱい。:2005/12/23(金) 00:08:10
ID:6+7NW5wO0
- >>344
ある。探し方が下手なだけだと思う。
- 346 :名無しさん@お腹いっぱい。:2005/12/23(金) 00:24:43
ID:HDLrFyls0
- >>345
ありました SetFormatですね
今度一からリファレンスを見直そうかな・・・・
- 347 :名無しさん@お腹いっぱい。:2005/12/23(金) 17:22:00
ID:6+7NW5wO0
- 一部のソフトのバグが原因(だと思われる)でフォーカスの横取りがうまくされなくなる問題の解決のために、
フォーカスを奪いたいソフトを実行させる前に以下のコマンドを実行するようにしてみた。
GetFocus:
RegRead, fore, REG_DWORD, HKCU, Control Panel\Desktop,
ForegroundLockTimeout IfNotEqual, fore, 0 { RegWrite,
REG_DWORD, HKCU, Control Panel\Desktop, ForegroundLockTimeout, 0
Sleep, 500;反映待ち } return
しかし、実際にレジストリの方は書きかわっているものの、きちんとフォーカスを奪ってくれず、
TweakUIで該当の項目を見てもチェックが付いたまま…もちろんTweakUIでチェックを外せば奪うようになる。
他に何をすればAHKでも反映されるようになるんかな。
- 348 :名無しさん@お腹いっぱい。:2005/12/23(金) 19:43:26
ID:JrNibnEe0
- あーなんか昔クリップボード拡張ソフトのスレでそれっぽいの見たような記憶が
今ちと忙しくて過去ログ探してる暇がないが
Charu3起動するとフォーカス関係がおかしくなる奴
- 349 :347:2005/12/23(金) 21:18:22
ID:6+7NW5wO0
- >>348
そのスレ自体は知っているんだけど、やっぱり原因となってるソフトを特定して、
作者に直してもらうほか無いのかなぁ。
- 350 :名無しさん@お腹いっぱい。:2005/12/23(金) 22:08:11
ID:4kg8U7Th0
- >>347
その手の設定はレジストリ変えた後に「再設定したよ」ってOSに知らせないといけないのかも 確かそんなAPIがあったはず
- 351 :名無しさん@お腹いっぱい。:2005/12/24(土) 00:50:55
ID:qmuEaf2G0
- 最強クリップボード拡張ソフトはこれだ!Part5
http://pc8.2ch.net/test/read.cgi/win/1085675606/371-383
CharuシリーズサポートBBSの下のほう XPでフォアグラウンドアクティブできなくなるのですが…
ttp://8537.teacup.com/keiziweb/bbs?OF=120&BD=9&CH=5
自分このときCharuの作者さんに報告したものだけど 問題部のソース晒して貰った上でバグ部分を特定してるので
>347氏のも同じ現象ならソフトの作者さんに報告すれば直して貰える確率は高いと思う
常駐物もいったん全部外して、常用ソフト一個ずつ起動終了ごとにTweakUIで状態確認、で
原因のソフトは特定できると思うよ。ちと手間だけど
- 352 :名無しさん@お腹いっぱい。:2005/12/29(木)
13:16:24 ID:kRbce90V0
- age
- 353 :347:2006/01/02(月) 13:16:01
ID:ECSj1xL10
- 状況報告
Tweak UIの挙動をSpy++で確認。レジストリ変更後、↓を確認。 WM_SETTINGCHANGE
wFlag:2001 pszMetrics:0006F4B4 ということで、スクリプトに↓を追加。 SendMessage,
0x1A, 0x0002001, 0x0006F4B4,, ahk_id 0xFFFF
これで試したところ、以下のような良く分からん状態に。 Tweak
UIでチェックをつけてOKを押す 該当レジストリが200000になる ↓AHK実行 レジストリが0になる
↓フォーカスをきちんと奪うようになる ↓Tweak UI起動して確認するとチェックが付いたまま レジストリの方は0になっている
↓そのままOKを押す ↓AHK実行 レジストリは0のまま ↓フォーカスを奪えない Tweak
UIの方もチェックが付いたまま
↓のようにいろいろ変えてみても効果無し。 SendMessage, 0x1A,
2001, 0x0006F4B4,, ahk_id 0xFFFF SendMessage, 0x1A, 0x0002001,
"Control Panel\Desktop",, ahk_id 0xFFFF SendMessage, 0x1A,
0x0002001, "HKEY_CURRENT_USER\Control Panel\Desktop",, ahk_id 0xFFFF
SendMessage, 0x1A, 0, 0x0006F4B4,, ahk_id 0xFFFF SendMessage,
0x1A, 0, 0,, ahk_id 0xFFFF
- 354 :347:2006/01/02(月) 13:23:01
ID:ECSj1xL10
- 続き
参考にしたのは↓のサイト
ttp://www.sxlist.com/techref/os/win/api/win32/mess/src/msg27_28.htm
何か根本的に間違っているのかそれとも足りないのか…
ちなみに原因となってるソフトを探してみるものの、問題が起こるときは何度でも起きるし、
起きないときは全然で、再現性が無くて困り中。
何かSyleraが怪しい気もするけど確証が取れず。複数ソフトが原因だったらお手上げっす。
長文スマンね。
- 355 :名無しさん@お腹いっぱい。:2006/01/03(火)
07:25:06 ID:jyT5EMJg0
- JoeのようなAltTab代替アプリを実現しようと思ったんですが、
アイコンの取得の仕方がわかりません。
インスタンスハンドルを取得できればWinAPIを使ってできそうなんですがうまく取得できず。
- 356 :名無しさん@お腹いっぱい。:2006/01/03(火) 12:14:30
ID:Tw0iMMgh0
- HDD漁ったら昔作ったアイコン存在チェックソース出てきた。時間ないので未検証でコピペするお
;WNDCLASSEX
構造体にセットされたアイコン GCL_HICON := DllCall("GetClassLong", Uint,hWnd,
Int,-14) ;GCL_HICON GCL_HICONSM := DllCall("GetClassLong",
Uint,hWnd, Int,-34) ;GCL_HICONSM
;WM_SETICON
メッセージによってセットされたアイコンを取得 SendMessage,0x007F,0,0,,ahk_id %hWnd%
;ICON_SMALL ICON_SMALL := ErrorLevel
SendMessage,0x007F,1,0,,ahk_id %hWnd% ;ICON_BIG ICON_BIG :=
ErrorLevel SendMessage,0x007F,2,0,,ahk_id %hWnd% ;ICON_SMALL2(XP)
ICON_SMALL2 := ErrorLevel OutputDebug, GCL_HICON=%GCL_HICON%
GCL_HICONSM=%GCL_HICONSM% ICON_BIG=%ICON_BIG% ICON_SMALL=%ICON_SMALL%
ICON_SMALL2=%ICON_SMALL2%
- 357 :355:2006/01/03(火) 17:40:06
ID:jyT5EMJg0
- >>356
ありがとうございます。 これでアイコンハンドルは取得できました。
ListViewのGuiのIL_Add()ではアイコンのファイル名が必要なんですが
ハンドルからファイル名は取得できるのでしょうか?
- 358 :名無しさん@お腹いっぱい。:2006/01/03(火) 21:17:52
ID:Tw0iMMgh0
- 取得したアイコンハンドラを元にGUIへ反映する方法はわからんです。
(自分はウィンドウのタイトルバー左上にアイコンがあるのかどうか調べるためだけに アイコンハンドル取得してみてるだけなので)
APIでどうにかできそうとのことだったので、むしろフィードバックを期待してたんですが
単純にexeのアイコンが表示できればいいのなら、管理人さんの プロセスIDを指定して実行ファイルパスを得る関数で
.exeフルパス取得して セットしてやればいいと思われ
http://cgi19.plala.or.jp/lukewarm/news/2005_05.html#14
- 359 :355:2006/01/03(火) 21:27:09
ID:jyT5EMJg0
- >>358
その管理人さんの関数で解決できそうです。
ありがとうござました。
- 360 :355:2006/01/03(火) 21:45:14
ID:jyT5EMJg0
- 最後のほうの
DllCall("psapi\CloseProcess","Int",hProcess)
のErrorLevelが-4になってしまうんですが大丈夫なんでしょうか?
- 361 :名無しさん@お腹いっぱい。:2006/01/04(水) 15:29:26
ID:SbxpZ6KF0
- ホイールの挙動がなんかおかしいです
SetTimer,tip,1000 return
tip:
GetKeyState,ks,WheelDown,P ToolTip,%ks% return
で調べると、一度でもWheelDownをするとそのあとマウスから手を離しても
ずっとksの値はDのままになってしまいます。
- 362 :名無しさん@お腹いっぱい。:2006/01/04(水) 15:49:26
ID:x6p42A6B0
- >>360
これはCloseHandle()の間違いらしい。
DllCall("CloseHandle", "Int", hProcess)
- 363 :名無しさん@お腹いっぱい。:2006/01/04(水) 16:55:55
ID:95AmdYfp0
- >361
ホイールの回転はホイール押下みたいなUP/DOWNが有るイベントじゃないから
状態を取ること自体間違ってる気がする
- 364 :361:2006/01/04(水) 17:01:50
ID:SbxpZ6KF0
- >>363
ホイールが回転されるまで待機、ってことがやりたいんですが
無理ですか?
- 365 :名無しさん@お腹いっぱい。:2006/01/04(水) 19:47:56
ID:95AmdYfp0
- 単にWheelDown::に処理書いてやって,フラグ立てるなり終了するなりすればいいんでは
- 366 :361:2006/01/04(水) 19:50:45
ID:SbxpZ6KF0
- >>365
& WheelDown::の最中で待機したかったんですが
あきらめて他の仕様にすることにします
- 367 :名無しさん@お腹いっぱい。:2006/01/05(木) 01:16:03
ID:YlkDRsZz0
- フォルダのパスを引数として渡し、
「フォルダの参照」ダイアログのツリーを操作して
引数のフォルダを選択させる、ということをしたいのですが、 どのようにすればいいのでしょうか?
DialogSetやDialogHandlerが使えないソフトにも 自前で対応させようとしているのですが、
「フォルダの参照」ダイアログがどうにもできず困っています。 助言をいただきたいです。
- 368 :355:2006/01/05(木) 01:17:18
ID:n7Jr+2qn0
- >>362
亀レスすみません エラー出なくなりました。ありがとうございます。
- 369 :名無しさん@お腹いっぱい。:2006/01/05(木) 01:40:30
ID:8eGMClaI0
- >>367
「フォルダの参照」の場合、パスをセットする場所がないので
ルート(マイコンピュータ)からインクリメンタルサーチで1階層ごとに フォルダ選択していくしかないのでは?
DialogHandlerは随分とうまいことやってるけど、多分100%の無理そうな気がする。
- 370 :名無しさん@お腹いっぱい。:2006/01/05(木) 01:41:29
ID:8eGMClaI0
- ×多分100%の無理そうな気がする。
○多分100%の精度での実現は無理そうな気がする。
- 371 :名無しさん@お腹いっぱい。:2006/01/05(木) 10:54:01
ID:mE3SDKUy0
- 一応フォルダの参照ダイアログの選択フォルダを指定する
方法はあるが(>>369のような不確かな方法ではない) AutoHotKeyでは無理っぽい気がする。
とりあえずSHBrowseForFolder SHGetPathFromIDList
あたりでググってみるといい。この方法は環境に問題がなければ 精度はほぼ100%だよ。(完全に100%かもしれないが、
言い切れるほどの確認はしてないので)
- 372 :367:2006/01/05(木) 15:29:16
ID:YlkDRsZz0
- >>369 >>371
レスありがとうございます。どうも難しいようですね。
「フォルダの参照」の場合はDialogHandlerに丸投げすることにしました。
- 373 :名無しさん@お腹いっぱい。:2006/01/07(土) 16:48:04
ID:g9rnGIxl0
- 特定のアプリにのみ有効にすることはできますか?
また、マウスジェスチャ(←→ならESCなど)を指定することはできますか?
- 374 :名無しさん@お腹いっぱい。:2006/01/07(土) 17:08:20
ID:E/GD5dod0
- そのように書けばできますYO!
- 375 :名無しさん@お腹いっぱい。:2006/01/09(月) 15:47:48
ID:OvYu84cO0
- >>347
AutoHotkeyユーザーではありませんが、347さんと同じような現象で困っていてこのスレにたどり着きました。
tuneappスレ(Windows2000/XP チューンナップ専用スレ Part17)にも書き込んでます。
以前はこんな現象は起こらなかったので困ってます。
常駐ソフト切ったり、バージョンを変えたり(上げたり落としたり)しても同じく原因がわからないんですよね・・・
レジストリを書き換えても(tuneappでも可)、TweakUIの「アプリケーションにフォーカスを横取りさせない」のチェックボックスに変化無し。
チェックボックスを外してもいつの間にかチェック状態に戻ってしまう・・・
Windows2000を普段使ってまして、WindowsXPだと起きていないので
Windows2000の何かが原因なんですかね。 ネットで調べたらWin32
APIてのが関係してるかもしれないようですが、お手上げ状態です。
- 376 :名無しさん@お腹いっぱい。:2006/01/09(月) 17:38:31
ID:r9CSfa8s0
- >>347
今更だが、Regmon辺りで書き換えてるアプリ探すのが一番かと
ForegroundLockTimeoutでフィルタリングして放置しておけばそのうち引っかかると思うぞ
- 377 :347:2006/01/09(月) 21:51:22
ID:gCdov2U80
- >>376
残念ながらそれはもう試してた。Regmonでは引っかからなかったよ。
Tweak UI等での正規の方法で変更する場合は関知してくれるけど、このバグの場合は無理らしい。
いっそ、この問題が起こる人用のスレでも立てて、全使用ソフトを書き連ねる→共通するソフトが容疑者
って方法でも取らないと無理かなぁ…ちなみにOSはXP SP2です。
とりあえず原因が除去できないならってことで、>>347で書いたものの代わりにこんな感じで無理矢理対処。
SendMessage等を用いたもっとスマートなやり方を誰か分かれば頼む。
TweakFocus: Run,
TWEAKUI.EXE WinWait, Tweak UI ControlSend, SysTreeView321,
{Down}{Right 2}, Tweak UI Sleep, 50 Control, UnCheck, ,Button2,
Tweak UI Sleep, 50 ControlClick, Button6, Tweak UI return
- 378 :名無しさん@お腹いっぱい。:2006/01/09(月) 23:37:50
ID:r9CSfa8s0
- >>377
Regmonでダメだったのか
古典的なwin.iniのCompatibility95セッションに追加する手法は?
- 379 :347:2006/01/10(火) 00:20:10
ID:YKl99lMm0
- >>378
こんな簡単な解決方法があったとは…
根本的な解決になったわけではないけど、実用上は何の問題もなし。 激サンクス!
- 380 :名無しさん@お腹いっぱい。:2006/01/10(火) 12:26:18
ID:edhaETY50
- 今更かもしれませんが・・・前スレ749さん
hModule := DllCall("LoadLibrary", str,
"DengakuDLL.dll")
p := DllCall("DengakuDLL.dll\TOHANKAKU",
"str", "01234567890", "str") msgbox, %p% DllCall("lstrcpy",
"str",str1, "str", p) msgbox, %str1%
DllCall("FreeLibrary",
UInt, hModule)
で、動きました。処理途中で解放されていたのが問題だったぽいですね。
すでに解決してたらすいません。
- 381 :名無しさん@お腹いっぱい。:2006/01/10(火) 21:55:48
ID:h3Yb+cm+0
- DllCall("SetCaretBlinkTime",UInt,100)
とやってもすぐに反映されず、何かアクションを起こさなければ速度はそのままです。 何か足りないんでしょうか?
- 382 :前スレ749:2006/01/11(水) 01:30:09
ID:95IZTI+k0
- >>380
あ! LoadLibraryで確保すればOKだったのか。
管理人氏がBRegExp.dll でやってたのは知ってたけど再検証はしてなかったです。 (自分でも忘れてた)
秀マクロ用のDLLが使えるようになるのは結構大きいかも。 教えてくれてアリガトン
てことは、AHKでも田楽DLLのSETVER/GETVERでグローバル変数が扱えるのかな
iniとか経由なしでオンメモリ上で秀マクロや他のアプリとデータを共有化できるのか うはw夢がひろがりんぐwww
- 383 :名無しさん@お腹いっぱい。:2006/01/11(水) 04:51:40
ID:tIP7xIJe0
- 起動するとそのままタスクトレイに入るソフトがあるんですが、
これをScrollLockで起動・終了したいんですね。
で、こんな風に書いてみたんですが……
~ScrollLock:: Process, Exist,
task.exe if ErrorLevel = 0 Run, task.exe else WinClose,
ahk_pid %ErrorLevel% return
これだとそのソフトの終了ができないんです。
ここの「WinClose」が「Process, Close」にすれば「強制終了」はできるんですが、
強制終了でなくふつうの終了がしたいんです……。ソフトの挙動が変わってしまうので。
タスクトレイアイコンを右クリックでxすると終了できるので、 この「WinClose」の行を「Send, #b &
AppsKey & x」とかやってみたんですが、
別のアイコンにフォーカスが当たってしまい、、、どうにもうまくいきません。教えてください。
- 384 :名無しさん@お腹いっぱい。:2006/01/11(水) 05:02:56
ID:XYQfQQRG0
- トレイメニューの「閉じる」のコマンド番号を調べておいてWM_COMMANDで送ってやればいいような
- 385 :名無しさん@お腹いっぱい。:2006/01/11(水) 07:58:09
ID:95IZTI+k0
- 挙動の本質とは関係ないかもしれないけど、Locks系の押下情報は
OSが返してくる値がおかしいからホットキーに割り当てるのは控えたほうが良いと思われ
- 386 :名無しさん@お腹いっぱい。:2006/01/12(木) 01:07:46
ID:rmvCVckQ0
- なまず日記すげえな。
- 387 :383:2006/01/12(木) 03:13:12
ID:HWiUEJ9g0
- 助言ありがとうございました。
Send, #b{APPSKEY}x これでいけました。
これ「ソフトがタスクトレイの左端にある」ことを決めてかかっているのでよくないですが、
紹介いただいた「コマンド番号を調べる」方法を知らないので……(^^; ぐぐって見て、
ResouceHackerでできるという話があったのでやってみたんですが、 それらしいエントリが見つからず……断念。
- 388 :名無しさん@お腹いっぱい。:2006/01/12(木) 03:30:15
ID:5XY6ilOR0
- Direct Command
ttp://members.jcom.home.ne.jp/shinonon/dircmd.html
終了命令はこれで調べられる可能性があるよ SendCmdをRunさせてもいいし、 AHK内でも処理できる。
- 389 :383:2006/01/12(木) 21:12:12
ID:HWiUEJ9g0
- ありがとうございます。
ただ、流行らせるページで紹介されている方法も含め、ソフトが特殊なのかうまくいきませんでした……。
件のソフトはWorkCheckerという、キーの押下回数をカウントするソフトなんですが(^^;
終了時にCSV形式でファイルを出力するもので、強制終了するとこれをやってくれないんですよ。
「終了」のほうは、とりあえず何とかなっているのでこれでいいとして、
もう一つうまく行かないことがありますので、よろしければお願いします。
Media Player
Classicを「フルスクリーン」にしているときに、
383で挙げているスクリプトを走らせると、MPCのフルスクリーン化が解除されてしまうんですね。
これが「ウィンドウの最大化」なら、特に解除されることもないんですが……。
問題の部分はこんな感じになってます。
WinGetActiveTitle, player Send, #b{APPSKEY}x
WinActivate, %player%
このSendをした際に、
タスクトレイにフォーカスが移ってタスクバーが出たままになるのを何とかしたくて
このような処理をしてみたんですが、先にも書いたとおり、
最大化したウィンドウでは期待どおりに動くものの、全画面化した場合はうまくいきません。
WinGetActiveTitleが、タイトルの取得のためにウィンドウ表示に戻してしまうんでしょうか……。
ちなみに、playerにはMPCの決め打ちができません。
- 390 :名無しさん@お腹いっぱい。:2006/01/12(木) 21:23:04
ID:HWiUEJ9g0
- あ、ちなみに、MPC以外でも同じ状態になります。
それと、 WinGet, player, PID 〜
WinActivate, ahk_pid %player%
とか、PIDじゃなくてIDだとかの場合も試しましたが、これもうまくいかず。
- 391 :名無しさん@お腹いっぱい。:2006/01/13(金) 01:26:59
ID:+pozkCUx0
- 今プログレスバーを半透明にしようとしているのですが、期待した表示になりません。
Progress,cwFFFFFF
,,name,time winset,TransColor ,FFFFFF 50,time return
esc::exitapp
ウィンドウを半透明にして文字とバーは透過なしにしたいのですが、出来ないのでしょうか?
これだとウィンドウが完全な透明、文字とバーが半透明になります。 Trans
,で設定するとウィンドウは半透明なのですが文字も半透明に。。トホホ。
- 392 :名無しさん@お腹いっぱい。:2006/01/13(金) 12:15:47
ID:5XB+c2x50
- 2枚重ね
- 393 :391:2006/01/13(金) 17:00:20
ID:dZX44Wpz0
- >>392
ありがとう!発想を変えれば良かったんですね。希望の動作になったので報告までにはっときます。
オプションでツールウィンドウを指定してるのは、タスクバーに表示させたくないためです。
gui,add,text
Gui, Color,000000 gui,+ToolWindow +AlwaysOnTop +OwnDialogs
-border gui,show,w300 h200,back winset,Trans, 50,back
Progress,cwC8D0D4 ctFFFFFF B,,name,time Progress,50,,,time
winset,ExStyle,+0x00000080,time winset,TransColor ,C8D0D4
255,time return
esc::exitapp
- 394 :381:2006/01/14(土) 21:15:58
ID:6j6GF4sd0
- いまだ解決せず。
キャレットの速度変更した後、Send,{Left}{Right}とか無理やりアクション起こすと
色々不具合がでるソフトもあるし・・・ SmartCaretはどうやってるんだろう。
- 395 :383:2006/01/17(火) 10:21:04
ID:aCgAJjPo0
- 一段落したのでまとめをさせてください。
したかったのは、プログラム全画面化時のキー押下回数のカウントでした。
カウントには>389で挙げているWorkCheckerというソフトを利用することにしていました。
はじめ>383にてScrollLockを使おうとしていたのは、
全画面化時でもキーボードインジケータによって動作中かどうかがわかるためです。
これによって挙動がおかしくなったかどうかはわかりませんが、>385さんの助言を受け、
起動キーを変更して(NumpadSubに)、動作情報はツールチップに表示させるようにしました。
いろいろ調べてみましたが、WorkCheckerのメッセージによる終了のさせ方がわからず、
タスクトレイにフォーカスを当ててキーをSendするというムリヤリな解決法をとりました。
その後WorkCheckerの使用をやめ、AutoHotkeyスクリプト内部の処理でカウントすることに。
これでスクリプト終了の問題は一応決着がつきました。
が、その数値をファイルに書きこむ際、エントリ名を取得しようとInputBoxを出すと、
>389と同じ状況になり、全画面化が解除されてしまいます。
最大化でなく全画面化なので、WinMaximizeでも状態を復帰させることができません。
いろいろやってみたところ、WinGetActiveTitleとかWinActivateには問題がなく、
プログラムの全画面化が解除されるのは、タスクトレイやInputBoxなど
他のウィンドウにフォーカスが移ったときであることを突き止めました。 また、この現象は、プログラムの最大化時や、
IEのキオスクモード(F11を押すとできる一種の全画面化)では発生しないこともわかりました。
以上です。
全画面化の解除問題は解決してないのですが、うまくいきそうにないので諦めることにしました。
プログラムはPerlのワンライナー程度のスクリプト処理をちょっとかじっていただけ、
Windowsプログラミング経験なしのド素人なので、
コメント行やエラー処理も含めて100行を越えるスクリプトを書いただけでいっぱいいっぱいです(^^;
皆さん、助言どうもありがとうございました。
- 396 :名無しさん@お腹いっぱい。:2006/01/17(火) 13:41:14
ID:aCgAJjPo0
- まとめてみて、もしや、と思って試してみました。
全画面化中にAlt+Tabをしてみると、AHKスクリプトでの全画面化解除の挙動と一緒でした。
つまり、AHKスクリプト中に全画面化解除されるプログラムは、Alt+Tabでも解除され、
AHKスクリプト中に解除されないプログラムは、Alt+Tabでも解除されませんでした。
(最大化した場合や、IEのキオスクモード) この問題の発生はAutoHotkeyに直接関係がなかったようです。お騒がせしました。
- 397 :名無しさん@お腹いっぱい。:2006/01/17(火) 17:29:06
ID:kObrtqt+0
- 全画面化解除されても、復帰させれば問題ないのなら、
全画面化解除されるアプリ毎に全画面化に必要な操作をAHKにさせれば良いんでねーの?
数が多いと嫌になるかもしれんが、大抵全画面化のホットキーは決まってるし。
- 398 :名無しさん@お腹いっぱい。:2006/01/22(日) 12:49:22
ID:2qAgcpH90
- 時間の計算で難儀してます....
時刻t1〜時刻t2間の時間T[s]を求める際に、 T := t2 - t1
みたいな書き方はできるんですが、 時刻t2と時間T[s]から、 t1 := t2 - T
のような式だとうまくいきません。 たとえば、ここでT=300[s](5分)として計算すると、
t2を時間としてでなく、数値として解釈するようで、T=3:00(3分)として計算されてしまいます。 t1 := t2 - T,
Second とやると、今度は「TがYYYYMMDDHH24MISSのフォーマットではない」とエラーになるし、
EnvSubのマニュアルを見ていてもいまいちやり方がわかりません....
- 399 :名無しさん@お腹いっぱい。:2006/01/22(日) 15:46:10
ID:Yqz0MIUn0
- EnvAddで-300秒を足すんじゃなかったけ?
- 400 :名無しさん@お腹いっぱい。:2006/01/22(日) 16:19:08
ID:1N3K73ci0
- 時間計算はEnvAddとEnvSubの扱いの違いに気がつかないとハマるな
過去スレでも何度か話題になってるから調べてみ
- 401 :名無しさん@お腹いっぱい。:2006/01/22(日) 17:01:54
ID:2qAgcpH90
- ほ、ほんとだ...
>399,400 レスありがとうございました。
EnvAddのマニュアルにも、たしかにそれらしい文言がありますね。 でもこんなのわかんないよぅ...
- 402 :名無しさん@お腹いっぱい。:2006/01/22(日) 17:12:45
ID:v9Q+2/T40
- タイトルバーで中クリックされたら処理を行うってこと(QuickDirみたいなもの)がやりたいんだけど、
どんな感じでやれば良いんでしょーか。とりあえず↓のようにやってみたけど、
SendMessageの使い方が間違ってるのか、うまくいかないっす。(ErrorLevelがFAILになる)
~MButton:: MouseGetPos, x, y, id SetFormat, integer, H x
+= 0 y += 0 xy := x + y * 0x10000 SendMessage, 0x84, 0,
%xy%, ahk_id %id% If ( ErrorLevel == 2 ) { ;ここに処理を入れる }
return
- 403 :名無しさん@お腹いっぱい。:2006/01/22(日) 17:52:51
ID:69RhDVUi0
- 1.0.40.12から1.0.41にバージョンアップしたら、
RWin up::Return
が効かなくなってしまいました。
AutoHotkeyを常駐させ、右Windowsキーを
>#i::Send,{Up} >#k::Send,{Down}
のように使っているのですが、Windowsキーを押して そのままはなすとスタートメニューがでるのがいやで
冒頭のものを一緒に書いていました。 ところが1.0.41ではスタートメニューがでてしまいます。
解決する方法があれば教えてください。
- 404 :名無しさん@お腹いっぱい。:2006/01/22(日) 17:54:27
ID:1N3K73ci0
- 0x84 て何だっけ?
値からメッセージ名探すの大変なんで質問する時はコメントとか入れてクレ
- 405 :402:2006/01/22(日) 18:30:09
ID:v9Q+2/T40
- >>404
スイマセン。 コメント入れるとこんな感じです。
~MButton:: MouseGetPos, x, y, id ;カーソル下の座標とid取得 SetFormat,
integer, H ;座標を16進数に変換 x += 0 y += 0 xy := x + y * 0x10000
;座標を上位ワードと下位ワードにまとめる SendMessage, 0x84, 0, %xy%, ahk_id %id%
;カーソル下のウィンドウにWM_NCHITTESTを送る If ( ErrorLevel == 2 ) ;タイトルバーならば処理を実行
{ ;ここに処理を入れる } return
メッセージに関してはここを参考にしました。
ttp://www.winapi-database.com/Message/WM/WM_NCHITTEST.html
- 406 :名無しさん@お腹いっぱい。:2006/01/22(日) 19:02:30
ID:GjGnwmrQ0
- >>403
1.0.41 から流行らせるページの 2 stroke key
も動かなくなっちゃいましたね。 本体のバグだと思うんで、本家の更新待ちです。
- 407 :406:2006/01/22(日) 20:00:46
ID:GjGnwmrQ0
- すいません。 Ctrl key double tap の方でした…。
- 408 :名無しさん@お腹いっぱい。:2006/01/22(日) 21:39:01
ID:1N3K73ci0
- >>405
とりあえず2つほど気がついた点。ただこれでも期待通りの値は取れてないが。
・SendMessage はウィンドウ指定より先にControlを指定する。(FAILの原因)
・MouseGetPosのX,Y座標はアクティブウィンドウの左上からの相対座標で取得される。
(CoordMode,Mouse,Screenを実行してない場合)
つかこのWM_NCHITTESTって「非クライアント領域のどの部分でマウスが操作されたか調べる」って
なってるんだけど、いいのだろうか
~MButton:: MouseGetPos, x, y, id,ctl
;カーソル下の座標とid取得 xy := x + y * 0x10000 ;座標を上位ワードと下位ワードにまとめる
SendMessage, 0x84, 0, %xy%, ,A MsgBox, ErrorLevel=%ErrorLevel%
return
自分もキャプション位置を取得するのにかなり面倒な関数組んでるので
こんな簡単にまとめられるならその方が有り難いんだがね
- 409 :402:2006/01/22(日) 23:52:19
ID:v9Q+2/T40
- >>408
座標自体は16進変換しなくても良かったんですね。
自分もその座標の原点をどこにすればよいのか分からなかったので、とりあえずそのままやってみた次第です。
どうやら、Delphi製もしくはWTLを用いて作られたソフトではうまくいくようです。
>自分もキャプション位置を取得するのにかなり面倒な関数組んでるので どのようなロジックで実装されているんでしょうか。
- 410 :名無しさん@お腹いっぱい。:2006/01/23(月) 03:04:13
ID:zfPva1iV0
- >>409
ちと長いんで自ブログのほうに上げますた。無駄に助長だが一応コピペで当座は動くと思う
ttp://d.hatena.ne.jp/eamat/20060123
- 411 :403:2006/01/23(月) 22:02:12
ID:mqTpMs440
- >>406
そうなんですか。 では次のバージョンでの改善を望むことにします。
- 412 :402:2006/01/24(火) 01:16:40
ID:JUUu5mZd0
- >>410
ありがとうございます。期待通りの動きとなりました。
ご苦労の程お察しします。 自分はSendMessageの挙動はいまいち理解できていなく、
根本的な解決法を考えられそうにないので、誰か識者の方ヘルプ^^
- 413 :名無しさん@お腹いっぱい。:2006/01/24(火) 11:29:31
ID:hmUrV7Tv0
- winキーを単体で押したときだけ無効にするにはどう設定すればいいんでしょうか
win+Dとかの操作は有効にしたいんですけど
LWIN::Return
とすると全部無効になってしまいます。
- 414 :名無しさん@お腹いっぱい。:2006/01/24(火) 12:41:36
ID:ArnUgYQ30
- 質問前にせめて10レス前ぐらいは読みたまえよ
- 415 :413:2006/01/24(火) 16:50:53
ID:hmUrV7Tv0
- 1.0.40.12 で
LWIN up::Return
としても全部無効になってしまいます
どうしたらいいんでしょうか
- 416 :名無しさん@お腹いっぱい。:2006/01/24(火) 23:18:38
ID:Kbo1n5/E0
- >>412
ttp://cgi19.plala.or.jp/lukewarm/news/2006_01.html#23
- 417 :名無しさん@お腹いっぱい。:2006/01/24(火) 23:30:27
ID:duKuEjYk0
- >>413
LWIN::Return LWIN &
LWIN::Return;二つ目のLWIN部分は何でも良い。
裏技的だが・・v1.0.40.05ではこれで動いた。他verではどうなるか知らん。
- 418 :名無しさん@お腹いっぱい。:2006/01/24(火) 23:35:41
ID:duKuEjYk0
- >>416
あぁ、なるほど、SendMessage自体を直に呼べばいいのか。目から鱗。
そうだよなぁ・・・気が付かなかったなぁ・・
- 419 :名無しさん@お腹いっぱい。:2006/01/25(水) 00:09:26
ID:1ITNklYD0
- >>416
ぬおお、コンパクトだ。さすが
- 420 :名無しさん@お腹いっぱい。:2006/01/25(水) 00:37:47
ID:whVXuEi20
- ぬるたん
∩ ( ⌒) ∩_
_ グッジョブ!! /,. ノ i .,,E)
/ /" / /" _n グッジョブ!! / /_∧ ,/ノ'
( l ∧_∧ / /*´∀`)//∧_∧ グッジョブ!! \
\ (*´∀`)( / (*´∀`) n ヽ___ ̄ ̄ ノ ヽ |  ̄ \ ( E)
/ / \ ヽ フ /ヽ ヽ_//
- 421 :402:2006/01/25(水) 02:38:42
ID:XjlFS14L0
- >>416
(n‘∀‘)ηキテルワー!!
確かにDllCallから使った方が確実ですね。 さり気なくビットシフトなどを使っている辺り、自分との経験?の差を感じます…
改めてお二人に感謝。
- 422 :名無しさん@お腹いっぱい。:2006/01/25(水) 04:04:49
ID:8YZ6hNpP0
- あら・・スクリーン座標にするだけで、AHKのSendMessageでも出来たよ・・・
問題はそこだったか・・
- 423 :413:2006/01/25(水) 19:22:45
ID:sklEJtBz0
- >>417
1.0.41.00 で動きました! ありがとう
- 424 :名無しさん@お腹いっぱい。:2006/01/26(木) 00:09:38
ID:NczzL1RK0
- RButton & WheelDownにAltTabを割り振りました
特定のアプリだけ、この機能を無効にしたいのですがそれは可能でしょうか
Sendにするとすぐキーを離してしまうし、かといってifで条件分岐したあとにAltTabを置いても機能しません
- 425 :名無しさん@お腹いっぱい。:2006/01/26(木) 03:33:13
ID:AxRUycRL0
- #IfWinActive
- 426 :名無しさん@お腹いっぱい。:2006/01/27(金) 18:46:53
ID:khUBsNcY0
- 点呼スレがピンポイントで狙われてるな、何でだろ
- 427 :名無しさん@お腹いっぱい。:2006/01/27(金) 18:52:03
ID:MkK/HyNo0
- NP2のウィンドウに対してだけ急にahkが効かなくなっちゃったんですが
どうすればまた有効になるんでしょうか?
- 428 :403:2006/01/27(金) 23:27:57
ID:/9813JvU0
- >>417
遅ればせながらありがとうございます。 それでうまくいきました。
- 429 :名無しさん@お腹いっぱい。:2006/01/28(土) 14:18:33
ID:+ZZFrik00
- AHKだと、こういうコメントの書き方できませんね。
/*******************************************************************************
* これは、ahkのコメントを確認するためのサンプルです
*******************************************************************************/
これもダメ。
/*******************************************************************************
* これは、ahkのコメントを確認するためのサンプルです
******************************************************************************
*/
これならOK。
/*******************************************************************************
* これは、ahkのコメントを確認するためのサンプルです
******************************************************************************
*/
- 430 :名無しさん@お腹いっぱい。:2006/01/28(土) 14:37:46
ID:9fE5ExNP0
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; これでいいじゃん ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- 431 :名無しさん@お腹いっぱい。:2006/01/28(土) 15:18:26
ID:M2n6ETLA0
- /*
行頭に無いとコメント終始認識されないよん */
- 432 :名無しさん@お腹いっぱい。:2006/01/28(土) 16:09:27
ID:QgFgpb9I0
- ちょこちょこ弄ってたら常駐スクリプトが16KB突破…
Runコマンドで呼び出してるのも含めたら40KB超えてたよ。
AutoHotkeyって自由度高い分、各人がどんな使い方してるか気になる。
自分は無変換、変換、カナ/かなキーを修飾キーとしてキーやコマンド割り当てをするのがメイン。
各ウィンドウ位置の保存とかも簡単だし。 トリプルクリック、クワドロプルクリックでも自由に設定できるのも良いね。
あとは、エディットボックスならどんなソフト上にあるものでも 電卓・検索・辞書・コマンドランチャとして使えるようにしたりとか。
- 433 :名無しさん@お腹いっぱい。:2006/01/29(日) 22:55:37
ID:g1nyLRt50
- 各スクリプトの共通項を切り出してインクルードするのって無理だよね?
- 434 :名無しさん@お腹いっぱい。:2006/01/29(日) 23:08:49
ID:sQBDNXPy0
- >>433
具体的に。
- 435 :名無しさん@お腹いっぱい。:2006/01/29(日) 23:10:30
ID:g1nyLRt50
- AHKがインクルードファイルをサポートしてるか否か。
またそれに類する代替機能があるか。
- 436 :名無しさん@お腹いっぱい。:2006/01/29(日) 23:18:01
ID:sQBDNXPy0
- >>435
ttp://lukewarm.s101.xrea.com/commands/_Include.htm
- 437 :名無しさん@お腹いっぱい。:2006/01/30(月) 00:25:20
ID:jpKlrbYu0
- gdiplus.dllで描画出来ないYO!!
GIFとかICONをPictureコントロールで透明色部分を背景透過して表示したいんだが、 うまくいかない・・
Gui, Add, Picture, AltSubmit BackgroundTrans, AAA.ico Gui,
Show
とかやっても透明部分が透過されないYO!!!
ちゃんとgdiplus.dllはAutoHotkey.exeのフォルダに入れてあるのに・・
へるぷみー><;
Win2Ksp4 Ahk1.0.41.00
- 438 :名無しさん@お腹いっぱい。:2006/01/30(月) 01:41:27
ID:uhBVy+7t0
- >>437
dllが認識されてないとかかな。
system32ディレクトリに置いてみるとか、regsvr32で登録してみるとか、パス通すとかやっても駄目だった?
- 439 :名無しさん@お腹いっぱい。:2006/01/30(月) 15:20:34
ID:uhBVy+7t0
- Run/RunWaitコマンドでコンソールアプリケーションに引数を与えて実行し、
標準出力を得たいんだけど、とりあえず直接標準出力を得るのは無理っぽいので、
ファイルにリダイレクトし、FileReadLineで読み込む方法をとることにした。
Run, %comspec% /c
test.exe "引数" > %A_ScriptDir%\test.dat
んで、↑のようにやっても、「 >
%A_ScriptDir%\test.dat」部分まで test.exeの引数として認識されてしまうらしく、うまくいかない。
多分AHKは関係ないと思うんだけど、解決策求む。
- 440 :名無しさん@お腹いっぱい。:2006/01/30(月) 22:16:04
ID:llgn8y2u0
- RunWait は試した?
- 441 :439@携帯:2006/01/30(月) 22:46:29
ID:Spq+eLJkO
- >>440
YES
そもそもtest.exeに正しい値が渡っていないのであんまり関係ない感じ。 cmd.exeを経由しなくてもダメでした。
普通にコンソールで、 test.exe 引数 > test.dat とやる分にはうまく行くんだけど…
- 442 :名無しさん@お腹いっぱい。:2006/01/30(月) 23:57:09
ID:LkEIKve40
- うちでもうまく行くのと行かないのがあった気が。
上手く行かないの早々にあきらめて捨てちゃったんでもう憶えてないけど。
- 443 :名無しさん@お腹いっぱい。:2006/01/31(火) 02:44:23
ID:cbKaLT0a0
- なんかダブルクォートをAHKで処理してる感じ
パラメータに日本語とか使ってない?
- 444 :439:2006/01/31(火) 03:38:14
ID:iIRAafqH0
- >>443
g_calcっていう引数として式を与えると、Google電卓を使った結果を出力するソフトで、
引数としては、1+2*4とか、sin(3.14)のような1バイト文字しか使ってないっす。
ttp://www.vector.co.jp/soft/win95/net/se337404.html
…結局面倒なんで、このソフトと同等の機能を持つAHKスクリプトを作って対処してしまいました。
簡単なエラー処理入れても5行程度で済むのね。
なので、自己解決したと言えばしたんだけど、せっかくだから、AHKで標準出力を確実に取得する方法を 後学のためにも知っておきたい。
- 445 :名無しさん@お腹いっぱい。:2006/01/31(火)
11:20:44 ID:333EyHKl0
- てst
- 446 :名無しさん@お腹いっぱい。:2006/01/31(火) 18:20:05
ID:61oRgPKa0
- ニーツオルグ見た?
- 447 :名無しさん@お腹いっぱい。:2006/01/31(火) 18:28:13
ID:R4U/vQRD0
- あそこトップがでかいんだもん。
- 448 :391:2006/02/01(水) 01:02:52
ID:lbQsX6480
- ttp://www.vector.co.jp/soft/win95/net/se269471.html
コマンドライン型のメール送信ソフトなんだがAHKと組み合わせるとおもしろいな。 携帯にメール送るのに便利だわ。
- 449 :名無しさん@お腹いっぱい。:2006/02/01(水) 01:04:48
ID:lbQsX6480
- 名前消し忘れてた。はずかし。。。。
- 450 :名無しさん@お腹いっぱい。:2006/02/01(水) 01:10:05
ID:mATxrmSJ0
- >>448
詳しく
- 451 :名無しさん@お腹いっぱい。:2006/02/01(水) 01:15:27
ID:Ll9eZFNT0
- POP Out
ttp://www.vector.co.jp/soft/dl/win95/net/se367561.html
これでメールチェックも出来るお(多分)
- 452 :名無しさん@お腹いっぱい。:2006/02/01(水) 07:17:12
ID:CHFM6H+R0
- >>439
ttp://cgi19.plala.or.jp/lukewarm/news/2006_01.html#30
- 453 :名無しさん@お腹いっぱい。:2006/02/01(水) 13:09:29
ID:vBsLlalo0
- ファイルの名前を、現在アクティブになってるウィンドウのタイトルにつけかえる、
というスクリプトを書いてみたんですが……
#SingleInstance IGNORE ^r:: f0 = test.txt
FileAppend, test, %f0% WinGetActiveTitle, title
StringReplace, title, title, `:, f1 = %title%.txt
MsgBox, %f1% FileCopy, %f0%, %f1% MsgBox, %f0%
return
まめFileのように、タイトルに「パス - まめFile4」のようになっていると、
ファイルがA_WorkingDirにできてくれないので、
「C:\ほにゃらら」となっている部分のコロンを落とすようにしてみたんですね。
その後のMsgBoxでちゃんと落ちているのは確認できたんですが、FileCopyは失敗してしまいます。
どうしたらよいでしょうか。これがダメ文字というやつですか?
- 454 :名無しさん@お腹いっぱい。:2006/02/01(水) 15:19:14
ID:qvxzsIy40
- コロンはパスの一部なので削ったらダメ
タイトルが「パス - まめFile4」ってなってるのが原因なら、
パスじゃない部分「 - まめFile4」を削る。
ファイル名に日本語使ってないならダメ文字は関係ないよ
- 455 :名無しさん@お腹いっぱい。:2006/02/01(水) 15:25:04
ID:7xayIcgw0
- あれだ、たぶん、
たとえば、WorkingDirがC\AHKだったとすると
C\AHKC\ほにゃらら.txtってことになるってことだろ。
- 456 :名無しさん@お腹いっぱい。:2006/02/01(水) 15:51:43
ID:7xayIcgw0
- あ、ちょっと、的ずれてた・・
タダ単に、相対パス指定では\以外で始まる指定は出来ないってだけだた・・ ごめん<>
- 457 :名無しさん@お腹いっぱい。:2006/02/01(水) 15:54:39
ID:vBsLlalo0
- えーと、こんな感じです。
C:\ahk ←これがWorkingDirで、
C:\home ←たとえばまめFile4でここを開いているとします。 「C:\ahk\"C:\home\ -
まめFile4".txt」みたいな感じにしたいのですが、 ;;ほんとはこんな名前のファイルはつくりたくないのです。
;;タイトルにパスが入るソフトの対策のためのテストというわけで。 「C:\home\ -
まめFile4.txt」という名前で保存されることになるため、 実際にはC:\homeの下に「-
まめFile4.txt」がつくられてしまうんですね。 で、これを回避したい、ということで。
それで、とりあえずコロンを落とすことにしてみたんですが……
あと、「\」も問題だと思ったので、「¥」に変えるとかしてみましたが、うまく行かず。 コロンを残しているとこんな感じになります。
「C:¥home¥ - まめFile4.txt」つまり、「C:」に「¥home¥ - まめFile4.txt」ができちゃう。
- 458 :名無しさん@お腹いっぱい。:2006/02/01(水) 16:01:53
ID:5DqBaWvy0
- 119 名前:unnamed.ahk[sage] 投稿日:06/02/01(水) 05:06 ID:???
そんなの聞く必要あるの? この程度の簡単なものなら、見ればどういう動作するかはすぐにわかるんだから
自分にとって益があるなら使えばいいし、不要なら構わなければいいじゃん。 >>116を誰が何の用途に使おうとどうでもいいだろ。
↑こいつ何様?
- 459 :名無しさん@お腹いっぱい。:2006/02/01(水) 16:03:04
ID:vBsLlalo0
- もう少し補足。
タイトルにパスが入って悪さをしさえしなければ問題がないんです。
で、ウィンドウのタイトルを拾うため、どうしてもファイル名に日本語が入ることは避けられません。 たとえば今このスレはJane
Doe Styleで見てるんですが、これで同じ操作をすると、 タイトルが「Jane Doe Style 【ソフトウェア】 -
AutoHotkey Theread 2」となっているので、 これ+.txtという名前にしたいわけなんです。
やっぱり難しいんですかね……
- 460 :名無しさん@お腹いっぱい。:2006/02/01(水) 16:39:10
ID:7xayIcgw0
- いや、別に平気でしょ。ただ日本語入るとダメ文字に引っかかる可能性あるのでそこは考慮する必要があるかもしれない。
ただ、さっきの問題とは別だよ。
^r:: WinGetActiveTitle, title
StringReplace, title, title, `:,: StringReplace, title, title,
\,\ , All msgbox, %title% FileAppend, , %title%.txt
基本はこんな感じになる。タイトルのファイルがダメ文字無ければ ワーキングディレクトリにちゃんとファイル出来るよ。
ダメ文字関連はここ参照 ttp://www.tierra.ne.jp/~aki/diary/?date=20060111
- 461 :名無しさん@お腹いっぱい。:2006/02/01(水) 16:44:07
ID:7xayIcgw0
- >タイトルのファイルがダメ文字無ければ
>ワーキングディレクトリにちゃんとファイル出来るよ。
文章めちゃくちゃだな・・(;´Д`)
タイトルにダメ文字含まれてなければ、ちゃんと
ワーキングディレクトリに狙ったとおりの名前のファイル出来るよ。
と言いたかった・・スレ汚れまくりごめん<>
- 462 :名無しさん@お腹いっぱい。:2006/02/01(水) 17:22:32
ID:qvxzsIy40
- >>458
えー、そのスレの 118=120 だけど、ここに持ち込まんでも…
ちなみに大元の書込み人からは補足が入った模様です
- 463 :名無しさん@お腹いっぱい。:2006/02/01(水) 17:37:40
ID:vBsLlalo0
- およよ…? 何かうまくいきますね。
すみません、レスいただいてありがとうございました。
- 464 :名無しさん@お腹いっぱい。:2006/02/01(水) 17:49:47
ID:7xayIcgw0
- SerchStr=\/:,;*?"<>|
ReplaceStr=\/:,;*?”<>| ^r::
WinGetActiveTitle, title c=0 Loop{ StringMid, s,
SerchStr, c+1, 1 if !s break StringMid, r, ReplaceStr,
c*2+1, 2 StringReplace, title, title, %s%, %r%, All c++ }
msgbox, %title% FileAppend, , %title%.txt
>>463 これでファイル名に使えない文字はOKかな・・
- 465 :名無しさん@お腹いっぱい。:2006/02/01(水) 21:08:57
ID:vBsLlalo0
- うを、すばらしい!
そのまま組み込んでみます。重ね重ねありがとうでした<O>ペコリ
- 466 :448:2006/02/01(水) 21:37:49
ID:+NEdY0Ev0
- ;メールサーバー
host=mail.xxx.xxx.jp ;表示するメアド
[email protected] ;送り先のメアド [email protected]
filedelete,temp.txt fileappend,,temp.txt sleep,100
run,temp.txt sleep,1000 winwaitclose,temp.txt
run,smail.exe -h%host% -f%mine% -Ftemp.txt %address% return
こいつをsmailのフォルダにいれてAHKを起動。ノートパッド開くから本文書いて閉じる。これでメール送信完了です。
自分はiniでアドレス帳作って、メニューで選択、確認ボタン、終了後に送信ログ残すようにしてる。
表示メアドに携帯メアド設定しとけば、携帯料金浮いてなかなかおいしいです。
いちいちメールソフト立ち上げてヘッダ変えてっつーのがめんどくさいもんで。
- 467 :439:2006/02/02(木) 17:06:47
ID:T+u93vk30
- >>452
何かDllCallだらけで、どういう仕組みになってるか良く理解できてないけど、
とりあえずうまく標準出力を取り込めたよ。サンクス。
- 468 :名無しさん@お腹いっぱい。:2006/02/02(木) 17:09:23
ID:RzOqQmwX0
- 出てるスクリプトまとめたいんだが 本人はスクリプト理解してないんだよなぁ。
やっぱある程度分かってる人がまとめた方がいいよね。
- 469 :名無しさん@お腹いっぱい。:2006/02/04(土) 13:22:47
ID:vcsivbfp0
- Autohotkeyでは上手くテキストを取得できない
リストヴューのテキストを取得したいんだけど
(Clipyでは取れた。具体的にはnPOPのメール一覧)
コマンドラインでWINDOWとかクラスとかを指定してテキストをコピーしてくれるような ツール知りませんか。
- 470 :名無しさん@お腹いっぱい。:2006/02/05(日) 18:35:24
ID:Uooh/wVt0
- ネットの一時ファイルのうち、jpgファイルだけ削除したいのですが、
FileDelete, C:\Documents
and Settings\ユーザー名\Local Settings\Temporary Internet Files\*jpg
とやっても消えてくれません。 Temporary Internet Filesって、普通じゃ消せないのでしょうか。
- 471 :名無しさん@お腹いっぱい。:2006/02/05(日) 19:37:58
ID:dd1IDrgA0
- 実際はその二階層下のフォルダに入っている
その書き方だと直下のJPGしか消さないかも Temporary
Internet Filesを Loopして拡張子が JPGだったら消すようにしたらいいのではまいか。
- 472 :名無しさん@お腹いっぱい。:2006/02/05(日) 21:13:30
ID:Uooh/wVt0
- >>471
content.ie5以下のフォルダにあるんですね。はじめて知りました。
以下のもので出来ました。感謝。
^#D:: path = C:\Documents and
Settings\Admin\Local Settings\Temporary Internet Files\Content.IE5\
Loop, %path%*.jpg , 1 , 1 { FileDelete, %A_LoopFileFullPath%
} return
- 473 :名無しさん@お腹いっぱい。:2006/02/06(月) 09:47:34
ID:XthrTebI0
- なまず日記さんがすげーことをやってるぞ
- 474 :名無しさん@お腹いっぱい。:2006/02/06(月) 10:45:51
ID:wtWU+HDQ0
- あそこはすごすぎてワシャついていけんw
- 475 :名無しさん@お腹いっぱい。:2006/02/06(月) 11:52:47
ID:+ZyBL9kh0
- よかった、ついて行けないのは俺だけじゃないんだw
すごすぎて感嘆のため息しか出ません
- 476 :名無しさん@お腹いっぱい。:2006/02/06(月)
14:24:28 ID:3MY6UK/h0
- >>473
IMEの状態表示っていうの試したけど
iniが初期状態だと何も起きないね iniの仕様調べてまで試す気起きないな
- 477 :名無しさん@お腹いっぱい。:2006/02/07(火) 15:24:32
ID:cd4qYKRv0
- このスクリプトがうまくいかないのはなぜでしょうか。
Home:: SetTitleMatchMode, 2
/* IfWinExist, メモ帳 { ControlSend,, ^s Send, a }
*/ IfWinExist, xyzzy { ControlSend,, ^a ;Send, ^a
MsgBox, %ErrorLevel% } return
Homeキーを押したらxyzzyにCtrl+Aを送る、というテスト用に書いたスクリプトなんですが、
アクティブなxyzzyにSendするのはできても、ControlSendはアクティブかどうかに関わらず動いてくれません。
でもErrorLevelは「0」です。
試しにメモ帳で似たようなことをやってみたんですが(上のコメントアウト部分)、こちらはすんなり通りました。
- 478 :名無しさん@お腹いっぱい。:2006/02/07(火) 16:56:51
ID:I1jBElpS0
- Home::
IfWinActive, xyzzy send, ^a else send, {home}
return
- 479 :名無しさん@お腹いっぱい。:2006/02/07(火) 16:58:56
ID:I1jBElpS0
- あ。勘違いしてたすまん・・・なかったことに・・・
- 480 :名無しさん@お腹いっぱい。:2006/02/07(火) 18:50:22
ID:I1jBElpS0
- Home::
IfWinExist, xyzzy SendMessage, 0x102, 0x1, 0x1E0001
;lParamは指定しなくても動くみたいだが・・。 return
よくわからん。。これで一応逝けるけど。非アクティブだと反応が鈍い。 識者頼む。
- 481 :名無しさん@お腹いっぱい。:2006/02/07(火) 18:56:46
ID:I1jBElpS0
- 書き忘れ0x102はWM_CHARです。
- 482 :名無しさん@お腹いっぱい。:2006/02/07(火) 19:00:10
ID:fWzsdUXL0
- 出来ないなxyzzy
クラスの取得出来ないし、何か特殊なんじゃないか?
- 483 :名無しさん@お腹いっぱい。:2006/02/07(火) 22:59:45
ID:I1jBElpS0
- >>480修正
Sendしちゃだめだったみたい。ポストしたらちゃんと動いた。
Home:: IfWinExist, xyzzy PostMessage, 0x102, 0x1,
0x01E0001
;0x102はWM_CHAR 01E部分はスキャンコード、環境によると思うので適当に修正してくれ。つか、もしかしたらlParamは要らないかも。
return
- 484 :名無しさん@お腹いっぱい。:2006/02/08(水) 02:59:44
ID:ENi2eeYG0
- xyzzyのクラス名は確か " "(スペース)かなんかだったと思う
テキスト描画部は "1" とかそんなん。
- 485 :名無しさん@お腹いっぱい。:2006/02/08(水) 15:48:29
ID:h/owdFIx0
- >483
どうもいろいろ確かめていただいてありがとうございました。
ほとんどスレ違いになっちゃうのでこの書きこみだけにとどめますが、
どうもxyzzyの入力の受け付けはかなり特殊なようです。 他に試した限りでは、
場所に応じてIMEのON/OFFを自動切替する「Dさんの日本語じゃなきゃイヤン」というソフトも、
キーマップを入れ替える「姫踊子草」というソフトも、xyzzy上でだけは挙動不審になりました。
その都度メモ帳でも確かめましたが、こちらでは正常動作してました。
どちらも捨てがたいソフトながら、xyzzyでまともに動かないという一点で泣く泣く使用を諦めました。
ドライバレベルで動作する「窓使いの憂鬱」でもない限り、 入力関係ソフトにとってxyzzyは鬼門のようです。
- 486 :名無しさん@お腹いっぱい。:2006/02/11(土) 21:24:33
ID:ylI57ddE0
- スクリプトのコマンドラインオプションの出現位置を可変にしたいのですが、うまくいきません。
^o:: Loop,
%0% { ;if (%1% = aaa) if (%A_Index% = aaa) MsgBox, hit!
} return
Ctrl+Oで引数表示というサンプルを書いてみました。
はじめ引数に「aaa」だけ指定して、 このコメントアウトしている部分の条件で行なうと、きちんとhitしました。
そこで今度は「bbb aaa」を引数に指定してみて、上記のように書いてみたんですが×。
「%A_Index%」を「%%A_Index%%」としてみたら案の定怒られました……。
引数の出現位置って決まってないとダメなんでしょうか???
- 487 :名無しさん@お腹いっぱい。:2006/02/12(日) 02:36:41
ID:L6cRhp4J0
- すいません、本家のサイトで調べて自己解決しました。
しかし、こんなやり方ほとんど裏技っぽい……。
param =
%%A_Index%% はダメだけど、 param := %A_Index% ならOK、とのこと。
- 488 :名無しさん@お腹いっぱい。:2006/02/12(日) 02:40:14
ID:2QBETCrR0
- ネットゲームなんかで割り当てたホットキーが使えなくなるのはなんとかできないものでしょうか?
窓使いの憂鬱でも使うしかないのでしょうか・・・
- 489 :名無しさん@お腹いっぱい。:2006/02/12(日) 02:46:26
ID:gYCfWe6P0
- >>487
外出。
- 490 :sage:2006/02/13(月) 00:13:32
ID:xfk4rPhl0
- 質問です
お試しに使い出したらすごいはまったんですけど 皆さん割り当てるキーってなんかうまいことやってますか?
できるだけ他のアプリのショートカットとは競合しないように 設定したいのですが,何が安全なのかわかりません
コツがあったらお願いします!
- 491 :名無しさん@お腹いっぱい。:2006/02/13(月) 00:17:29
ID:C1wU8uUC0
- sageはメール欄にどうぞ
- 492 :490:2006/02/13(月) 00:34:08
ID:xfk4rPhl0
- だな・・・
多分生まれて初めてのミスだけど自然と心地良い
- 493 :名無しさん@お腹いっぱい。:2006/02/13(月) 01:06:49
ID:DnCFW1yt0
- >>490
Ctrl+Win+○
をAutoHotKey用のショートカットにしてる。これならほとんど被らないし。
^#G ;選択文字列をググる
^#W ;壁紙変更 ^#P ;スクリーンショットを時刻.pngで保存
みたいな感じ。実際はこのショートカットをマウスジェスチャーに割り振ってたりする。
AutoHotKeyのマウスジェスチャーに統合したいんだが、めんどいw
- 494 :名無しさん@お腹いっぱい。:2006/02/13(月) 06:24:46
ID:RLYX7csf0
- これはバグ?
j < %i% で比較すると i < j が表示され、 i > %j% で比較すると i
> j が表示される。 両方%で囲むと i < j になる。
^i:: i = 1 j =
2
;if (j < %i%) if (i > %j%) ;if (%j% < %i%)
;if (%i% > %j%) MsgBox, i > j else MsgBox, i <
j return
- 495 :名無しさん@お腹いっぱい。:2006/02/13(月) 07:46:35
ID:VjRV7iIc0
- そりゃ文字列と数字を比較演算した場合の当然の結果だと思うが。
比較演算で数値と文字列扱えるどの言語だって同じ仕様でしょ。
MsgBoxに i と書いて文字列の"i"が展開されてるのを見れば気付きそうなものだが。
- 496 :名無しさん@お腹いっぱい。:2006/02/13(月) 08:17:16
ID:RLYX7csf0
- そりゃ文字列と数字を比較演算した場合の当然の結果だと思うけど、
ttp://lukewarm.s101.xrea.com/Scripts.htm 条件分岐
If文で条件分岐が行える。 else文で条件に一致しなかったときの処理も記述できる。 比較条件は、if var =
valueという形で記述できる。 比較演算子は、「=」、「<>」(not
equal)、「>」「<」「>=」「<=」が使用できる。
左辺には変数名が来るが、右辺には値がこなければならないので、「%」で挟んで変数の内容を展開するようにする必要がある。
↑
この最後の行に書いてあるでしょ。 ( )でくくるのがよくないのか。
- 497 :名無しさん@お腹いっぱい。:2006/02/13(月) 08:29:14
ID:RLYX7csf0
- ttp://www.autohotkey.com/docs/commands/IfExpression.htm
( )でくくると文法が変わるわけね。この場合は if (i > j) と書かなければいけなかった、ということで。
……なんだか仕様が混乱してるなあ。
- 498 :名無しさん@お腹いっぱい。:2006/02/13(月) 14:16:14
ID:HZjUhtGG0
- たしかに、まぎらわしい仕様ではあるな
- 499 :名無しさん@お腹いっぱい。:2006/02/14(火) 15:34:05
ID:RVF5Wq5S0
- WinSet, TransColorで透明色を指定できるけど、
この色だけ半透明にするって指定はできない?
例えば、WinSet, TransColor, AABBCC 127, WinTitleと書くと
AABBCCは完全に透明になり、それ以外の部分が半透明になってしまう。
- 500 :名無しさん@お腹いっぱい。:2006/02/14(火) 16:09:25
ID:kdmpCnCA0
- >>499
できないんだよそれ。出来たらいいなとは思う。
- 501 :名無しさん@お腹いっぱい。:2006/02/14(火) 17:59:57
ID:5RpU6d3N0
- >>499
以前それがやりたくてここで質問したものです
AUTHOTKEYのウィンドウならこれで出来ました >>391-393 通常のウィンドウは。。無理なんだろな。。
- 502 :499:2006/02/14(火) 20:23:21
ID:RVF5Wq5S0
- >>500-501
なるほど…
AutoHotkeyの仕様なのかOSの仕様なのか知らないけど、ちと残念。
透明になっても良いんだけど、クリックが素通りしてしまうと不便なんだよなぁ。
- 503 :名無しさん@お腹いっぱい。:2006/02/15(水) 00:05:58
ID:9Es2AScX0
- もっとメニュー作成機能を強化して欲しいかも。
・アイコン表示
・1行だけならサブルーチン化しなくてもMenuコマンドにそのまま記述可 ・メニューの複数列表示 ・オーナードローメニュー
オーナードローメニューは面倒だと思うけど上3つはできると良いな。
- 504 :名無しさん@お腹いっぱい。:2006/02/15(水) 08:41:57
ID:SX93VEbb0
- Win起動したときにAutoHotkey.iniが勝手に開くようになったんだけどなんでだろう?
- 505 :名無しさん@お腹いっぱい。:2006/02/15(水) 14:42:20
ID:4hb2BCE90
- >>504
スタートアップにショートカットじゃなくて実体を入れた罠?
- 506 :名無しさん@お腹いっぱい。:2006/02/15(水) 14:45:57
ID:l6zgqL1t0
- いや、INI本体のショートカットを入れたんだろう
INIだからメモ調かなんかで開くわな。
- 507 :名無しさん@お腹いっぱい。:2006/02/15(水) 17:24:49
ID:ve0MRSui0
- Winnyで広がるahkウィルスとか書いたら楽しそうだな。
インストールベースが少ないからあんま広がらないか。
- 508 :名無しさん@お腹いっぱい。:2006/02/15(水) 20:06:31
ID:JUqdYKTh0
- ahkより素直にjsやvbsで書いた方が広まるジャマイカ
- 509 :名無しさん@お腹いっぱい。:2006/02/15(水) 20:18:50
ID:SX93VEbb0
- >>506
正解。 なぜかスタートアップにiniのショートカットが入ってた。
入れた覚えないのにってかしばらくAHKいじってないのに。 不気味。
- 510 :名無しさん@お腹いっぱい。:2006/02/16(木) 13:26:06
ID:h5aXoB5n0
- 同一キー定義をアクティブ窓ごとに別々で書けるようになったみたいね(まだ試してない)
http://www.autohotkey.com/docs/commands/_IfWinActive.htm#variant
これでいちいちキー定義のほうで条件分岐しなくてもよくなるかな
今まではアクティブ窓を追いかけ続ける無限loop回してやりくりしてたけど
- 511 :名無しさん@お腹いっぱい。:2006/02/16(木) 13:58:21
ID:EqR0wQoB0
- 登録も管理も面倒だったけど、これでだいぶよくなった
- 512 :名無しさん@お腹いっぱい。:2006/02/16(木)
14:24:10 ID:nqNAQta60
- 便利になったとは思うけどホットキーなら
ループで監視しなくても押された瞬間だけ判定すればいのでは
- 513 :名無しさん@お腹いっぱい。:2006/02/16(木) 14:37:33
ID:RHJx/nzR0
- >>510
>無限loop アクティブウィンドウ監視して変わるたびに
Hotkeyコマンド使って切り替えみたいな感じ?
- 514 :名無しさん@お腹いっぱい。:2006/02/16(木) 14:39:38
ID:JGq1Z4Yk0
- ほっとけい
- 515 :名無しさん@お腹いっぱい。:2006/02/18(土) 10:17:30
ID:WrtMVw3N0
- 覚えらんない人のためのオンラインソフト備忘録 でこのソフトの
事が取り上げられてて興味が沸いたので、勢いこちらのスレに来てみたら。。。
>>1はいったい何なんですか!?さっぱりわかりません!
それともスレ立て主は外人ですか?誰か僕にわかるように説明してくさい!
- 516 :名無しさん@お腹いっぱい。:2006/02/18(土) 11:14:12
ID:KVqPeB680
- (´・ω・`)知らんがな
- 517 :名無しさん@お腹いっぱい。:2006/02/18(土)
21:53:53 ID:JQ9unHlx0
- なまずの人ってここも見てるよね
2バイト文字対策の使わせてもらいました どうもです
- 518 :名無しさん@お腹いっぱい。:2006/02/18(土) 22:01:48
ID:wweffrMN0
- アレの使い方がまだ分かんにゃい…
- 519 :名無しさん@お腹いっぱい。:2006/02/18(土)
22:01:56 ID:JQ9unHlx0
- あとせっかく作ったから晒しとく。動けばいいって感じで作ってるから美しくないけど。
ディレクトリをドロップしたら中のファイルを一つ上の階層にコピーしてディレクトリを消すスクリプト if 1 = {
msgbox,ディレクトリをドロップしたら中のファイルを一つ上の階層にコピーしてディレクトリを消します`n何か残ったらディレクトリを消しません
exitapp } MsgBox , 4355,,移動するファイルに同名のファイルが存在した場合上書きしますか?
IfMsgBox, Cancel, exitapp IfMsgBox, yes, SetEnv, oflg , 1
IfMsgBox, no, SetEnv, oflg , 0 Loop , %0% {
src:=%A_Index% FileGetAttrib, att , %src% if att<>D
Continue MBS_SplitPath( src , outFileName1, outDir1,
outExtension1, outNameNoExt1, outDrive1 ) FileDelete,
%src%\Thumbs.db if outDir1 = %OutDrive1% FileMove, %src%,
%outDir1%\ , %oflg% else FileMove, %src%, %outDir1% , %oflg%
Loop, %src%\* , 2 { MBS_SplitPath( A_LoopFileFullPath ,
outFileName2, outDir2, outExtension2, outNameNoExt2, outDrive2 )
FileMoveDir,%A_LoopFileFullPath% ,%outDir1%\%outFileName2% ,%oflg%
FileRemoveDir, %A_LoopFileFullPath% } FileRemoveDir, %src%
} exitapp
- 520 :名無しさん@お腹いっぱい。:2006/02/18(土)
22:04:14 ID:JQ9unHlx0
- >>518
俺もIMEのは謎だ
- 521 :名無しさん@お腹いっぱい。:2006/02/18(土) 23:17:16
ID:Iuqt5cXz0
- 全角→半角関数使わせてもらってます。
ヤフオクなんかで、全角で書かれた口座番号をコピペするのが格段に楽になりました。
- 522 :名無しさん@お腹いっぱい。:2006/02/20(月) 15:30:05
ID:bHvHlGfQ0
- 単純な#define部分だけで良いから、自動でWINUSER.H等をインクルードして欲しいなぁ。
一々メッセージを使うときにコメントでメモ書きするのめんどい。
- 523 :名無しさん@お腹いっぱい。:2006/02/22(水)
00:15:57 ID:JEPVrHVd0
- あるAppのウインドウをWindowSpyで調べたところ、どのウインドウでもWindow Title & Classが
すべて同じ値を返す場合、他の方法でウインドウをマッチさせる方法はありますか?
- 524 :名無しさん@お腹いっぱい。:2006/02/22(水) 00:19:51
ID:gmGHCXSw0
- はい
- 525 :名無しさん@お腹いっぱい。:2006/02/23(木) 02:28:24
ID:b2eEMwCj0
- 質問です。
AutoHotKeyはイベントに対して処理をするということは可能でしょうか。 具体的には
「あるウインドウが閉じられようとしたら、閉じる代わりに非表示にする」 という動作をするようにしたいのですが。
- 526 :名無しさん@お腹いっぱい。:2006/02/23(木) 11:31:49
ID:jHCXuL6/0
- ポチエスに複数ファイルを送るとショートファイルネームで処理されちゃうんだけど
これをAHK内でロングファイルネームに戻したいと思ったんだが、 なんかそれっぽい記述がリファレンスに見当たらない
なんかいい方法ない???
- 527 :名無しさん@お腹いっぱい。:2006/02/23(木) 12:43:38
ID:Mi3jCVds0
- >>526
%A_LoopFileName%
- 528 :名無しさん@お腹いっぱい。:2006/02/23(木) 15:24:00
ID:OafhHQu10
- >>527
引数でやってきたものを処理したいんだけどできるかな。
しばらく考えたが思いつかない (1)ぽちエスからショートファイルネームが複数やってくる
(2)それをロングに変換してファイルに書き出す みたいな感じなんだけど。
- 529 :名無しさん@お腹いっぱい。:2006/02/23(木) 15:36:32
ID:Mi3jCVds0
- >>528
Loop, %0% { i := %A_Index%
Loop, %i% { MsgBox,
%i%`n%A_LoopFileName%`n%A_LoopFileFullPath%`n%A_LoopFileLongPath%`n%A_LoopFileDir%
} }
- 530 :名無しさん@お腹いっぱい。:2006/02/23(木) 15:40:51
ID:OafhHQu10
- すげ、できた!!
ファイル名でLoopなんて出来るのか。 サンクス!!!!!
- 531 :名無しさん@お腹いっぱい。:2006/02/24(金) 14:00:22
ID:PyEBwfs70
- 流行らせるページの管理人の日記がすごい
TrayCommandもどきに感動
ついでにTrayExpandもどきも作ってくれないかとずうずうしい要望をしてみる
- 532 :名無しさん@お腹いっぱい。:2006/02/24(金) 18:39:48
ID:LMN2OTD20
- Alt+Tab代価するようなスクリプトつくってほしいな
- 533 :名無しさん@お腹いっぱい。:2006/02/24(金) 21:52:20
ID:7qRRIOKj0
- AltTabコマンドじゃだめなの?
- 534 :名無しさん@お腹いっぱい。:2006/02/25(土) 00:57:19
ID:HuCPqrC00
- 流行らせるページに一つあった
- 535 :名無しさん@お腹いっぱい。:2006/02/25(土) 02:19:14
ID:TlCaEqJP0
- #IfWinActive, AutoHotkey.ini ahk_class Hidemaru32Class
^s::
Send, ^s sleep, 1000 Reload return
リロードが面倒くさいのでAutoHotkey.ini編集中に上書き保存したらリロードするってのを考えた
一応sleep入れてみたんだけどこのsleepっているのかな?
- 536 :名無しさん@お腹いっぱい。:2006/02/25(土) 06:04:04
ID:WlTtzrS/0
- すみません、こちらの皆さんには初歩的すぎるかもしれませんが、
マウスのボタンを押している間、
100mm秒間隔でクリックを連打 させるスクリプトはどう書けばいいのでしょうか?
- 537 :名無しさん@お腹いっぱい。:2006/02/25(土) 08:53:08
ID:6LCnKr020
- >>535
入れといたほうがよろし
- 538 :名無しさん@お腹いっぱい。:2006/02/25(土) 08:57:33
ID:9NjRh94x0
- >>535
1000msが妥当かは環境によるので何とも言えんが、ディレイは入れるべきだろうね
好きずきだけど、エディタ側にマクロ機能があるならそっちでやったほうが 無駄な待ち時間も発生しないし安全ではあるな。
自分は秀丸側のマクロでやらせてる
- 539 :名無しさん@お腹いっぱい。:2006/02/25(土) 10:02:04
ID:6LCnKr020
- >>535
使ってるエディタが秀丸だったのか。 んじゃ、マクロの方がいいね。
- 540 :名無しさん@お腹いっぱい。:2006/02/25(土) 10:30:39
ID:HuCPqrC00
- 更新日時見れば
- 541 :名無しさん@お腹いっぱい。:2006/02/25(土) 12:44:23
ID:WlTtzrS/0
- loopを使えばいいの?どうやって止めるの?
- 542 :531:2006/02/25(土) 12:53:27
ID:Rs6mXlji0
- すごい!
たとえ私の要望から作ったのではないとしても本当にありがとうございます!
- 543 :名無しさん@お腹いっぱい。:2006/02/25(土) 13:02:37
ID:CnEGJgUv0
- あんまりクリックしすぎると
モニターに穴があくからやめたほうがいいよ。 漏れのディスプレイ、内部配線見えまくりだし
- 544 :名無しさん@お腹いっぱい。:2006/02/25(土) 13:06:05
ID:9NjRh94x0
- break
>マウスのボタンを押している間、100mm秒間隔でクリックを連打
トリガはホイールクリックに割り当てるとか、別のキーでやるつもりなら大丈夫だが
左ボタン押下中に、左クリ連打とかって割り当ててしまうとどえらいことになるぞ あんまり分かってなさそうなので一応忠告しとく
- 545 :名無しさん@お腹いっぱい。:2006/02/25(土) 17:06:34
ID:veunGidG0
- 2段階キーマップをやりたくてテストコードを書いてみたのですが
わからないことがあるので教えてください。 fx ->
f fs -> s ff -> k を意図して書いたのですが ff -> k
が上手くいかないんです。 新しいスレッドが生成されるせいかと思うのですが 上手くやる方法ありますか?
ちなみにコードはこれです。厨房質問ですいません。 f:: { Input,InputChar,C I L1
,{Esc},x,s,f if ErrorLevel=Match { if InputChar=x send,
f if InputChar=s Send, s if inputchar=f send, k }
return }
- 546 :名無しさん@お腹いっぱい。:2006/02/25(土) 17:11:40
ID:HuCPqrC00
- :*:fx::f
:*:fs::s :*:ff::k
Hotstringでこうやれば?
- 547 :名無しさん@お腹いっぱい。:2006/02/25(土) 18:15:37
ID:veunGidG0
- >>546
レスありがとうございます。 試してみます。
- 548 :名無しさん@お腹いっぱい。:2006/02/25(土) 18:26:07
ID:WlTtzrS/0
- さっぱりわかりません。
Mbutton:: Count = 1 loop { if Count
> 20 break if Count < 19 sleep,50 send {Lbutton}
Count = %Count% + 1 } return Lbutton up:: Count = 20
return
- 549 :名無しさん@お腹いっぱい。:2006/02/25(土) 22:58:36
ID:9NjRh94x0
- MouseClick
または send, {Lbutton Down} send, {Lbutton Up}
- 550 :名無しさん@お腹いっぱい。:2006/02/25(土) 23:08:33
ID:Rs6mXlji0
- MButton::
Loop { GetKeyState,keyState,MButton,P
If(keyState="D") { Send,{LButton} Sleep,100 }
Else Break } return
これでできると思う
- 551 :名無しさん@お腹いっぱい。:2006/02/26(日) 10:51:10
ID:oMn9Wnsa0
- あんまりよそで迷惑かけちゃダメ!
- 552 :名無しさん@お腹いっぱい。:2006/02/26(日) 12:43:40
ID:pNeAqWnD0
- TClockの「タスクスイッチにアイコンのみ表示」「平らなトレイ」「平らなタスクスイッチ」「スタートボタンを隠す」
の機能をAHKで実現したいと考えています。
ttp://homepage1.nifty.com/kazubon/progdoc/tclock/index.html
ここを読んで「フックを使ってサブクラス化する」ということはわかったんですが、 AHKで可能なのでしょうか?
- 553 :名無しさん@お腹いっぱい。:2006/02/27(月) 00:03:04
ID:l9PFBXTs0
- サブクラス化は時計に描画するときの奴じゃない?
TB_SETSTYLEメッセージでTBSTYLE_FLATとかをセットすれば行けるような気がする
- 554 :552:2006/02/27(月) 00:49:18
ID:tOahKDvK0
- >>553
SendMessage,0x438,0,0x800,ToolbarWindow322,ahk_class Shell_TrayWnd
;0x438:TB_SETSTYLE 0x800:TBSTYLE_FLAT
こんな感じでしょうか?
OSはXPです。やってもらえるとわかるんですが、フラットに一応なりますがちょっとおかしいです。
あくまでTClockのようなものを目指しています。
それと、>>552にの中では「タスクスイッチにアイコンのみ表示」が自分には一番重要なんですが
これもメッセージだけでいけるんでしょうか?
- 555 :名無しさん@お腹いっぱい。:2006/02/27(月) 02:23:25
ID:A+gy7pJs0
- とりあえずGETした値に|や&~でスタイルを足したり引いたりしないと駄目かと
- 556 :名無しさん@お腹いっぱい。:2006/02/27(月) 10:22:33
ID:NeNYGSjC0
- AutoHotkeyでfenrir風スゴス
- 557 :名無しさん@お腹いっぱい。:2006/02/27(月) 10:28:09
ID:j85wo7Eo0
- 神
- 558 :名無しさん@お腹いっぱい。:2006/02/27(月) 11:44:42
ID:oF4YUTyr0
- >>556
どこ?
- 559 :名無しさん@お腹いっぱい。:2006/02/27(月) 11:59:01
ID:TYvekXx40
- ぬるど
- 560 :552:2006/02/27(月) 14:03:58
ID:tOahKDvK0
- >>555
うっかりしてました。
SendMessage,0x438,0,0x52009B45,ToolbarWindow322,ahk_class
Shell_TrayWnd これで「平らなタスクスイッチ」は実現できました。
ただ、同じように
SendMessage,0x438,0,0x56008B4D,ToolbarWindow321,ahk_class
Shell_TrayWnd とやっても何故か「平らなトレイ」はできません。
- 561 :名無しさん@お腹いっぱい。:2006/02/27(月) 15:59:24
ID:rTfpn8m/0
- デスクトップ上やエクスプローラーで、マウスが掴んでいたり、選択状態にあるファイルの収得って出来ます?
選択されてるファイルを移動したり、エディタで開いたりといった、一括処理をしたいんです。
- 562 :名無しさん@お腹いっぱい。:2006/02/27(月) 16:36:23
ID:8205XDO60
- 流行らせるページや、なまず日記さんのところにある修飾キーの複数回押しに機能を割り当てる
スクリプトを使用したいのですが、キーを長押ししたときに連続入力されて複数回実行されてしま います。
これを回避するために修飾キーの長押し時の連続入力?を無効にして、長押し時は1回の入力と
する方法があれば教えていただけないでしょうか。
- 563 :名無しさん@お腹いっぱい。:2006/02/27(月) 18:13:11
ID:tOahKDvK0
- >>561
ファイラー、スクリプト、ソフトなどでパスを一度クリップボードに送ればできますよ。
>>562 KeyWaitを使えばできます。おそらく。
流行らせるページの例を拝借しますが、
~Ctrl:: if A_TickCount <
%ctrldouble% { ;some action ctrldouble=0 } else
{ KeyWait,Ctrl ;これを追加 ctrldouble=%A_TickCount%
ctrldouble+=400 } return
- 564 :562:2006/02/27(月) 18:29:23
ID:8205XDO60
- >>563
ありがとうございます。 思っていたとおりの動作をしてくれました。
コピーをしようとして、設定していたアプリが多重起動したときは焦りました。
- 565 :名無しさん@お腹いっぱい。:2006/02/27(月) 21:49:57
ID:A+gy7pJs0
- >>560
立体的になってるのは枠の部分だから
WinSetでWS_EX_CLIENTEDGEとかを消してやればいいんじゃない?
- 566 :552:2006/02/27(月) 22:38:27
ID:tOahKDvK0
- >>565
関係ありそうな、Shell_TrayWnd・TrayNotifyWnd1・SysPager1
の3つのウィンドウでExStyleを取得してみましたが どれにもWS_EX_CLIENTEDGEはありませんでした。
- 567 :552:2006/02/27(月) 23:42:36
ID:tOahKDvK0
- TrayNotifyWnd1からWS_EX_STATICEDGEを外すことで解決しました。
Control,ExStyle,0x0,TrayNotifyWnd1,ahk_class Shell_TrayWnd
あとは「タスクスイッチにアイコンのみ表示」「スタートボタンを隠す」の2つ。
スタートボタンはControl,Hideで隠すことはできるんですが、 隠した場所が空白になってしまいます。
空白を埋めるようにウィンドウやコントロールを左に移動してもうまくいきませんでした。
- 568 :名無しさん@お腹いっぱい。:2006/03/01(水) 02:50:36
ID:ssfeeMo60
- 流行らせるページの虫眼鏡、どうも挙動不審で使ってると拡大された画像が更新されなくなるんで、
なんでかなぁっておもってたんだけど、もしやDC絡みかなと思って、Draw()呼ばれる度に
取得と解放するようにしたら、タイマー小さくしてもぬるぬる動くようになったーよ。
カクカクしちゃうのはAHKの限界だと思ってたのでびっくりした。 以下修正した部分。 ;省略
Gui,+E0x00080020 ;myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ削除
dthwnd:=DllCall("GetDesktopWindow",UInt)
;dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ削除
SetTimer,Timer,100;ここ小さくしてもスムーズに更新されるようになったです。 Timer:
Draw() return
Draw(){ global
Size,Magnification,myhwnd, dthwnd ;ここ変更
myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ追加
dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ追加
CoordMode,Mouse,Screen ;省略
DllCall("StretchBlt",UInt,myhdc,Int,0,Int,0,Int,s,Int,s,
UInt,dthdc,Int,left,Int,top,Int,Size,Int,Size,UInt,0x00CC0020)
DllCall("ReleaseDC", UInt, myhwnd, UInt, myhdc) ;コレ追加
DllCall("ReleaseDC", UInt, dthwnd, UInt, dthdc) ;コレ追加
WinSet,Top,,ahk_id %myhwnd% }
- 569 :名無しさん@お腹いっぱい。:2006/03/01(水) 05:39:49
ID:ssfeeMo60
- やべぇ、虫眼鏡気に入った。
半透明化するとカコイイし使いやすい。 旗+ホイール回転で拡大縮小にしたらこれまた良い感じだ。
Ctrl+旗+ホイール回転でサイズだけ変えるようにしたらまたこれが良い感じだ。 管理人さんコレ結構使えるよありがとう。
- 570 :名無しさん@お腹いっぱい。:2006/03/06(月)
15:39:50 ID:15ZX1WmO0
- マルチモニタで使用しています。
WinMoveでウインドウを反対側のモニターに移動させようとしたら、ウインドウが最大化の状態では
移動できないんですね。なんか対策方法ってありますか?
- 571 :名無しさん@お腹いっぱい。:2006/03/06(月) 22:08:11
ID:dAP1bHHq0
- 起動中のスレッドの数を取得する方法ってありますか?
一応 ListHotkeys の Running
で調べることはできるんですけど、 スクリプト内でスレッドの数を取得することができないで悩んでます。
- 572 :名無しさん@お腹いっぱい。:2006/03/07(火) 19:31:53
ID:6lI/W0at0
- 1.0.42.05 - March 6, 2006
This is functionally identical to the
previous release, whose EXE and BIN were about 1% larger than they
should have been due to a compiler quirk.
1.0.42.04 - March 6,
2006 Fixed ClipboardAll when used with apps such as Word and Excel
(broken by previous version). [thanks Roussi Nikolov]
Fixed
ClipboardAll to prevent appearance of bookmarks in MS Word. [thanks
Laszlo & 02clams]
Fixed A_TimeIdlePhysical being disrupted
by simulated AltGr keystrokes. [thanks skrommel]
Fixed
Send{Blind} causing sticking Win/Ctrl/Alt/Shift when the user released
such a key in the middle of a Send.
Improved the Send command
not to press and release the shift key after each uppercase letter (e.g.
Send ABC).
Improved SoundSet/Get to support ComponentType
"Headphones". [thanks Tobias Winkler]
- 573 :名無しさん@お腹いっぱい。:2006/03/08(水) 01:17:49
ID:vfUm781w0
- A:: Send,{F1}
B:: Send,[F2} ...
とやってすべてのキーに対して
IfWinActive,TargetWindowTitle { Send, {???} return }
したいと思ったら個別に全部書かないといけないの?
- 574 :名無しさん@お腹いっぱい。:2006/03/08(水) 01:33:04
ID:4eMMzOAe0
- 今ならこれで行ける
A:: #IfWinActive nanntoka A:: #IfWinActive
kantoka A::
- 575 :名無しさん@お腹いっぱい。:2006/03/08(水) 06:52:36
ID:+kxWwRRD0
- 格ゲーのコマンドを空いたボタンにマクロ化しようと思ったんだけど
十字キーをどうsend,{}に書けばいいのかわからない…
教えてください、お願いします
- 576 :名無しさん@お腹いっぱい。:2006/03/08(水) 10:37:30
ID:h+DqYquz0
- Send,{Right}
Send,{Down} Send,{Right}
じゃだめなの?(昇龍拳)
- 577 :名無しさん@お腹いっぱい。:2006/03/08(水) 11:54:15
ID:p4FMmfTv0
- 1.0.42.06 - March 7, 2006
Fixed crash of A_ScriptDir (broken by
1.0.42.01).←これがぬるタソがバグレポートしたヤツかな?
Fixed Run/RunWait's passing of
an extra space character at the end of the parameter list when launching
shortcuts. [thanks arbe]
AutoHotkey.comなんかもの凄く重い・・・
なにわともわれ、ぬるたんGJ!!
- 578 :名無しさん@お腹いっぱい。:2006/03/08(水) 14:27:59
ID:+kxWwRRD0
- >576
言葉が足りなくてすまん、 えーと、 joypadからの入力としてはどう書くのかなーと。
ボタンは1joy5とかでなんとかなるんだけど 方向キーのjoyXとかの書き方が良く解らなくて。
- 579 :名無しさん@お腹いっぱい。:2006/03/08(水) 16:20:21
ID:rhy9UwrA0
- >>578
http://lukewarm.s101.xrea.com/KeyList.htm
- 580 :名無しさん@お腹いっぱい。:2006/03/08(水) 22:08:54
ID:+kxWwRRD0
- >579
いや、そりゃそこも見てるんですよ? ただ十時キーの場合右、中、左を
0〜100とかの数値で表さなきゃいかんじゃないですか? それをどういう書き方で書けばいいのかと思いまして。
状態はわかってもsendは出来ないのかな…
- 581 :名無しさん@お腹いっぱい。:2006/03/08(水) 23:49:20
ID:gQ7VQesu0
- >>580
デジタル十字キーは、ボタンのどれかにマッピングされてるはずだが
アナログなら書いてある通りだ
- 582 :名無しさん@お腹いっぱい。:2006/03/09(木) 11:08:17
ID:jj4ahRjB0
- >>577
ぬるタソって誰?
- 583 :名無しさん@お腹いっぱい。:2006/03/09(木) 14:40:31
ID:Pszy413S0
- ぬる様を知らないとは・・・。
- 584 :名無しさん@お腹いっぱい。:2006/03/10(金) 04:18:48
ID:w2FftydU0
- 自分のスクリプトの設定ウィンドウを作りたいんだが
ボタンとか部品を値で指定するのが面倒です
GUIを設計するのに便利なツールってありませんか? AHK用でなくても
部品の位置(X,Y座標)、width,heightなどが分かればいいんです
私はプログラムを組んだのは
CUIベースのやつをちょこっと触ったくらいなので GUIを作るのに便利なツールとかホントよく分からないのです。
どなたかお願いします
- 585 :名無しさん@お腹いっぱい。:2006/03/10(金) 04:31:56
ID:ze2+cAQ/0
- >>584
便利かどうかは知らんけど、こんなのはある。
ttp://www.autohotkey.com/docs/SmartGUI/
- 586 :名無しさん@お腹いっぱい。:2006/03/10(金) 04:54:34
ID:FWnM8tqy0
- 必要最小限の記述だけでとりあえず入力できるウィンドウが出せるだろ
Delphiのフォームエディタなんかでペタペタ並べていくより楽だと思うが
- 587 :名無しさん@お腹いっぱい。:2006/03/10(金) 10:18:45
ID:w2FftydU0
- >585
AHK用のやつをAHKで作ってた人いるんですね。 少し触ってみたんですがなかなか良さそうなので
シコシコぺたぺた作ってみます。 ありがとうございました
>586
自己満足ながらそれなりの見栄えがほしいのですわ 身内にまわすつもりのスクリプトなんで
- 588 :名無しさん@お腹いっぱい。:2006/03/10(金) 16:54:00
ID:DvP0u0ni0
- 本来1行に書かなければいけないものを
複数行に渡って書くことはできないでしょうか?
- 589 :名無しさん@お腹いっぱい。:2006/03/10(金) 18:04:06
ID:ovxrZJOi0
- 例えば?
- 590 :名無しさん@お腹いっぱい。:2006/03/10(金) 19:00:52
ID:3lX6WYxo0
- If 1 Contains あいうえお,かきくけこ,(…)
って時に分けたいなあって時はある。
- 591 :588:2006/03/10(金) 20:41:18
ID:DvP0u0ni0
- >>589
If(WinActive(........) ||
WinActive(..........) || WinActive(..........) || ..) などの時です
- 592 :名無しさん@お腹いっぱい。:2006/03/11(土) 01:39:11
ID:+FW9TX3p0
- IME on/off トグルはどのようにすればできますか。
探してみたのですが見つかりませんでした。
- 593 :名無しさん@お腹いっぱい。:2006/03/11(土) 02:03:00
ID:4Dr+/V140
- 原始的な方法は
IME ON/OFFを IMEプロパティから適当なキーに設定して それをSend。
- 594 :名無しさん@お腹いっぱい。:2006/03/11(土) 02:08:22
ID:91GIDUrj0
- >>592
具体的にどういう用途に使うの?
AutoHotkeyを流行らせるアップローダの029.zip使えば解決するとは思うけど。
- 595 :592:2006/03/11(土) 11:16:04
ID:+FW9TX3p0
- >>593
ありがとうございます。 英語キーボード
なので、Alt+`がデフォルトのIME On/Offなので これをやったのですがうまくいかなくて。 RAlt:: Send,!`
とやってみたのですが、何が間違っているのでしょうか?
>>594 上に書いたとおり、英語キーボードだとIME起動がちょっと面倒なのです。
今は窓使いの憂鬱で右AltをIME On/Offにしていますが、
まずAHKでも同じことができれば、AHKの他の機能も試用してみたいと思いました。
- 596 :名無しさん@お腹いっぱい。:2006/03/11(土) 12:52:01
ID:aZXYdYak0
- Send, {ALTDOWN}`{ALTUP}
こう書くんじゃないの?
- 597 :592:2006/03/11(土) 13:01:55
ID:mSorvu8J0
- >>596
試してみましたが、フォーカスがメニューに移る、通常のAltキーの動作しかしませんでした。
AHKのOpenメニューで見てみましたが、{ALTUP}{ALTDOWN}となっていて、
やはり右Altとしては認識されていないようです。
- 598 :名無しさん@お腹いっぱい。:2006/03/11(土) 17:28:31
ID:/NprAL2G0
- `は``とエスケープしないと
- 599 :yy:2006/03/12(日) 00:16:48
ID:gfXzHMTR0
- マウスのホイールup、downをタブ切り替え(ctrl+up、down)に割り当てたいんですが
どうやるの?
- 600 :yy:2006/03/12(日) 00:18:28
ID:gfXzHMTR0
- 書き忘れましたが、エクセルでの話です。
- 601 :yy:2006/03/12(日) 00:20:21
ID:gfXzHMTR0
- またまた書き忘れましたがマウス+ホイールup、downの動作のことを言いたいのです。
- 602 :592:2006/03/12(日) 01:48:47
ID:flSoepXq0
- >>598
できました!! RAlt:: Send,
{ALTDOWN}``{ALTUP} これで右AltでIME On/Offができるようになりました。
窓使いの憂鬱では、押しただけのときはIME On/Off、
押しっぱなしにしてほかのキーと同時に押したときはAltの役割ができたのですが これをさせるにはどうしたらいいでしょう。
RAlt up:: Send, {ALTDOWN}``{ALTUP}
とやると、右Altを離した瞬間にIMEが切り替わってしまいます。
- 603 :名無しさん@お腹いっぱい。:2006/03/12(日) 12:01:42
ID:7/ujbqoZ0
- そういうのはマウ筋使った方が早いな>yy
- 604 :592:2006/03/12(日) 12:11:54
ID:MzJzCq0O0
- >>601はまだ自己解決していないのですが、ほかにも問題が生じてきました。
英語102キーボードなので、デフォルト設定ではCapsLock単押しでCapsLock On/Offになりますが、
これを某アプリケーションのホットキーにし、もとのCapsLockをShift+CapsLockに割り当てようと思っています。
(日本語キーボードと同じCapsLockにしたい)
そこで、 CapsLock:: Run,
"application_path" +CapsLock:: Send, {CapsLock}
としたところ、アプリケーション起動はうまく行きましたがShift+CapsLockが動きません。
SetCapsLockStateを使いたいのですが、On/Offの切り替え方法が具体的にわかりません。
探してみるとAHKではCtrlとCapsLockの交換が難しいとかそんな情報は見かけたのですが、
結局方法が記載されたページが見つけられませんでした。またここの過去ログも参照できませんでした。
基本的な質問が続き申し訳ありませんが、よろしくお願いします。
- 605 :592:2006/03/12(日) 13:37:35
ID:MzJzCq0O0
- >>604
+CapsLock:: GetKeyState, state,
CapsLock, T MsgBox, %state% Return
とやってサブルーチンが実行されているかを試しましたが
期待したメッセージボックスも出ず、どうも+CapsLock::の記述がダメそうです。
+{CapsLock}::もうまくいきません。
- 606 :名無しさん@お腹いっぱい。:2006/03/13(月) 13:28:27
ID:+eLuhcrb0
- コントロールの座標を取得する方法は載ってるけど
Guiで生成したウィンドウの絶対座標(スクリーン座標?)を取得する方法が分かりません。
WindowsMessageを送ればできるような気もしますけど そんな事したことないのでどうやるのかさっぱりです。
どうすればウィンドウの座標を取得することができるんでしょうか?
- 607 :名無しさん@お腹いっぱい。:2006/03/13(月) 14:00:56
ID:HyKmrYHA0
- WinGetPosじゃ駄目なん?
- 608 :名無しさん@お腹いっぱい。:2006/03/13(月) 18:33:26
ID:+eLuhcrb0
- Guiの方ばっかり見てて
Windows関係の命令見てませんでした。
WinGetPosでいけますね、失礼しました。
- 609 :名無しさん@お腹いっぱい。:2006/03/15(水) 22:02:26
ID:mmGkRpsk0
- 質問です。
以下のような書き方をした場合、5行目に何か(この場合はsleep)を入れないと次のifがすっ飛ばされるのですが、この書き方はだめなんでしょうか。
sleepじゃなくても、msgboxでもa=1でも、何か1行入っていれば思った通りに動作します。
が、この行を消したりセミコロンでコメントにすると次のifがとばされるようなので。
;_____________________________________ StringLen, length,
strings if (length = 0) ,continue sleep,1 if (i=1)
FileCreateDir, %dir%\%name_no_ext%\
;_____________________________________
- 610 :名無しさん@お腹いっぱい。:2006/03/15(水) 23:01:58
ID:4MPDWD0K0
- >if (length = 0) ,continue
- 611 :名無しさん@お腹いっぱい。:2006/03/15(水) 23:05:41
ID:4MPDWD0K0
- 途中送信してもうた
continueはLoopの中でしか使えないんジャマイカ
どっちにしてもカンマで区切って一行に納めるのはNGだったと思う
最近バージョンアップチェックしてないので、記述ルール改定されてたらスマソ
- 612 :名無しさん@お腹いっぱい。:2006/03/16(木) 00:18:25
ID:+vsjFQ220
- ;_____________________________________
StringLen, length,
strings ifEqual, length, 0, continue ifEqual, i, 1,
FileCreateDir, %dir%\%name_no_ext%\
;_____________________________________
- 613 :名無しさん@お腹いっぱい。:2006/03/16(木) 00:24:01
ID:n0WmmFt40
- >>611
すみません、これLoopの中です。
で、ご指摘の通り
if (length = 0) { continue } にしたらちゃんと動きました。
流行らせるページのIfInStringの説明にカンマで区切ってOKとあったので、このifでも気にせずカンマで区切ってました
if単体だとカンマ区切りは動作がおかしくなることあるのかな…?
- 614 :名無しさん@お腹いっぱい。:2006/03/16(木) 00:26:15
ID:n0WmmFt40
- >>612
すごいスマートです。 ifEqualを使えばよかったんですね。
ありがとうございます。
- 615 :名無しさん@お腹いっぱい。:2006/03/16(木) 00:28:52
ID:n0WmmFt40
- 流行らせるページを再読したら
>IfEqualのようなコマンド名の形式の場合、更にカンマで区切って条件に一致した場合に実行するコマンドを記述できる。
しっかり書いてありました。お騒がせしました。
- 616 :名無しさん@お腹いっぱい。:2006/03/16(木) 00:49:17
ID:+vsjFQ220
- ただし、コマンドしか使えないみたいなので気を付けて。
Another command can only appear
on the same line as the IF statement if you use the command-name style.
In other words, these are valid: IfEqual, x, 1, Sleep, 1
IfGreater, x, 1, EnvAdd, x, 2 ←EnvAddはコマンドなのでこれは正しい記述。
But
these are not valid: if x = 1 Sleep 1 IfGreater, x, 1, x +=
2 ←これは式なのでNGらしい。
if文まわりはややこしい・・・
- 617 :名無しさん@お腹いっぱい。:2006/03/16(木) 03:28:29
ID:+IJnHcux0
- ややこしくなるから
if(式){ } その他のIFコマンド { }
以外は使わない方がいいよ
- 618 :名無しさん@お腹いっぱい。:2006/03/16(木) 08:32:10
ID:xM7XPfwl0
- システム以外のマウスカーソルの情報を取得する方法ってありますか?
A_CursorでUnknownになってしまうようなカーソルを知りたいのです
- 619 :名無しさん@お腹いっぱい。:2006/03/17(金) 17:44:33
ID:FiSk8Qjk0
- Hotkey sでループをスタートさせて、無限ループになってしまった場合に
Hotkey
hで止めたいのだけれど、どうすれば良いのでしょうか?助言おねがい。
s:: Loop { 〜処理〜
if abc = 1 break } return
h::ExitApp
- 620 :名無しさん@お腹いっぱい。:2006/03/17(金) 17:47:47
ID:wtxnAtBP0
- >>619
何故その記述では駄目なのか、ってことを書かなきゃ助言しようがない
- 621 :名無しさん@お腹いっぱい。:2006/03/17(金)
18:12:51 ID:zTH699bB0
- それで動くかどうか検証めんどいからしないけど
無理だっていうならループ内でsが押されてる状態かを毎回判断すればいい
- 622 :619:2006/03/17(金) 18:38:40
ID:FiSk8Qjk0
- Sleepいれてみたら止めることができました。
くだらないことでスレ消費してごめんなさい。
レスありでした>620、621
s:: Loop { 〜処理〜 Sleep,
0 <-ここ if abc = 1 break } return
h::ExitApp
- 623 :名無しさん@お腹いっぱい。:2006/03/17(金) 18:49:03
ID:FiSk8Qjk0
- またきました。sとhでスクリプトを終了させないままスタート/ストップを繰り返すために
以下のようにしたんですが、もっと上手いやり方とかありますか?添削おねがいします。
s:: loopflg = 1
Loop { 〜処理〜 Sleep, 0 if abc = 1 break }
abc = loopflg = return
h:: if loopflg = 1
abc = 1 return
- 624 :名無しさん@お腹いっぱい。:2006/03/17(金) 19:03:44
ID:LwsXg2Qc0
- 一時的なデバッグで永久ループから脱出したいって話じゃなかったのか?
一旦リセットしたいなら h::Reload
- 625 :名無しさん@お腹いっぱい。:2006/03/17(金) 19:08:49
ID:qaI2qrDX0
- >623
GetKeyStateじゃだめなの?
- 626 :名無しさん@お腹いっぱい。:2006/03/17(金) 20:28:40
ID:68vIds2k0
- KeyWait
ってのもあるでよ
- 627 :623:2006/03/17(金) 21:47:02
ID:hFQNB0xp0
- >624
最高。今回の目的にバッチリ適合です。 デバッグが楽になったのも思わぬ収穫^^ s::
Loop { 〜処理〜 Sleep, 0 if abc = 1 break }
return
h::reload
- 628 :名無しさん@お腹いっぱい。:2006/03/17(金) 21:47:42
ID:hFQNB0xp0
- >625のもやってみた。
s:: Loop { 〜処理〜 Sleep, 0
if abc = 1 break GetKeyState, state, h, P if state = D
break } return
これも目的の動作はしたけど、今回は>624案を採用。
>626のはLoopを抜ける時どう使うのか分からず・・・orz 皆様レスありでした。
- 629 :名無しさん@お腹いっぱい。:2006/03/17(金) 22:09:21
ID:Op8Q/jkU0
- DonationCOdeでなんかおもしろそうなんが出てた
- 630 :名無しさん@お腹いっぱい。:2006/03/17(金) 23:10:59
ID:SD1TlI3h0
- >>628
便利! ワンキーでできないかな?
s:: cnt++
Loop { Sleep, 0 If cnt > 1 { Exit } }
cnt-- Return
これは駄目みたい…。
- 631 :名無しさん@お腹いっぱい。:2006/03/17(金) 23:41:10
ID:qaI2qrDX0
- >>630
これでいけるっぽい。
#MaxThreadsPerHotkey 1 s up:: if state = D state =
else Loop { 〜処理〜 Sleep, 0 if abc = 1
break GetKeyState, state, s, P if state = D
break } return
ところでデバックってなんだ?
- 632 :630:2006/03/18(土) 02:14:02
ID:C4FDHepp0
- >>631
おおお、素晴らしい。感謝です。
答えを出してもらいながら申し訳ないが、例えば、 Gui, Add, Edit, Gtest ←これ
みたいなサブルーチンの中に、今までのサンプルみたく無限ループがあったとして、
同じサブルーチンをもう一回呼び出したときにループを終了させたいときには、 GetKeyStateだと煩雑になる予感。
こういう場合にも、ビシッとループを終了できないかな?
- 633 :名無しさん@お腹いっぱい。:2006/03/18(土) 06:53:17
ID:tezGoIoS0
- >630
英語HelpのFAQにある How can a repeating action be stopped
without exiting the script? って項にあるサンプル使うとワンキーでLoopのスタート/ストップできた。
多重ループで使ってみたいのだけども、もっとエレガントになるかな?
#MaxThreadsPerHotkey 3
s:: #MaxThreadsPerHotkey 1 if KeepLoopRunning = y {
KeepLoopRunning = return } KeepLoopRunning = y
Loop { 〜処理〜 Sleep, 0 Loop { 〜処理〜
Sleep, 0 if KeepLoopRunning = break }
if KeepLoopRunning = break }KeepLoopRunning =
return
・・・全角スペースいれてます
- 634 :名無しさん@お腹いっぱい。:2006/03/18(土)
15:20:28 ID:Yl3U5BIi0
- スレッド優先度ってマイナスの値入れちゃっても大丈夫ですか?
- 635 :名無しさん@お腹いっぱい。:2006/03/18(土) 16:25:48
ID:TCBHEo+A0
- つhelp
- 636 :名無しさん@お腹いっぱい。:2006/03/18(土) 17:51:05
ID:Yl3U5BIi0
- >>635
ありがとう、もう一度読み直してみたら書いてありました。
- 637 :630:2006/03/19(日) 00:46:48
ID:5zHaODEE0
- >>633
サンクス! レス遅くなって申し訳ない。
英語Helpにそれらしいのがあったとは…。読み足りてなかったです。 ホットキー(今回の場合
s::)だと凄いいい感じに動いてるんだけど、 それを Gui, Add, Edit, Gtest とかのサブルーチン(ここでは
test:)に置き換ると、 3回目のキー押下時にどうもミスります。 …よく分からないんで、ちょっと考えてみます。
- 638 :名無しさん@お腹いっぱい。:2006/03/19(日) 02:23:42
ID:4wBY8TSi0
- >>637
そういうのはTimer使った方が楽じゃない?
用途間違えてるかもしれないけど。
Gui, Add, Edit, Gtest GUI, Show
return
test: if TimerOn = 1 { SetTimer,
Timertest, Off TimerOn = } else { SetTimer,
Timertest, 55 TimerOn = 1 } return
Timertest:
count++ if count > 100 count =0 tooltip, てすと
%count% return
- 639 :名無しさん@お腹いっぱい。:2006/03/19(日) 11:12:31
ID:5zHaODEE0
- >>638
ありがとう! まさに求めてたものです。
具体的には、スレッド実行中に新しいスレッドが呼び出されたとき、
後のスレッドは前のスレッドが終了するまで後回しにされるか無視される仕様からか、
スレッドの処理がスルーされるのが少し困ってたんです。 これで、前のスレッドを途中で停止して後のスレッドを実行する、
みたいなことができるぽいです。他にも色々と効用ありますし。 感謝感激、みんなありがとう〜!
- 640 :名無しさん@お腹いっぱい。:2006/03/21(火)
04:23:15 ID:y745q5bd0
- カナロックONの時は
Joy1::Send, 3 ; ジョイパット1キーで"あ" を入力 Joy2::Send, e ;
"い" を入力 … カナロックOFFの時は Joy1::Send, a ; "A" を入力 Joy2::Send, b
; "B" を入力 …
となるようにしたいのですがカナロック状態の取得の仕方が分かりません GetKeyState,
OutputVar, vk15, T は試してみたのですが常に OutputVar = D となってしまうようです。
流行らせるページのアップローダにあったIME_Func.ahkも試しましたが IME
OFFの時などいくつかの条件ではうまく判別することが出来ませんでした。
外部ツールやDLLを利用する方法でもよいので、もしあれば教えてください。
- 641 :名無しさん@お腹いっぱい。:2006/03/21(火) 19:01:49
ID:7BWRBHrs0
- 文字列をURLで使える
%E5とかに変換する方法ありまっか? Yahooの検索で日本語がうまくいきまへん
Proxomitronでも頑張ったんだがなんか無限ループとかで挫折。
- 642 :名無しさん@お腹いっぱい。:2006/03/23(木) 07:02:24
ID:8KPbtYSZ0
- 1バイトずつチェックして変換するしかないんじゃない?
日本語で検索できないのは、リクエストの文字コード指定が悪い所為のような気がするけど。
- 643 :名無しさん@お腹いっぱい。:2006/03/23(木) 11:56:27
ID:37jAp6/q0
- >>641
おみとろん使えるなら$ESCでダメか? とスレ違いレスをしてみる
- 644 :名無しさん@お腹いっぱい。:2006/03/23(木) 13:58:33
ID:Jwp33SJ00
- >>642
うん、基本そうなんだろうけど
Proxomitronでがちがちにフィルターしてるから何が何だかわからなくて
そちらでやるのをあきらめて最初からあの文字列でINPUTから リクエストできればいいかなあとか思ってしもうた。 >>643 どうもフィルターの相性なのか思ったとおりにならなくてお手上げ中。
も少しがんがってみる。
- 645 :名無しさん@お腹いっぱい。:2006/03/23(木) 22:28:27
ID:ZyneQEvmP
- このソフトでパスワード入力ソフトの代わりはできますか?
- 646 :名無しさん@お腹いっぱい。:2006/03/23(木) 22:35:45
ID:oGkLYudX0
- >>645
出来るとは思うけど、素直に既存のソフトを使った方が良いよ。
- 647 :名無しさん@お腹いっぱい。:2006/03/24(金) 03:15:07
ID:Se2Qk5Yk0
- CapslockにCtrlを割り当てたくて
Capslock::Ctrl ; Make Capslock become a
Control key. を試してみたのですが, Capslockを離した後もCtrlを押したまんまの状態になります
どうすればよいでしょうか?
- 648 :名無しさん@お腹いっぱい。:2006/03/24(金) 07:17:30
ID:yvNeSmEP0
- キーの履歴を開いてみたらCapslockは押し下げだけ感知して離すのは無視されてるみたい。
どうしてもAHKでCapslockが使いたいのなら押されてから数秒たったらCtrl Upを送信するようにするとか
InputでCapslockの次に押されたキーを読んでみるとか方法が無いことも無いんだろうけど
とりあえず他のソフトで出来るかどうか試してみては?
- 649 :647:2006/03/24(金) 08:37:38
ID:Se2Qk5Yk0
- CapsLockにCtrlを割り当てるとCapsLock Upが返ってこないですね
exeにしてどこでもすぐ使えるようにしたかったのですが…… とりあえずレジストリをいじって解決しました
- 650 :名無しさん@お腹いっぱい。:2006/03/24(金) 12:30:27
ID:PCVDLk5L0
- 流行らせるページのどっかに記述あったと思うけど
Locks系は日本語環境だと正しく取得できない。
OSがドライバレベルでなんかやってる。(ダブルバイト環境共通なのかどうかは知らん)
過去ログでも何度も話題になってる。次スレではテンプレに入れたほうがいいかもね。
- 651 :名無しさん@お腹いっぱい。:2006/03/24(金) 12:57:57
ID:TXwdyAWL0
- うちだとCapslockで
CTRL+C,Vが送られるお。なんだこれって感じ。
- 652 :名無しさん@お腹いっぱい。:2006/03/24(金) 12:58:20
ID:vTkQnhytP
- >>646
これでできれば、常駐ソフトを減らせるなーと思いまして
- 653 :名無しさん@お腹いっぱい。:2006/03/24(金) 20:28:16
ID:zPGcV7l50
- 人の作ったahkファイルを、自分のAutohotkey.iniにIncludeで組み込もうとするとき、
モノによってはAutohotkey.iniの#Persistent内にあるSet
timerが無効になるんですが、これはどの辺が原因なんでしょう。
流行らせるページにあるのだと、mbstring.ahkはOKだけどInlineCalc.ahkはだめです。
- 654 :名無しさん@お腹いっぱい。:2006/03/26(日)
00:23:53 ID:b3Nu7QpN0
- >653
もしかしてAuto-executeセクション中にIncludeしてないですか?
- 655 :名無しさん@お腹いっぱい。:2006/03/26(日) 00:59:36
ID:pjcfpT8Y0
- >>654
思いっきりしてました。
AHKのルールあまりよくわかってないんですが、こういう使い方ってNG?
AHK2つ常駐させるのがいやで一つにまとめたいっていう場合、Autohotokey.ini内にIncludeで組み込むって言うのは間違った使い方なんでしょうか。
- 656 :名無しさん@お腹いっぱい。:2006/03/26(日) 01:53:48
ID:b3Nu7QpN0
- >655
とりあえずInlineCalc.ahkに関しては引数が重複してなければAuto-executeセクション外に
インクルードすれば使えるかもしれないけど、インクルードした後の動作を予測することなしに
よそから拾ってきたスクリプトを次々とインクルードして使うのはおすすめしません。
- 657 :名無しさん@お腹いっぱい。:2006/03/26(日) 02:04:38
ID:pjcfpT8Y0
- >>656
そうですか。わかりました。
拾ってきたスクリプト解析して、自力で組み込めるよう努力します。
- 658 :名無しさん@お腹いっぱい。:2006/03/28(火) 18:01:18
ID:p3mE1UoC0
- *z::f
でzをfキーへ入れ替えが出来る事がわかったけど これを瞬時に元に戻したり又入れ替えた状態にするには?
ALT+1でデフォルトのキー配列、ALT+2でキー入れ替えた配列にしたいです
- 659 :名無しさん@お腹いっぱい。:2006/03/28(火) 19:15:37
ID:aI6rP75+0
- HotkeyコマンドでONとOFFを切り替えらられるよ
- 660 :名無しさん@お腹いっぱい。:2006/03/28(火) 19:44:21
ID:n+gx7BbI0
- 読み出したスクリプトに!1::ExitAppを加える事で解決出来ました。また質問ですが
MButton::3でホイールボタンを3、SHIFT押しながらホイールボタンを4に割り当てたいのですが
SHIT押しながらホイールボタン押すとSHIT+3となり#が入力されてしまいます どの様な記述になるのでしょうか
- 661 :名無しさん@お腹いっぱい。:2006/03/28(火) 22:03:17
ID:5UHM2kOF0
- >>660
もうちょい本家ヘルプなり流行らせるページなりを読んだ方が良いと思う。
- 662 :名無しさん@お腹いっぱい。:2006/03/28(火) 22:09:38
ID:2DzjvSSI0
- 一部vbsを使い、Autohotkeyで以下のようなサウンドプレイヤーの作成に挑戦してみました。
1.選択ファイルのパスをコピーして 2.そのパスをvbsに渡して、GetDetailsOfで曲の長さを取得
3.テキストファイルにファイルのパスと曲の長さを書きだして、プレイリスト作成
4.AHKでプレイリスト読み込んで、「SetTimer,再生実行サブ,曲の長さ」でリストのファイルを連続再生
5.変数に演奏中のトラックナンバーを保存し、ホットキーで曲の移動も可
という感じで作りましたが、見てわかるとおりソースがスマートじゃありません(動作は期待通りのモノですが)。
AHKでやるのが間違っているというのは十分わかっているんですが、そこにこだわりたいんです。 軽いし。
何かスマートになるアドバイス合ったらお願いします。 2,3がvbsなので、このへんをAHKでできればいいんですが。
- 663 :名無しさん@お腹いっぱい。:2006/03/30(木) 11:37:20
ID:+DAoRlgo0
- >>661
色々試したんだけど結局できません
とりあえずkeylay21で凌いでますがkeylay入れてあるとマウスドライバが書き換えられる
みたいでなんかいまいち 4000円も出すんじゃなかったと
LCtrl::LShift LShift::LCtrl
MButton::3 ^MButton::4
SHITとCTRLを入れ替えてある状態で、CTRL(指はシフトキー)押しながらホイールボタンで4を
入力させたいのですがAHKじゃ無理なのでしょうか? 出来るか出来ないかだけでも教えてくださいorz
出来るのであればもう少しカンバッテみます
- 664 :名無しさん@お腹いっぱい。:2006/03/30(木) 13:24:47
ID:MvBpnK9rP
- 終了時にウィルススキャンしてから終わるってできますか?
- 665 :名無しさん@お腹いっぱい。:2006/03/30(木) 15:46:07
ID:DTOCa6Mj0
- >>664
http://lukewarm.s101.xrea.com/commands/OnExit.htm
- 666 :名無しさん@お腹いっぱい。:2006/03/30(木) 17:11:11
ID:MvBpnK9rP
- これでシャットダウン時にウィルススキャンをしてから終了ってできるのですか?
- 667 :名無しさん@お腹いっぱい。:2006/03/30(木)
18:23:58 ID:F2a/hdHF0
- 自分で努力しないと出来ません
- 668 :名無しさん@お腹いっぱい。:2006/03/30(木) 22:12:23
ID:MvBpnK9rP
- なるほど。
足りなかったのは努力なんですね。 ありがとうございますた。
- 669 :名無しさん@お腹いっぱい。:2006/03/31(金) 02:40:28
ID:/UqiJYW50
- 子ウィンドのハンドルがうまく取得できないのは仕様?
MouseGetPosでマウス下の領域のウィンドハンドル取得しようとしても、ウィンド全体のが帰ってくる
- 670 :名無しさん@お腹いっぱい。:2006/03/31(金) 10:32:28
ID:3DbFmw7g0
- MDIの子ウィンドウはウィンドウハンドルとしては取れない。
MouseGetPos, X, Y, Win, Control ,1
で、コントロールとしては取得可能
あくまでハンドルとして取りたい場合は↓の getMousePosWindowEx()
あたりを参照 http://d.hatena.ne.jp/eamat/20050827/1125092895
- 671 :名無しさん@お腹いっぱい。:2006/03/31(金) 17:46:40
ID:GXqhKwVq0
- >>660
MButton::Send, 3 +MButton::Send, 4
>>663 ;****** Script01.ahk ******
OnExit, ExitSub Run, C:\Program Files\AutoHotkey\Autohotkey
Script02.ahk,,,PID
esc::exitapp LCtrl::LShift
LShift::LCtrl
ExitSub: DetectHiddenWindows On
PostMessage, 0x5555,,,,ahk_pid %pid% Exitapp
;******
Script02.ahk ****** OnMessage(0x5555, "MsgMonitor")
MButton::Send, 3 ^MButton::Send, 4
MsgMonitor(){
Exitapp } 同一プロセスだとうまく動かないので2つのスクリプトに分けた。
Script01を実行すればScript02が立ち上がって、Script01が終了すればScript02も終了する。
うちでは一応それなりに動作しているように見えるけど、うまくいかなかったらごめん。
(ところで、秀丸エディタって修飾キー絡むとうまくうごかないのね・・・ 秀丸上で試してたからうまく動かないので悩んだ。)
- 672 :名無しさん@お腹いっぱい。:2006/04/03(月) 21:26:55
ID:Am8bhY3i0
- >>671様ありがとうございます!
何がなにややらな状態ですがとりあえず動いてます
こんなきっかけが欲しかった所です このスクリプト一行一行勉強してみます
- 673 :名無しさん@お腹いっぱい。:2006/04/05(水) 18:18:18
ID:+pF9h+il0
- >>662そういうこだわり好きだぜ。
FileSelectFile,
SelectedFiles, M3, ,Open, Media Files (*.mp3;*.wav) Loop, parse,
SelectedFiles, `n { if(A_Index = 1){
CurrentDir=%A_LoopField%. }else{ SoundPlay,
%CurrentDir%\%A_LoopField%, wait } } exitapp
#down::SoundPlay, NULL
;存在しないファイルを指定。(たったこれだけのことを思いつくのにどれだけ掛かったことか・・)
win+↓キーで次の曲に飛ぶ。応用すれば自由に移動可能ではないかと。
色々試して無理だコリャとか思っていたら、あっけないほど簡単な解決策だったりする罠。 頭が固くなってきてるなぁ・・orz
しっかし、たったこれだけで簡易メディアプレイヤーが出来てしまうなんてスゴス。
- 674 :名無しさん@お腹いっぱい。:2006/04/05(水) 22:18:22
ID:plvj6RC00
- ぬる℃家さんのHPの移転先どこ?
- 675 :名無しさん@お腹いっぱい。:2006/04/06(木) 04:56:20
ID:F1AUl6YU0
- 避難所じゃない?
- 676 :名無しさん@お腹いっぱい。:2006/04/06(木) 12:14:18
ID:GSZU7GaA0
- >>673
662です。すばらしい。非常に参考になります。
プレイリストをGui表示したりすれば、かなりまともなメディアプレーヤーになりそうですね。
にしても、言われてみれば簡単だ。俺も頭固いな…。
- 677 :名無しさん@お腹いっぱい。:2006/04/06(木) 12:29:38
ID:V0dMBBJV0
- 単純にファイル渡しでもファイラーから
フォーカスを奪わずに試聴できるね
- 678 :674:2006/04/06(木) 21:38:00
ID:7OM6hwZV0
- >>675
thx
- 679 :673:2006/04/07(金) 16:28:37
ID:oc5/fhnE0
- SoundPlayで長い曲再生すると戻ってこなくなる?
>>673のスクリプトでアルバムを聞いてて気付いたんだけど、
なぜか、最後まで再生し終わってスクリプトが固まった。 よく考えてみたら最後の曲だけ長くて8分あるので
試しに別の7分ちょいの曲と6分ぐらいの曲を連続で再生してみたら、7分の曲再生し終わった時点で固まって 次の曲再生されなかった。
うちだけ?
- 680 :名無しさん@お腹いっぱい。:2006/04/07(金) 16:46:09
ID:rSUBoxot0
- 試してみようと長めの曲投げてみたら再生しなかったな
VBRとかもあんのかな。
- 681 :名無しさん@お腹いっぱい。:2006/04/07(金) 23:26:51
ID:EWcuZxfA0
- 30分のネトラジ(wma)投げたけど、問題なかったな
とりあえず最初に依頼したので、完成品を貼っておきます
#p:: ;選択したファイルでプレイリスト作成&再生 OverWrite = True ;上書き
StopFlag = Flase Gosub,MakePlaylist TrackNumber=1
GoSub,Player Return
!#p:: ;選択したファイルをプレイリストに追加&再生
OverWrite = False ;追加 StopFlag = False Gosub,MakePlaylist
GoSub,Player Return
#PgDn:: ;次の曲再生 SoundPlay, NULL
Return
#PgUp:: ;前の曲再生 TrackNumber-- TrackNumber--
SoundPlay, NULL Return
#End:: ;再生を停止 StopFlag = True
SoundPlay, NULL return
- 682 :続き2/3:2006/04/07(金) 23:27:54
ID:EWcuZxfA0
- MakePlaylist:
ClipSaved := ClipboardAll ;クリップボードの中身を一時待避
Clipboard = ;とりあえずクリップボードを空にして Send, ^c ;Ctrl+C ClipWait,1
;クリップボードが読み取れるようになるのを待つ(最大1秒)
i = 1 Loop, Parse, Clipboard ,
`n, `r ;クリップボード内のものを改行区切りに分解して { SplitPath, A_LoopField ,
FileName , Dir , Extension ,, Drive ;パスかどうか判定
StringLen, length,
drive ;ドライブ文字の長さを見て ifEqual, length, 0, continue ;パスっぽくなかったらやめる
if ( Extension != "mp3" && Extension != "wav" &&
Extension != "wma" && Extension != "ogg" ) ;拡張子が音楽ファイルじゃないならやめる
continue
if i = 1 ;テキストファイルにファイルのパスを書き込み OutputText =
%A_LoopField% else OutputText = %OutputText%`n%A_LoopField%
i++ }
If OverWrite = True FileDelete ,
%CurrentDir%\Playlist.txt
FileAppend , %OutputText%,
%CurrentDir%\Playlist.txt
Clipboard = %ClipSaved% Return
- 683 :最後3/3:2006/04/07(金) 23:28:46
ID:EWcuZxfA0
- Player:
Loop { FileReadLine, OutputVar,
%CurrentDir%\playlist.txt, %TrackNumber% If ErrorLevel = 1
;リストの最後まで行ったら { TrackNumber = 1 ;最初に戻る FileReadLine,
OutputVar, %CurrentDir%\playlist.txt, %TrackNumber% }
SplitPath, OutputVar , FileName
ToolTip, %TrackNumber% -
%FileName% ;再生するファイルをツールチップ表示 SetTimer, RemoveToolTip, 1000
Soundplay,%OutputVar% , wait
IfEqual,StopFlag,True,Break
;ループ抜ける
TrackNumber++
}
return
RemoveToolTip: ;ツールチップ削除 SetTimer, RemoveToolTip, Off
ToolTip return
- 684 :673:2006/04/08(土) 05:37:18
ID:EzpMT1rj0
- >>681
気軽に再生出来てなかなかいいっすねこれ。なんつっても軽いし。
ところで、長い曲(が原因か判らないけど)で固まる問題ですけど、>>681-683のスクリプトでもやっぱり再現した・・・
MCI内部で呼んでるみたいなんで試しにMCI直で呼んでみたけど、やっぱり同じ状態になったので、 MCI自体の問題なのかも。
>>680 VBRって言われてみれば確かにVBRのファイルなんですよねこれ。
VBRで長いmp3だとおかしくなるのかな?
検証するのに何度も同じ曲聞かなきゃなんないから疲れるょ・・
AHKが悪い訳じゃないことが解っただけでも良かったけど・・
- 685 :名無しさん@お腹いっぱい。:2006/04/08(土) 12:30:36
ID:Co4Tuedv0
- WでRClick, AでCtrl+RClick, DでAlt+RClickをやりたいんですが
下のコードだとDを押してDを離してもRClickは解除されるもののAltが押しっぱなしの状態になってしまいます。
どうすればいいんでしょうか? w:: Send,{RButton Down}
return
w up:: Send,{RButton
Up} return
a:: Send,{Ctrl
Down} Send,{RButton Down} return
a up:: Send,{RButton Up}
Send,{Ctrl Up} return
d::
Send,{Alt Down} Send,{RButton Down}
return
d up:: Send,{RButton Up}
Send,{Alt Up} return
- 686 :名無しさん@お腹いっぱい。:2006/04/08(土) 20:49:49
ID:1SgxTDCT0
- 流行らせるページにある「システムモニタ用関数群」を有難く使わせてもらっています。
これでだいたい取得したい情報は得られたのですが、 CPUの周波数だけまだ解決せず。
非常に厚かましいのですが
どなたか作っていただけないでしょうか?
- 687 :名無しさん@お腹いっぱい。:2006/04/09(日) 15:27:27
ID:vc/jqxTR0
- 流行らせるページが見られない
- 688 :名無しさん@お腹いっぱい。:2006/04/09(日) 16:14:16
ID:fCMts/FM0
- ほんとだwww.xrea.comじたいが見れなくなってる。
- 689 :673:2006/04/10(月) 04:43:55
ID:kIM2G0lg0
- MCI使用したプレイヤー(HSP製)DLして問題のあるファイルを再生してみたら、
時間表示はおかしいけど、固まることなくちゃんと連続再生された。 試しにVC++でMCI使って再生するコード書いてみたら
やっぱり固まることなく連続再生できたし・・。
AHKでmciSendString直に呼んで色々試したところでは、
どうも再生は正常に終わっているけど、デバイスが閉じられくなるみたい、
問題のファイル再生終了後にclose投げるとそのまま制御が戻ってこなくなることが解った。
SoundPlayでも同じようなことが起きてるのかも。
とりあえず、AHKでSoundPlayコマンド(MCI関連)を扱うと
VBRのmp3で問題が起きる可能性があるということでFA。 マンドクセシ モーイイヤ・・('A`)
- 690 :名無しさん@お腹いっぱい。:2006/04/10(月) 06:02:52
ID:WS1IiKh80
- 乙
madとか123とかをHideで使っちゃうというほうがいいのかね DLLならBassとか
- 691 :名無しさん@お腹いっぱい。:2006/04/10(月) 06:32:16
ID:gsoxib5w0
- >>687-688
ttp://www.value-domain.com/info.php?action=press&no=20060408-1
- 692 :名無しさん@お腹いっぱい。:2006/04/14(金) 00:58:50
ID:Ud8vzZeZ0
- クリップボードの内容を一時的にする場合に、
TempClipboard:=ClipboardAll
Clipboard= ;適当に処理して Clipboard:=TempClipboard ;元に戻す
としたとき、元々クリップボードの中にテキストや画像データが入ってる分には問題ないのですが、
パスやURLがショートカット形式(ファイルをコピーしたときや、ネットのリンクを右クリ→ショートカットのコピーしたとき)
になぜかクリップボードが復元されません。
この辺は仕様でしょうか。
- 693 :名無しさん@お腹いっぱい。:2006/04/14(金) 00:59:53
ID:Ud8vzZeZ0
- 一行目
一時的にする→一時的に退避する
失礼
- 694 :名無しさん@お腹いっぱい。:2006/04/14(金) 01:25:59
ID:94xmBBMO0
- MsgBox, %ClipBoard%
をいろんな個所に挟んで中身を確かめながら実験すると良いかも。
- 695 :名無しさん@お腹いっぱい。:2006/04/14(金) 09:14:35
ID:UFI/YkYK0
- >>692
FileAppendでファイルに落としてバイナリみると解るけど、復元出来ないんじゃなくて、
ClipboardAllコマンドでクリップボードを正常に参照出来てないと観た方が良さそう。
つまり、変数やファイルにクリップボード内のデータを待避する時点でデータがすでにおかくなっている。
でもClipboardコマンドだととれているから仕様と言うよりもClipboardAllコマンドのバグじゃないかなぁ?
仕様だったら普通最低でもClipboardコマンドと同じテキストデータがとれるようにすると思うんだよね。
- 696 :名無しさん@お腹いっぱい。:2006/04/16(日) 09:51:06
ID:Kql6t2Dr0
- 初歩的な質問していいですか。
EDITコマンドで*.ahkスクリプを好きなエディタで開けません。(notepadで開く)
*.iniだとちゃんと秀丸で開くのに・・・ *.ahkも*.iniもシェル関連付けはされています
どうすれば*.ahkも秀丸で開けますか?
- 697 :名無しさん@お腹いっぱい。:2006/04/16(日) 10:24:38
ID:AQ9bKtsX0
- ダブルクオーテーションを外して試してみて
漏れはそれで上手く行ったことがある。 何故か
c:\hogehoge\hoge.ahkをエディットしようとすると
c:\hogehoge\hoge.ah っていうパスが送られちゃって悩んでたんだが。
- 698 :名無しさん@お腹いっぱい。:2006/04/16(日) 10:54:34
ID:Kql6t2Dr0
- >>697
ありがとうございます。でもダメですOTZ
スクリプト自体はうまく動作しているようですが・・・。 インストーラなしのzipファイルでインストールしたのがまずいのかな。
ヘルプの ”関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く。なければ、notepad.exeで開く。”
というのがイマイチ分かりません。AHKで開くエディタを指定できるんでしょうか。
- 699 :名無しさん@お腹いっぱい。:2006/04/16(日) 11:18:46
ID:87jJ7KHW0
- 俺の場合は「Edit Script」に設定したらできた。
- 700 :名無しさん@お腹いっぱい。:2006/04/16(日) 11:42:05
ID:Kql6t2Dr0
- >>699レスサンクスです
皆さんは問題なく出来てるようですね。やっぱり俺だけですね・・
とりあえず・・・Run,〜\Hidemaru.exe 〜\AutoHotkey.ahk で開いてます。全然スマートじゃないなw
- 701 :名無しさん@お腹いっぱい。:2006/04/16(日)
17:45:25 ID:IfQvUwVz0
- >>700
AHKファイルの関連付けを、ちゃんとしてる?
フォルダオプション > ファイルタイプ > AHK を選択
"拡張子AHKの詳細"項目内の詳細設定ボタンを押す。
アクションのEditを選択して編集ボタンを押す。
そこで自分の好きなエディタを指定する。
"関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く"というのはこの設定のことを言ってる。
- 702 :名無しさん@お腹いっぱい。:2006/04/16(日) 17:48:41
ID:4CFKB+jz0
- デフォルト項目じゃなくてコンテクストメニューの「Edit」項目を変えてやらないといかんよ
レジストリの↓の値ね
HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command
たぶん前スレでも貼ったような気がするが、UIで対話的にエディタ変更してみる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 へ変更しました。
- 703 :名無しさん@お腹いっぱい。:2006/04/16(日) 20:15:21
ID:Kql6t2Dr0
- >>701>>702
丁寧にホントにありがとう!遂にできましたよ。
Helpの意味がようやく分かりました
- 704 :名無しさん@お腹いっぱい。:2006/04/21(金) 18:58:48
ID:6cXk1jHT0
- Ctrl+Vでペーストできないソフトにクリップボードの内容を送るにはどうしたらよいのでしょうか?
試したのは↓なんですが、当然できませんでしたw Send, clipboard
クリップボードと同じ内容のテキストのキーストロークを発生させればいいと思うんですが・・ どなたかご教授下さい
- 705 :名無しさん@お腹いっぱい。:2006/04/21(金) 19:38:49
ID:IoLpMntm0
- 一生そこで止まっててください。
- 706 :名無しさん@お腹いっぱい。:2006/04/21(金) 21:55:03
ID:6cXk1jHT0
- 残念ながら出来ましたよwスマソw
- 707 :名無しさん@お腹いっぱい。:2006/04/22(土) 21:15:53
ID:EvYvrKQ80
- AutoHotkeyでネットワークプログラムを作るにはどうすればいいですか?
DLLの関数を呼び出すんであろうということは分かるのですが具体的なやり方が分かりません。
- 708 :名無しさん@お腹いっぱい。:2006/04/22(土) 21:39:51
ID:KJrxOsM90
- 何がしたいのよ
- 709 :名無しさん@お腹いっぱい。:2006/04/24(月) 22:48:18
ID:+AskqZAV0
- mayuから乗り換えたいのですが、
Space押しながら別のキーを押すとShift扱い
Spaceをすぐに離したらSpace で、できればSpaceを押して一定時間経過後に離すときは無効
みたいなことってできますか?
- 710 :名無しさん@お腹いっぱい。:2006/04/24(月) 23:06:32
ID:gA3K0rDg0
- >>709
AutoHotkeyを流行らせるアップローダの029.zip
一定時間経過後に〜の方も少し弄ればできる。
- 711 :名無しさん@お腹いっぱい。:2006/04/24(月) 23:19:44
ID:+AskqZAV0
- >>710
ありがとうございます! SandSって言うんですね!
ちょっと弄ってみます!
- 712 :名無しさん@お腹いっぱい。:2006/04/29(土)
18:55:41 ID:58FQTls70
- zキーを押してる間zキーを10秒毎に2秒間押す、といったコマンドがやりたいのですが
どなたかご存知ありませんか?
- 713 :名無しさん@お腹いっぱい。:2006/04/29(土) 19:57:56
ID:1hoqMcVM0
- タイマ、スリープ
どんな方法でも実現できるじゃん
- 714 :名無しさん@お腹いっぱい。:2006/04/29(土) 22:47:12
ID:ujA9YEAp0
- キーボードでボリュームを操作する方法を探していて
>>71に書かれて内容を試してみましたが
タスクバーにAutoHotkey.iniと表示されるだけで、GUIが表示されません 助言お願いします
- 715 :名無しさん@お腹いっぱい。:2006/04/29(土) 22:53:23
ID:8YehHyKS0
- なまず日記(>>7)行って完成品拾ってきたら?
- 716 :名無しさん@お腹いっぱい。:2006/04/30(日) 11:04:10
ID:ritjdH350
- >>715
ありがとうございます 勉強になりました
調べた末
SoundGet,volume,MASTER SetFormat, float, 5.2 volume += 0
ToolTip,%volume%,800,700, を使うことにしました
- 717 :名無しさん@お腹いっぱい。:2006/04/30(日) 11:11:44
ID:ritjdH350
- 試作中のやつ貼ってしまった orz
volume += 0要らないです
- 718 :名無しさん@お腹いっぱい。:2006/05/03(水) 10:42:28
ID:SO1f2yaW0
- 1.0.43.11 - May 1, 2006
Fixed %A_WorkingDir% on Windows 9x,
which was sometimes blank. [thanks Points]
Improved BlockInput
with a new mode that blocks only physical movement of the mouse, not
keystrokes or mouse clicks.
- 719 :名無しさん@お腹いっぱい。:2006/05/12(金) 21:25:33
ID:aSuNSZC/0
- BREGEXP.ahk、便利なんだけども、良く分からないことがいくつかあります。
list =
aaaaxxxxaaaa|bbbxxx|xxxxcccc Loop, Parse, list, | { test :=
RegExpReplace(A_LoopField, "x*", "", "") MsgBox, %test% }
とかやると、前回のデータが残ってしまうんですが…。 皆様どうやって対処してるんでしょうか?
- 720 :719:2006/05/12(金) 21:32:58
ID:aSuNSZC/0
- 連稿すみません。途中で投稿してしまいました。 orz
test := RegExpReplace(tmp, "[
\t]*`;[ \t]*$", "", "")
みたいな正規表現もうまく行かなかったり。
$が効かない(?)感じがします。 解決案もってましたらどなたかご教授ください。
- 721 :719:2006/05/15(月) 14:14:36
ID:I+/Q9YXe0
- 自己解決しました。
前回のデータが残ってしまうのは、 BREGEXP.AHKの
return
result
の部分を、
test:=result VarSetCapacity(result,64)
return test
のように変更することで解決しました。
$が効かないのはオプションにgを入れてないからでした。
- 722 :名無しさん@お腹いっぱい。:2006/05/17(水) 10:12:27
ID:A1Pap8lZ0
- Guiにツリービューとステータスバーが追加されたね。
とても使いこなす余裕ないけど。
今月号のPCJapanで特集記事が載ってるけど あれ読んで入門しようと思う人どんくらい居るかなあ…
ttp://www.sbcr.jp/pcjapan/download/art.asp?newsid=126
- 723 :名無しさん@お腹いっぱい。:2006/05/18(木)
16:34:36 ID:CPxUZBn80
- AutoHotKeyのスレあったんですか。
前スレ>>848さんを参考にスクリプトを書いてみたのですが
右ダブルクリック時処理が実行された後に右シングルクリック時処理も実行されてしまいます。
これを回避するにはどうしたらいいのでしょう?例えば・・・
848
:名無しさん@お腹いっぱい。:2005/09/26(月) 20:54:01 ID:Owez+5cA0 >>847 Rbutton Up:: ;システムのダブルクリック時間取得
WClickTime := DllCall("User32.dll\GetDoubleClickTime",Int) if
(A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey <
WClickTime) { ;ダブルクリック時処理(例:Run explorer.exe) }
else { ;シングルクリック時処理(例:Run notepad.exe) }
return
とすると シングルクリック→notepad.exeは正しいのですが
ダブルクリック→explorer.exeだけでなくnotepad.exeも実行されてしまうのを回避したいのです
どなたかお願いします
- 724 :名無しさん@お腹いっぱい。:2006/05/18(木) 16:57:39
ID:LJaz32dZ0
- >>723
自分だったらこんな感じでやってる。これだとトリプルクリック、クワドロプルクリックへの対応も大した手間無くできるし。
一々システムからダブルクリック時間を取得するのもあれなので決め打ちで書いてる。 RButton:: KeyWait,
%A_ThisHotkey%, T0.2 If ErrorLevel = 0 { KeyWait,
%A_ThisHotkey%, D T0.2 If ErrorLevel = 0 { KeyWait,
%A_ThisHotkey% Run, explorer.exe return } Run,
notepad.exe return } return
- 725 :名無しさん@お腹いっぱい。:2006/05/18(木) 17:35:59
ID:CPxUZBn80
- >>724
ありがとうございます。いろんなアプローチがあるんだなぁ・・すごいですね。
なんだかもうチンプンカンプンです><
- 726 :名無しさん@お腹いっぱい。:2006/05/18(木) 18:15:07
ID:CPxUZBn80
- >>724
ちなみにトリプルクリックの場合どうやるんでしょうか?(自分が試した奴ですが・・↓) 本当に馬鹿で・・・すみませんw
RButton:: KeyWait, %A_ThisHotkey%, T0.2 If ErrorLevel =
0 { KeyWait, %A_ThisHotkey%, D T0.2 If ErrorLevel = 0 {
KeyWait, %A_ThisHotkey%, D T0.2 If ErrorLevel = 0 {
KeyWait, %A_ThisHotkey% Run, explorer.exe return }
Run, notepad.exe return } Run, calc.exe return }
return
- 727 :名無しさん@お腹いっぱい。:2006/05/18(木) 18:24:34
ID:LJaz32dZ0
- >>726
RButton:: ;1回目の押し下げ KeyWait,
%A_ThisHotkey%, T0.2 ;1回目の押し上げ待ち If ErrorLevel = 0 {
KeyWait, %A_ThisHotkey%, D T0.2 ;2回目の押し下げ待ち If ErrorLevel = 0
{ KeyWait, %A_ThisHotkey%, T0.2 ;2回目の押し上げ待ち If ErrorLevel =
0 { KeyWait, %A_ThisHotkey%, D T0.2 ;3回目の押し下げ待ち If
ErrorLevel = 0 { KeyWait, %A_ThisHotkey% ;3回目の押し上げ待ち Run,
calc.exe ;トリプルクリック処理 return } } Run, explorer.exe
;ダブルクリック処理 return } Run, notepad.exe ;シングルクリック処理 return
} return
- 728 :名無しさん@お腹いっぱい。:2006/05/18(木) 18:30:36
ID:CPxUZBn80
- >>727
なんとお礼を言っていいのやら…。本当にありがとうございます(´Д⊂グスン
- 729 :名無しさん@お腹いっぱい。:2006/05/19(金) 02:40:46
ID:8luIfCKj0
- 特定のボタンを押している間だけ、Dを押しつつキーマップの変更(q→a, a→z, etc)を行いたいのですが、
Hotstringを使ってやる場合、どのように記述すればいいんでしょうか どなたか教えていただけませんか
- 730 :名無しさん@お腹いっぱい。:2006/05/19(金) 07:48:57
ID:T9QwDw3o0
- キーマップという言い方からすると繭使いか?
冗長になるけど、コンビネーションキーでいいんじゃねーの?
[特定のボタン] & q::a [特定のボタン] & a::z
- 731 :名無しさん@お腹いっぱい。:2006/05/19(金)
23:10:55 ID:NLL2TGQ40
- 意味不明で大変場違いな事かもしれませんが・・・
たとえばゲームなどで必殺技のコマンドをマクロ化するスクリプトってどういう感じでしょう?
例としてはジョイスティックのボタンAを押すと昇竜拳が出るというような。。
先月からいじっているのですが、まったく突破法を発見できません(汗 どなたかお知恵を拝借していただけませんでしょうか?
- 732 :名無しさん@お腹いっぱい。:2006/05/19(金) 23:20:58
ID:K6ZDm6rW0
- >731
ジョイスティック系のスレ行って それ用のソフト探した方が早そう。
- 733 :名無しさん@お腹いっぱい。:2006/05/20(土) 00:17:17
ID:th5H/M1p0
- JoyToKeyかJoyAdapterだな。
- 734 :名無しさん@お腹いっぱい。:2006/05/20(土) 00:42:13
ID:L7AtsktK0
- JoyToKeyは使ってるけど必殺技コマンドのマクロ化は無理っぽい。
- 735 :名無しさん@お腹いっぱい。:2006/05/21(日) 18:35:02
ID:UkQcXTMP0
- Perl厨なのでPERLAHKで楽しく書かせてもらってます。
AHKのお手軽さとPerlのモジュール+正規表現が
合わさってちょっとすごい感じです。
- 736 :名無しさん@お腹いっぱい。:2006/05/21(日) 21:56:54
ID:hpntYaGp0
- mayu でマウスいじれないので、
ahk でそのうちやろうやろうと思いつつも
やり方がよくわからないんで放置してたんだけど、 昨日一晩調べてやっと使えるようになった。 サイドボタン+ホイールとか
右クリック+ホイールとか サイドボタン+右クリックとか、 いろんな組み合わせが使えるようになって
かなりブラウザが使いやすくなったよ。
- 737 :名無しさん@お腹いっぱい。:2006/05/21(日) 22:37:38
ID:Uqwos4GY0
- >>735
PERLAHKってなんですか?
検索してもいっこもヒットしません・・・
- 738 :名無しさん@お腹いっぱい。:2006/05/23(火) 00:47:31
ID:k9ZThJgs0
- 複数のahkをひとまとめにコンパイルとか出来ちゃったり出来ないですか?
- 739 :名無しさん@お腹いっぱい。:2006/05/23(火) 22:08:10
ID:H/9gJ7En0
- 関数の中でラベルを作ることは出来ないのでしょうか?
ホットキー定義の中で SetTimer とかを使って
サブルーチンを監視するような処理を、
;;キー定義 F1::DoHoge()
;;関数
DoHoge(){ SetTimer,Hoge return Hoge: なんたら return
}
みたいにキー定義部分と関数定義で分割して書いて、 コードを読みやすくしたいのですが、うまくいきません。
- 740 :名無しさん@お腹いっぱい。:2006/05/23(火) 23:59:29
ID:HxMam4eq0
- おいおい…なんつー強引なコード書いてんだよ
そんなん全然読みやすくも何ともないから、素直にサブルーチン使え
- 741 :名無しさん@お腹いっぱい。:2006/05/24(水) 00:21:33
ID:4stag/k10
- 読みやすくない、、、、つーか、そういうのバグの温床になるよ。
- 742 :名無しさん@お腹いっぱい。:2006/05/24(水) 04:09:11
ID:vGs8zZxc0
- ホットカーペット?
オンドル?
- 743 :739:2006/05/24(水) 05:08:37
ID:UOl7EfWn0
- なぜキー定義と関数を分割したいかというと、
#IfWindowActive でウインドウごとにキー割り当てを変えているときに、
同じ処理を何度も書くよりは一箇所にまとめたかったのです。 autohotkey の関数の意義がよくわかってなかったので
おかしなことを書いてしまいました。すみません。 Gosub を使えばできそうです。
- 744 :名無しさん@お腹いっぱい。:2006/06/05(月) 20:29:13
ID:LsgHsIWT0
- alt+WheelUp/Downでボリューム操作したいんですがどうやればいいですか?
SendKey,{Volume_up/down}で一応できるんですが
MSのユーティリティの機能で画面にメーターが出てきてしまうので 直接操作したいんですが。
- 745 :名無しさん@お腹いっぱい。:2006/06/05(月) 20:40:12
ID:LeRAOcxJ0
- SoundGet
SoundSet
- 746 :名無しさん@お腹いっぱい。:2006/06/06(火) 17:00:48
ID:bF08BH0f0
- F6::
LoopFlag = 0 return
F5:: if LoopFlag = 0
LoopFlag = 1 else
LoopFlag = 0 loop
{ if LoopFlag = 0
break Send,{v}
Sleep,1000 }
return
このスクリプトでF5を押すと一秒ごとにSend,{v}し、F6を押すと止まります。
ここまではいいんですが、ループ中に再度F5を押すと止めるようにしたつもりがうまくいきません。
F5を処理中に再度F5を実行する事は出来ないんでしょうか?
- 747 :名無しさん@お腹いっぱい。:2006/06/06(火) 17:40:38
ID:0igiZf6q0
- F6::
LoopFlag = 0 return
F5:: if (LoopFlag) {
LoopFlag = 0 } else { LoopFlag = 1 }
SetTimer,
Sendkeys, 1000 return
Sendkeys: if (LoopFlag) {
Send, v } return
とりあえずこれで動いてるもよん
- 748 :名無しさん@お腹いっぱい。:2006/06/06(火) 20:33:46
ID:m6+f/8Lj0
- >>746
returnまで行ってないスレッドを呼び出すことはできないはず。たとえば、
a:: gosub,b return
b:: loop{なんたらかんたら}
return
bをLoopしてる間は、Returnまで行ってないa,bともに機能しない 俺も>>747みたく、Settimerでいったんreturnまで行くことで回避してる
- 749 :名無しさん@お腹いっぱい。:2006/06/06(火) 20:54:45
ID:FXxjK0vn0
- FAQ@ヘルプファイルの"How can a repeating action be stopped without exiting
the script?"でいいんでね?
- 750 :名無しさん@お腹いっぱい。:2006/06/07(水) 11:45:55
ID:tTFbfh7+0
- CTRL+ALT+DELは送れない?
ランチャーから「プログラムの強制終了」出したいと思ったんだけど
- 751 :名無しさん@お腹いっぱい。:2006/06/07(水) 12:52:40
ID:nmnaUx310
- >>750
Run, taskmgr.exe で良いんじゃないの?
- 752 :名無しさん@お腹いっぱい。:2006/06/07(水) 13:35:33
ID:Jepk75LG0
- 98なんでないのよ
- 753 :名無しさん@お腹いっぱい。:2006/06/07(水) 15:33:07
ID:zIezkPbs0
- Clipboard変数について質問させて下さい<(_ _)>
クリップボードの中身から最初のn文字(例えば5文字分)だけを抽出する方法はありますでしょうか?
- 754 :名無しさん@お腹いっぱい。:2006/06/07(水)
15:37:12 ID:zBVvY4Eq0
- >>753
StringLeft
せっかく日本語のコマンドリファレンスがあるんだから ちゃんと見た方がいいよ
- 755 :名無しさん@お腹いっぱい。:2006/06/07(水) 15:44:06
ID:zIezkPbs0
- >>754
早速ありがとうございます〜!基本的な事でスマソ
リファレンスよく勉強させて頂きます
- 756 :名無しさん@お腹いっぱい。:2006/06/21(水) 21:43:40
ID:Y5hBJ6O70
- 思い出したように保守
日本語リファレンス更新されてるね。管理人さん乙です
- 757 :名無しさん@お腹いっぱい。:2006/06/22(木) 02:22:24
ID:cHFnTHSC0
- 日本語版とか無いみたいだけど日本語の処理問題ないの?
- 758 :名無しさん@お腹いっぱい。:2006/06/22(木) 03:00:35
ID:uSeun5XX0
- ある。
- 759 :名無しさん@お腹いっぱい。:2006/06/22(木) 11:07:49
ID:0P+3tIeu0
- FileInstall, Source, Dest, Flag
について質問です。
・・・と書き込もうとしてたんだけど自己解決
FileInstallを使用した際、スクリプトファイルまでのパスに日本語が使われていると
スクリプトファイルをexe化するときにエラーを吐いて上手く変換されないぽい 全部1byteに変えたら上手く変換された
Convert .ahk to .exe で変換するときだけの問題ぽいので
実際のスクリプトファイルや実行ファイルがあるパスに日本語が含まれていても大丈夫みたい
一応そういうことがあったと報告、重複してたらゴメ
- 760 :名無しさん@お腹いっぱい。:2006/06/22(木) 15:42:33
ID:POdpE2ro0
- >757
IMEの状態管理用プラグインは日本人が作ってる。
- 761 :名無しさん@お腹いっぱい。:2006/06/22(木) 18:18:32
ID:nKnriN960
- そういう事じゃないと思うんだ
- 762 :名無しさん@お腹いっぱい。:2006/06/22(木) 19:23:51
ID:0qpHhUW90
- >>757
とりあえず文字化けとかはしない。
ただ、ダメ文字(文字の2バイト目に0x7C等)が含まれてたりすると、
文字列処理(StringReplaceとかSplitPath等)がうまくいかないこともある。
そのへんはなまずさんのところの文字列処理ライブラリを使えば対処可能。
- 763 :名無しさん@お腹いっぱい。:2006/06/22(木) 20:37:27
ID:0P+3tIeu0
- 初歩的な質問ですいません
例えば ary1〜ary3 と言う名の変数があり
それぞれの中身を参照したい場合に
ary1=変数1 ary2=変数2 ary3=変数3
loop,3 { msgbox,%ary%A_Index%% } return
と言うスクリプトを考えたのですが、エラーを吐き動作しません。
- 764 :名無しさん@お腹いっぱい。:2006/06/22(木) 20:38:00
ID:0P+3tIeu0
- そこで暫定的に
ary1=変数1 ary2=変数2 ary3=変数3
loop,3
{
test( ary%A_Index% ) } return
test( tmp )
{ msgbox,%tmp% return }
このような処理方法にしたのですがもっとスマートな方法はありませんか?
- 765 :名無しさん@お腹いっぱい。:2006/06/22(木) 21:02:30
ID:YZ8pBvMe0
- temp := ary%A_Index%
msgbox,%temp%
これでいける
- 766 :名無しさん@お腹いっぱい。:2006/06/22(木) 23:27:57
ID:0P+3tIeu0
- 俺は
= と := の使い分け方が理解できてませんね
これならスマートにできそうです。
ありがとうございました。
- 767 :名無しさん@お腹いっぱい。:2006/06/23(金) 21:34:38
ID:8JS9LCGx0
- 右コントロールをAltにしたいんですが、
RCtrl::Send,{Alt}だとCtrlがAltにかわるだけで、
Alt+別のキーを認識してくれないんですが、 どう設定すればいいのでしょうか。
- 768 :名無しさん@お腹いっぱい。:2006/06/23(金) 21:48:57
ID:FfdqmuQi0
- >>767
RCtrl::Alt
詳しくは↓参照
ttp://lukewarm.s101.xrea.com/remap.htm
- 769 :名無しさん@お腹いっぱい。:2006/06/23(金) 22:01:48
ID:FNCmH44Z0
- http://lukewarm.s101.xrea.com/remap.htm
controlとaltが交換できるかどうかは知らない。
- 770 :名無しさん@お腹いっぱい。:2006/06/23(金) 22:03:13
ID:FNCmH44Z0
- かぶった
- 771 :名無しさん@お腹いっぱい。:2006/06/23(金) 22:47:38
ID:8xgDybgz0
- むけばいいさ
- 772 :名無しさん@お腹いっぱい。:2006/06/24(土) 02:25:25
ID:qEZk/pQ+0
- 文字列サンクス。
国際化きぼんしといたほうがよさそうだな。
- 773 :名無しさん@お腹いっぱい。:2006/06/25(日)
07:19:11 ID:2OPiWT000
- Shift+Space で IME のトグルを行いたいのですが,
Meadow では除外するために以下の設定をしました.
$+Space:: IfWinActive, ahk_class MEADOW { Send,
+{Space} return } Else { Send, {vkF3sc029}
return }
しかし Firefox で Scroll with IME を有効にしているとき,
Shift+Space を押すと IME がトグルしかつ, Space の入力による下方向スクロールが行われてしまいます.
これを回避するにはどうすればよいでしょうか?
- 774 :名無しさん@お腹いっぱい。:2006/06/25(日) 21:42:04
ID:4MUoUZSq0
- #IfWinActive
じゃないの?
- 775 :773:2006/06/25(日) 23:46:38
ID:2OPiWT000
- >>774
なるほど #つきのコマンドでできるのですね.
以下のようにして実現できました.
#IfWinNotActive, ahk_class MEADOW
+Space::Send, {vkF3sc029} #IfWinNotActive
- 776 :名無しさん@お腹いっぱい。:2006/06/27(火) 19:35:19
ID:Fgs5cyTC0
- UWSCとどっちが強い?
- 777 :名無しさん@お腹いっぱい。:2006/06/28(水) 01:16:03
ID:1Uw7Us+E0
- >>776
[AutoHotkey] 攻撃:87 素早さ:59 防御:39 命中:18
運:48 HP:277 [UWSC] 攻撃:41 素早さ:95 防御:98 命中:18 運:88 HP:288
AutoHotkey vs UWSC 戦闘開始!! [UWSC]の攻撃 MISS
[AutoHotkey]は攻撃を回避した。 [AutoHotkey]の攻撃 HIT [UWSC]は74のダメージを受けた。
[UWSC]の攻撃 HIT [AutoHotkey]は113のダメージを受けた。 [AutoHotkey]の攻撃 MISS
[UWSC]は攻撃を回避した。 [UWSC]の攻撃 MISS [AutoHotkey]は攻撃を回避した。
[AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。 [UWSC]の攻撃 HIT
[AutoHotkey]は94のダメージを受けた。 [AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。
[UWSC]の攻撃 HIT [AutoHotkey]は79のダメージを受けた。
[UWSC]が[AutoHotkey]を倒しました(ラウンド数:5)。
orz
- 778 :名無しさん@お腹いっぱい。:2006/06/28(水) 03:26:29
ID:1HU1H9N90
- マルチャン
- 779 :名無しさん@お腹いっぱい。:2006/06/28(水) 15:13:01
ID:P/5ViBO60
- >>776
ぬるさんとこの旧サイト過去ログが参照できないんでうろ覚えだけど
uwscとDMonkeyか何かと演算速度比較してぶっちぎりトップだったような
- 780 :名無しさん@お腹いっぱい。:2006/06/28(水) 21:25:25
ID:RTMBh9ap0
- AHKだとCapsLockをControlにできないそうですが
では皆さんは何を使っていますか?
- 781 :名無しさん@お腹いっぱい。:2006/06/28(水) 22:13:43
ID:gxLI0N320
- WinMinimizeで最小化するとデスクトップの左下にタイトルバーのみの状態になるソフト(たとえばJane)を、
最小化ボタンを押したときのように完全に最小化するにはどうすれば良いんでしょう。
- 782 :名無しさん@お腹いっぱい。:2006/06/28(水) 22:31:20
ID:p4FtCeYm0
- >>780
http://www.losttechnology.jp/Tips/keyscancodemap.html
- 783 :名無しさん@お腹いっぱい。:2006/06/29(木) 00:12:50
ID:KazRnh6f0
- >>781
ttp://lukewarm.s101.xrea.com/commands/WinMinimize.htm 嫁
- 784 :名無しさん@お腹いっぱい。:2006/06/29(木) 02:56:57
ID:YMIL19fZ0
- >>783
できました。ありがとう。
- 785 :名無しさん@お腹いっぱい。:2006/06/29(木) 12:55:57
ID:mOUKYabn0
- ファイルのドラッグ&ドロップに対応してないアプリに
AutoHotKeyを使って対応させたいとか思ってます.
1.LButton Upで該当アプリにフックかける 2.今つかんでいるファイル名を手に入れる
3.ファイル名つかってアプリになんかする
...という手順で実装しようと思っていますが,
2.をahkでどうやったらいいものか困っています. なにかいい方法ないでしょうか?
- 786 :名無しさん@お腹いっぱい。:2006/06/29(木) 14:09:16
ID:2lcTgBXF0
- Ctrl+Cでクリップボードにファイル名を入れて、吸い出す
- 787 :名無しさん@お腹いっぱい。:2006/06/29(木) 14:38:33
ID:gyii8ANd0
- ExplorerならF2押してリネームモードにしてからCtrl+Cか。
誤動作したら嫌なことになりそうだがw
- 788 :名無しさん@お腹いっぱい。:2006/06/29(木) 14:47:28
ID:OjEa1TAf0
- どういうことがしたいのかよくわかってないけど
ファイル名が欲しいならF2押さなくてもctrl+cだけで
フルパスで取得できない?
- 789 :名無しさん@お腹いっぱい。:2006/06/29(木) 16:30:38
ID:2lcTgBXF0
- できるよ、しかもフルパスで取れる
- 790 :名無しさん@お腹いっぱい。:2006/06/29(木) 16:36:16
ID:oU3zY0Gn0
- ドロップ先にGuiウィンドウを挟んでGuiDropFiles:で知る
- 791 :名無しさん@お腹いっぱい。:2006/06/29(木) 17:27:49
ID:mOZeA58w0
- >>782
えっとじゃあ CapsLock をコントロールにするだけなら
↓でいいんでしょうか?
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard
Layout] "Scancode
Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,3a,00,1d,00,00,00,00,00
- 792 :785:2006/06/29(木) 17:49:04
ID:mOUKYabn0
- >>786-789
言葉足らずで申し訳ありません.
「ExplorerでCtrl+cをおしてファイル名を取得」 →「該当アプリにファイル名使ってなにかする」
というのをやりたいわけではなく 「該当アプリにファイルをDropしたときにファイル名を使ってなにかする」
を実現したいのです.
>>790 LButton Upしたときに
MouseGetPosしてその位置に透明なGUI窓を即座に作って GuiDropFiles:
でファイル名をゲットするということでしょうか. ちょっと考えてみます.
- 793 :名無しさん@お腹いっぱい。:2006/06/29(木) 18:49:05
ID:n43RwllZP
- あほには何言っても無駄か
- 794 :名無しさん@お腹いっぱい。:2006/06/29(木) 18:55:00
ID:OjEa1TAf0
- ドラッグ&ドロップするアイコンはその「該当アプリ」のものじゃなくちゃ
絶対だめなの? そうじゃなくていいなら
run,c:\program files\hoge.exe %1% みたいなスクリプトを書いてexeにコンパイルしたファイルに
ドラッグ&ドロップという方法でも いいような気がするんだけど、だめかな
コンパイルしたファイルにドラッグ&ドロップで%1%が使えるかは わからなかったので今試した
msgbox,%1% ;終わり exit
こんなスクリプトを書いてコンパイルしたものにファイルを
ドラッグ&ドロップしたら投げたファイルのフルパスがメッセージ ボックスで出たから大丈夫じゃないかな
- 795 :名無しさん@お腹いっぱい。:2006/06/29(木) 19:03:37
ID:2lcTgBXF0
- やりたいことは理解できるが何で説明し直してるのかがわからん
ファイル名取れたらその後は自力でなんとかするって話じゃないの?
785でも「何か」のしかたついては聞いてきてないようだが。
- 796 :名無しさん@お腹いっぱい。:2006/06/29(木) 19:15:36
ID:2lcTgBXF0
- ごめん今理解した。掴んだ時じゃなくて話した時にファイル名取りたいのか
んでショートカットアイコンじゃなくて起動中の該当アプリに
ファイルをドロップさせたいんだよね?
790のは該当アプリに直接ドロップするのではなく、
マウス監視してドラッグしたら最前面の小窓出してそこにドロップてことでは? irvineみたいな感じで。
ウィンドウを透明化したら制御権取れないような希ガス
- 797 :名無しさん@お腹いっぱい。:2006/06/29(木) 19:19:42
ID:OjEa1TAf0
- >>796
あーそうなのか
オレはファイルへのドラッグ&ドロップだと思ってたごめん
- 798 :名無しさん@お腹いっぱい。:2006/06/29(木) 20:44:53
ID:YMIL19fZ0
- 面倒なので検証してないが、
1,#Ifwinexistで該当アプリがあるときのみ以下を実行
2.左ボタンを押し下げた時点で、Ctrl+C 3.左ボタンを押し上げた時点で、
a、もしマウスの下のウィンドが該当アプリならば→2のファイル名を使って処理 b、違うなら放置
ではいかんのか?
- 799 :785:2006/06/29(木) 22:08:24
ID:mOUKYabn0
- >>794-797
「離した時にファイル名取りたい」まさにそれです.
たしかに「別ショートカット作ってそこにドロップ」「別GUIにドロップ」 に逃げればなんにも問題ないんですが...
>>798 電卓で試してみました.
#IfWinExist
ahk_class SciCalc $LButton:: ClipSaved := ClipboardAll
Clipboard = Send, ^c ClipWait, 0.1 SelText := Clipboard
Clipboard := ClipSaved ClipSaved = Send, {LButton Down}
Return #IfWinExist
- 800 :785:2006/06/29(木) 22:09:59
ID:mOUKYabn0
- #IfWinExist ahk_class SciCalc
$LButton Up:: Send, {LButton
Up} MouseGetPos, mX, mY, mID, mCtrl WinGetClass, mClass, ahk_id
%mID% if (InStr(mClass, "SciCalc") > 0) { MsgBox
%SelText% } Return #IfWinExist $LButton Up:: Send,
{LButton Up} Return
なんとか目的の動作は実現できそうです.ありがとうござしました.
ただ...LButton Down/Up奪っちゃうと他の動作が怪しくなりますね...
- 801 :名無しさん@お腹いっぱい。:2006/06/29(木) 22:52:55
ID:YMIL19fZ0
- >>800
最後の3行いらないだろ
他の動作でUp/Downを奪わないための#IfWinExistなんだから
- 802 :名無しさん@お腹いっぱい。:2006/07/01(土)
12:37:26 ID:kCidEIr20
- バックグラウンドにあるウィンドウを指定して
キーをSendするにはどうすればいいですか? WinActivate
するとフォーカスが切り替わってもとに戻せないし できればフォーカスを切り替えたくありません
- 803 :名無しさん@お腹いっぱい。:2006/07/01(土) 12:47:27
ID:0Hi33u+L0
- WinexistとかMouseGetPosで目的のウインド取得してSendMessageは?
- 804 :名無しさん@お腹いっぱい。:2006/07/01(土) 14:30:17
ID:ejLYm2Hs0
- >>802
ControlSend
- 805 :名無しさん@お腹いっぱい。:2006/07/01(土) 18:47:47
ID:kCidEIr20
- >>804
ControlSend, , i, ahk_class Notepad
なら希望の動作になりましたが 実は送りたいアプリは mAgicTV という TV 視聴ソフトで ControlSend,
, i, ahk_class mAgicTVWindow とすると mAgicTV がアクティブになってしまいました。
WinGet, id, ID, A と WinActivate, %id% ではさんでみてもダメでした。
なんとかフォーカスを変えない方法ないでしょうか?
- 806 :名無しさん@お腹いっぱい。:2006/07/01(土) 21:43:19
ID:9gtYySno0
- キーのリピート入力ってよくやると思うんですが、
loop と sleep でぐるぐる回すしか方法ないんですか?
- 807 :名無しさん@お腹いっぱい。:2006/07/01(土) 23:47:50
ID:DmCRCPtK0
- キーダウン キーアップで間に間隔入れたら勝手にキーリピートになるんじゃないの
- 808 :806:2006/07/02(日) 00:09:52
ID:Ab02y6aS0
- >>807
実際今そういう風にやってるんですが、
なんか無理やりなやり方のように思えるので、 こんなやり方でいいのかと思って。 ちなみに今使ってるのはこんな感じです。
F1::MyKeyRepeat("^{Right}",200} F1 Up::MyKeyRepeatStop()
;; MyKeyRepeat(key,sleep=80){ global MyKeyRepeatLoop
MyKeyRepeatLoop = 1 loop { if MyKeyRepeatLoop != 1 break
Send,%key% sleep,%sleep% }}
MyKeyRepeatStop(){
global MyKeyRepeatLoop MyKeyRepeatLoop=0 }
- 809 :名無しさん@お腹いっぱい。:2006/07/02(日) 02:02:42
ID:Q+Ta5ezk0
- イベントじゃなくて SendコマンドのほうをUp/Downで指定したらどうよ
勝手にリピートしてくれないのか? 試してないけど
F1:: Send,{Right Down} F1 Up:: Send, {Right Up}
- 810 :名無しさん@お腹いっぱい。:2006/07/04(火) 18:26:50
ID:cof1Hegt0
- #p::SendMessage, 0x111 , 1007, 273, , ahk_class PrxTronCls
で、Proxomitronのバイパスの切り替えをしたいですが、ウインドウが無い限りできません。 どうしたらいいでしょうか?
- 811 :名無しさん@お腹いっぱい。:2006/07/04(火) 19:43:46
ID:AkaYH3FC0
- POstMessageでは?
- 812 :名無しさん@お腹いっぱい。:2006/07/04(火) 21:54:04
ID:rHd9XQGV0
- >>810
俺もやってみようとしたができないな。
AHK使わないでWPara1007 LPara273をSend/Postしたら、タスクトレイにあるときでもちゃんとできたんだが。
ウインドの指定のやり方かな。
- 813 :806:2006/07/04(火) 21:59:05
ID:G6/vCvv+0
- >>809
返事が遅れてすみません。
いままでその方法ではリピートできないと勝手に思っていたのですが、 普通のキーでならそれでできますね。
実はマウスボタンで使うのが目的だったので、 マウスボタンでしか実験していなかったのですが、
マウスでは同様の方法でリピートしてくれなかったため、 勘違いしてました。
- 814 :名無しさん@お腹いっぱい。:2006/07/04(火) 22:13:53
ID:WJt1gwBr0
- もれは
Comandiux ttp://www.scot.sk/comandiux/index.htm
でポストしてるけどウィンドウなくてもバイパス出来る。
- 815 :名無しさん@お腹いっぱい。:2006/07/04(火) 22:38:44
ID:ZOjlKI+I0
- >>810
DetectHiddenWindows, On
SendMessage, 273, 1007, 0,, ahk_class PrxTronCls
DetectHiddenWindows, Off return
ではダメですか?
- 816 :名無しさん@お腹いっぱい。:2006/07/04(火) 22:41:01
ID:iCn4YQLM0
- >>813
マウスだったら Sendより MouseClickのがいいんじゃまいか
D|Uで押し下げ/押し上げ状態もキープできる。
あとホイールでスクロールをどうにかしたいって話だったら過去レスに漁れば出て来ると思う
- 817 :名無しさん@お腹いっぱい。:2006/07/04(火) 22:48:33
ID:rHd9XQGV0
- >>815
810じゃないけど、これで動きますね
DetectHiddenWindowsなんてコマンドあったのか
不具合でまくりそうだけど、
SendMessage, 0x111 , 1007, 273, , ahk_id 0xFFFF でもいけました。
存在するすべてのウィンドにSendMessageですw
- 818 :名無しさん@お腹いっぱい。:2006/07/05(水) 01:01:48
ID:4vOv08xf0
- >>811-817
ありがとうございます。DetectHiddenWindowsを使えばいけそうですが、誤爆が怖いんでWinShow使ってやってみます。
ttp://lukewarm.s101.xrea.com/commands/WinShow.htm
(送ったあとはWinHide使えばいいのかな。個人的にはDetectHiddenWindowsが楽そうなんですが)
HoeKeyの時は問答無用で送れたんでちょっと困ってたところ、ありがとうございました。 >>817 それは誤爆が怖いと思うが、いかがなもなか('Д`;)
最初はそれでやってたけど・・・
- 819 :名無しさん@お腹いっぱい。:2006/07/05(水) 01:45:01
ID:4vOv08xf0
- 別にクラスをちゃんと指定すればおkでしたね。ごめんなさい。
需要無いかもしれませんが、foobar2000でsendmessageを使う方法と、疑似Open/Hideコマンドです。Winキーを多用する人はうはうはかもしれません。0.8.3
(もしくはすでに知ってるかもしれませんが。) #q:: DetectHiddenWindows, On
SendMessage, 273, 40010, 0,, ahk_class
{DA7CD0DE-1602-45e6-89A1-C2CA151E008E} DetectHiddenWindows, Off
return
#o:: ;最小化時、トレイに格納する場合だけ動作確認 IfWinExist, ahk_class
{DA7CD0DE-1602-45e6-89A1-C2CA151E008E} { WinMinimize, ahk_class
{DA7CD0DE-1602-45e6-89A1-C2CA151E008E} return } else {
DetectHiddenWindows, On WinActivate, ahk_class
{DA7CD0DE-1602-45e6-89A1-C2CA151E008E} DetectHiddenWindows, Off
return }
- 820 :名無しさん@お腹いっぱい。:2006/07/08(土) 07:42:17
ID:qGKJnijM0
- AHKから録音ソース(マイクやライン入力)を切り替えたいのですがどうすれば良いのでしょうか?
SoundSetで色々試してみたつもりですが録音ソースを切り替える機能は見つけられませんでした...
- 821 :名無しさん@お腹いっぱい。:2006/07/08(土) 10:50:35
ID:HLRnu2ow0
- 漏れも前やったな〜
見当たらないんだよね
- 822 :名無しさん@お腹いっぱい。:2006/07/08(土) 11:39:03
ID:qe11Eg9V0
- DllCall("winmm.dll\mixerGetNumDevs")
みたいな感じで、MixerのAPI呼び出していけば行けるんじゃないか
APIはさっぱりわからんのであとはまかせるw
- 823 :名無しさん@お腹いっぱい。:2006/07/08(土) 13:24:39
ID:ALwXZ4jD0
- いざとなったらプロパティ表示してソース選び直して[OK]押下、をエミュレートするとか
見た目はあまり美しくはないが
- 824 :名無しさん@お腹いっぱい。:2006/07/08(土) 21:06:55
ID:z5OGIaz00
- >>821-823
簡単には行かないみたいですね
API呼ぶのはちょっと敷居が高すぎる気がするので sndvol32.exe /r にMessage投げてごまかすことにします
ありがとうございました。
- 825 :名無しさん@お腹いっぱい。:2006/07/11(火) 13:55:28
ID:EvY29YJw0
- Guiのタブがえらく使いにくい
3つのタブをGui,Addで作成すると、
1 2 3 ○ ▲ ◆
↑こうなるんだけど(上段:タブ番号、下段:それぞれのタブに配置したコントロール)、 そこからさらに2つタブを追加しようとすると
5 4 1 2 3 ○ ▲ ◆ ↑このように追加される
1 2 3 4 5
○ ▲ ◆ か、
5 4 1 2 3 ○ ▲ ◆
せめてこうして欲しいんだが、何とかなりませんか
- 826 :名無しさん@お腹いっぱい。:2006/07/13(木) 03:36:51
ID:eLwJZVSR0
- ソースを弄る
- 827 :名無しさん@お腹いっぱい。:2006/07/13(木) 07:24:10
ID:0SzuAgk/0
- autoitはどうなの?
- 828 :名無しさん@お腹いっぱい。:2006/07/14(金) 00:46:44
ID:Fp8tR7J00
- http://ex16.2ch.net/test/read.cgi/news4vip/1152458597/
- 829 :名無しさん@お腹いっぱい。:2006/07/16(日) 04:02:55
ID:xOvCEZJX0
- ホットキーで
Ctrl-マウスクリック の組み合わせのキーを書いているのですが、
時々コントロールが抜けて出力されることがあります。
例えば firefox では 拡大縮小が
Ctrl-WheelUp, Ctrl-WheelDown に割り当てられてるのですが、 a:: Send,^{WheelDown}
こういうようにキー割り当てして a をリピートすると、 なぜか時々純粋な WheelDown
が送られ、画面がスクロールしていってしまいます。
他にも、エクスプローラではCtrl-ダブルクリックで
フォルダを新しいウインドウで開けるのですが、 MButton:: Send,^{LButton 2}
こう記述しても新しいウインドウが開く時と開かないときがあります。
原因がよくわからないのですが、
確実にCtrl-マウスクリックの組み合わせが出力できる方法はないでしょうか。
- 830 :名無しさん@お腹いっぱい。:2006/07/16(日) 10:48:40
ID:JXnX7QJM0
- SendMode
Sleep 色々ある
- 831 :名無しさん@お腹いっぱい。:2006/07/16(日) 15:20:28
ID:xOvCEZJX0
- どうもありがとうございます。
MButton:: Send,^{LButton 2}
こちらについては、sleep を間に入れて時間を置くことで きちんとダブルクリックと認識させることができました。
a:: Send,^{WheelDown} こっちは、いままで firefox でしか検証していなかったのですが、
先ほど OpenOffice で試したところ、 なんとそのままでまったく問題なく動いていました。 firefox
でのみ、どうしてずれるのかよくわかりませんが、 a:: Send,{Ctrl Down}
Send,^{WheelDown} sleep 300 Send,{Ctrl Up} return
このようにしてみたところ、とりあえずうまくいくようになりました。
- 832 :名無しさん@お腹いっぱい。:2006/07/20(木) 03:18:26
ID:aCwM17AQ0
- ウインドウの操作を行いたいと思うのですが,思うようにいかないので質問させてください.
目標としては,ウィンドウをhoekeyのようになめらかに移動させること, トグルでの水平方向,垂直方向への最大化です.
色々なスクリプトを参考に以下のように書いてみました. ディレイを小さくしたのですが,移動がカクカクしてしまうこと,
水平方向,垂直方向の最大化は同時に複数最大化するとサイズが上書きされてしまう問題があります. ご意見を頂けないでしょうか.
- 833 :名無しさん@お腹いっぱい。:2006/07/20(木) 03:24:33
ID:aCwM17AQ0
- ;●ディレイの調節
SetWinDelay, 0
;● ウインドウ位置移動 #Left:: ;[Win]
移動 (←) #Right:: ; (→) ^!h:: ;Ctrl+Alt+Hで水平方向の最大化 ^!v::
;Ctrl+Alt+Vで垂直方向の最大化 WinGetPos,x,y,w,h,A if A_ThisHotkey = #Left
; x -= 5 else if A_ThisHotkey = #Right ; x += 5 else if
A_ThisHotkey = ^!h{ if(w = A_ScreenWidth and x = 0){ w :=
w_h_old x := x_h_old }
- 834 :名無しさん@お腹いっぱい。:2006/07/20(木) 03:25:39
ID:aCwM17AQ0
- else{
w_h_old := w x_h_old := x w := A_ScreenWidth x
:= 0 } else if A_ThisHotkey = ^!v if(h = A_ScreenWidth and y
= 0){ h := h_v_old y := y_v_old } else{ h_v_old := h
y_v_old := y h := A_ScreenWidth y := 0 }
WinMove,A,,%x%,%y%,%w%,%h% return
- 835 :名無しさん@お腹いっぱい。:2006/07/24(月) 01:39:51
ID:DNeHp1KC0
- タスクトレイにある特定のアプリのアイコン(例hoge.exe)1個だけを
左クリックするだけのスクリプトを作ろうとして挫折してます。 このアプリは、コマンドラインの引数を指定できず、
とにかくタスクトレイのアイコンをクリックする以外にどうしようもないやつで。 いい方法はないですかね。
- 836 :名無しさん@お腹いっぱい。:2006/07/24(月) 02:53:57
ID:9I40KnIj0
- TrayCommand
ttp://hp.vector.co.jp/authors/VA026310/soft2.htm
- 837 :835:2006/07/24(月) 03:41:24
ID:DNeHp1KC0
- >>836
おーこんな便利なのがあったんですか。
さっそく引数をつけて、適当なキーでiniファイルに登録しました。ありがとう。
- 838 :名無しさん@お腹いっぱい。:2006/07/24(月) 03:53:26
ID:7uh8bAg30
- どういたしまして
- 839 :名無しさん@お腹いっぱい。:2006/07/24(月) 03:56:34
ID:Pbf/E+DV0
- 流行らせるページにある
- 840 :名無しさん@お腹いっぱい。:2006/07/24(月) 04:26:24
ID:l/qgUJwX0
- 前スレのjaneのdatもらえませんか?
- 841 :名無しさん@お腹いっぱい。:2006/07/24(月) 09:06:31
ID:EJoF76QI0
- >>840
ttp://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc7_software/1098/1098531338.html
- 842 :名無しさん@お腹いっぱい。:2006/07/24(月) 15:37:02
ID:6Dn/b3UJ0
- プロセスの「ユーザー名」(Windowsタスクマネージャ→プロセスタブで見られる) を取得する方法はありますか?
よろしくお願いします!
- 843 :名無しさん@お腹いっぱい。:2006/07/24(月) 16:00:38
ID:ozVjeoNVO
- こちらこそよろしく!
俺は雅也。まー坊って呼んでくれ!
- 844 :名無しさん@お腹いっぱい。:2006/07/24(月) 16:02:37
ID:6Dn/b3UJ0
- ( ^ー゚)
- 845 :名無しさん@お腹いっぱい。:2006/07/24(月) 18:06:13
ID:ozVjeoNVO
- まー坊って呼べっつってんだろ。日本語通じないんか?
- 846 :名無しさん@お腹いっぱい。:2006/07/24(月) 18:27:05
ID:NC3ES9PEP
- やん某
- 847 :名無しさん@お腹いっぱい。:2006/07/24(月) 18:54:27
ID:7uh8bAg30
- ”マー坊“くん
”!?“
- 848 :名無しさん@お腹いっぱい。:2006/07/25(火) 00:11:34
ID:DKWTwnVd0
- >>841
ありがとうございます 亀レスごめんなさい これで勉強できます
- 849 :名無しさん@お腹いっぱい。:2006/07/26(水) 18:57:00
ID:ZZJ5BPcR0
- マウスカーソルを右端に寄せてホイールスクロールするとボリューム操作
みたいな事って出来ますか?
- 850 :名無しさん@お腹いっぱい。:2006/07/26(水) 19:01:43
ID:8mmomP4l0
- 頑張れば多分できる
- 851 :名無しさん@お腹いっぱい。:2006/07/26(水) 19:05:14
ID:Jv4bTjlL0
- >>849
MouseGetPos…マウスの座標等を取得
SoundSetWaveVolume…音量を変更する WheelDown/WheelUp…ホイールを回転させたとき
- 852 :名無しさん@お腹いっぱい。:2006/07/26(水) 19:50:19
ID:7nemhq5U0
- 神
- 853 :名無しさん@お腹いっぱい。:2006/07/26(水) 20:25:01
ID:4OoZiY1v0
- >>851
まれに見る良レスだな。
- 854 :名無しさん@お腹いっぱい。:2006/07/31(月) 18:22:20
ID:bPE7OiBX0
- Logicoolのマウスドライバ、SetPointがよく落ちてプロセスだけ残ってしまいます
SetPoint.exeを殺して再起動するスクリプトを書いてくださいませ
- 855 :名無しさん@お腹いっぱい。:2006/07/31(月) 18:48:20
ID:0t/+ddRa0
- Process Close, SetPoint.exe
Process, WaitClose, SetPoint.exe
Run, **ふるぱす**\SetPoint.exe
落ちてからならこれでもいいだろうけど
監視したいならちょっとややこしいかも
- 856 :名無しさん@お腹いっぱい。:2006/07/31(月) 18:55:52
ID:oc5sAuQK0
- MX1000 使ってるけど setpoint 落ちたことないよ?
マウスによって安定度が違うのかもしれないが、
バージョンあげてみたら?
- 857 :名無しさん@お腹いっぱい。:2006/07/31(月) 19:00:04
ID:bPE7OiBX0
- USB接続のKVMスイッチ使ってて切り替えたときによく落ちるのです
各種バージョンは試してみました
- 858 :名無しさん@お腹いっぱい。:2006/07/31(月)
20:31:27 ID:zq3T1Gna0
- 夏だなぁ
- 859 :名無しさん@お腹いっぱい。:2006/08/01(火) 05:10:23
ID:riT7Kvih0
- 8月でもクリスマス島か
- 860 :名無しさん@お腹いっぱい。:2006/08/05(土) 06:25:55
ID:WcqHgm+Q0
- 特定ブラウザを起動しているときだけ、insert、break、capsLockキーあたりのあまり使わないキーに
「ワンクリックで画像保存」を割り当てたいのですがうまくいきません。
Break::
IfWinActive,ahk_class IEFrame { Send,{RButton} Send,s
Send,!s }
else { Exit }
上うまくいかない例、Sendのあたりをいろいろいじってみてもどうもうまくいきません。
どうかアドバイスをお願いします。
- 861 :名無しさん@お腹いっぱい。:2006/08/05(土) 09:51:50
ID:4KEWoUh00
- とりあえずコマンドの合間にsleep入れないとだめそうではある
- 862 :名無しさん@お腹いっぱい。:2006/08/05(土) 10:15:42
ID:UFh/CFsn0
- >>861
適当にsleep,250いれて、
キーをcapslock::から、Ins::にしたらうまくいった。
日本語環境だとcapslockはうまく利用できないみたいですね。 os、imeあたりの制御が優先されるためかも。
- 863 :名無しさん@お腹いっぱい。:2006/08/05(土) 10:28:45
ID:qCpTWQJA0
- >>862
日本語版だとCAPSのKeyUpが取得できないらしい。
- 864 :名無しさん@お腹いっぱい。:2006/08/07(月) 18:35:57
ID:wlefqxTe0
- UWSCとAHKの比較
AHKの長所 --- AU3_SPY これがいちじるしく使える。クラス名取得が便利すぎ。
AHKの短所 --- ヘルプ、解説 海外ツールゆえの弱点。 日本語化されてないとこもある。
その他文法解説が弱い。
UWSCの長所 --- ヘルプ、国産、解説本
- 865 :名無しさん@お腹いっぱい。:2006/08/08(火) 17:00:56
ID:xAuF67xb0
- やる気さえあれば、言葉の壁なんてたいしたことないと思うけど。
- 866 :名無しさん@お腹いっぱい。:2006/08/08(火) 21:43:28
ID:10WWq08h0
- スクリプト系のツール使おうって奴が英語読めない方がおかしいんだから
日本語(2byte文字)が全く扱えないとかならまだしも日本語化されてないとか、
解説が英語だとかなんて短所にならん。それにAHKは文法解説もきちんとしてる。
弱いと感じるなら、それは君の英語読解力が弱いからだ。
つまりAHKに海外ツールゆえの弱点があるのではなく、
君自身に英語力が低いという弱点があるってことだなw
- 867 :名無しさん@お腹いっぱい。:2006/08/08(火) 22:13:51
ID:xAuF67xb0
- まるで留学先で日本語が通じないことにキレてるようなもんだよな。
コンピュータがどこで発明されたか知らんのか。
- 868 :名無しさん@お腹いっぱい。:2006/08/08(火) 22:37:30
ID:68cnhmau0
- おれは英語そこそこ出来るからそこそこ使えて問題は感じないぜ、
英語できない奴はかわいそう、
なんて考えてる奴こそ、いつまでたってもそこそこしか使えないんだよ。
- 869 :名無しさん@お腹いっぱい。:2006/08/08(火) 22:56:26
ID:RC9dTpIq0
- 完璧に使えないと駄目だったらあれだな。
UWSCのドキュメントも見てみたけど、文法解説はいまひとつだと思った。実用には十分だと思うけど。
AHKは流行らせるページの文法解説ってそんなに弱いか?
個人的には、AHKの最大の長所は「過去の資産が膨大にある」点だと思うんだが。
- 870 :名無しさん@お腹いっぱい。:2006/08/08(火) 22:56:38
ID:wARQiyMe0
- >>866
まず一行目を論理的に説明して
- 871 :名無しさん@お腹いっぱい。:2006/08/09(水) 01:27:51
ID:upMtDTV/0
- ここ耐性低いな
- 872 :名無しさん@お腹いっぱい。:2006/08/09(水) 01:28:39
ID:lyPkatCS0
- 入れ食いだな。
- 873 :名無しさん@お腹いっぱい。:2006/08/09(水) 01:50:17
ID:+c+/K6Sh0
- フレーミングは参加した時点で(何を言おうが)負け。
見かけたら、通り過ぎるまでじっと待つのが最善の策。
よって、俺も負け。
- 874 :名無しさん@お腹いっぱい。:2006/08/09(水)
01:53:27 ID:9toRUw2f0
- 俺も負け
- 875 :名無しさん@お腹いっぱい。:2006/08/09(水) 02:07:24
ID:AXyISart0
- 耐性とかどうでもいいんだけど
そもそも俺は荒れても構わないし 反応したやつに反論できないなら普通にそいつの負け
- 876 :名無しさん@お腹いっぱい。:2006/08/09(水) 10:12:49
ID:PuK1jjIl0
- ネット上での言い争いの事をフレームというのだな
>873のおかげでひとつ賢くなった
- 877 :名無しさん@お腹いっぱい。:2006/08/09(水) 11:23:35
ID:4XOMBbI70
- というか AHK と UWSC って比べるようなソフトだっけ?
用途が違うような気もするが。
- 878 :名無しさん@お腹いっぱい。:2006/08/09(水) 11:29:02
ID:q+f9pvSC0
- 要は、必死で煽り文書いてみたけど、
反論に答える力がないから、すぐに釣り宣言して逃走ってことでいいの?
- 879 :名無しさん@お腹いっぱい。:2006/08/09(水) 11:59:39
ID:cLFR+lkB0
- >>878
正解
- 880 :名無しさん@お腹いっぱい。:2006/08/09(水) 23:15:43
ID:NC9fRfuw0
- >>232と(たぶん)同じだから環境特有の問題じゃないと思うんだけど、
vkF2
& up::SoundSet,+2.5 vkF2 & down::SoundSet,-2.5
ってスクリプト動かすと、ひらがなキーを一度でも押すとずっとvkF2押しっぱなしな状態になってしまう。
以降はもうupかdown入力するだけでSoundSet実行。
mayuでひらがなキーをmod0にして使ってたのを乗り換えたいんだけど解決方法無いかな?
- 881 :名無しさん@お腹いっぱい。:2006/08/12(土) 05:57:56
ID:dKEaHFEv0
- >>878
しかし、まともに反論しても、
フレーミングに参加するやつは負け組みといわれるのが2チャンネル。
もしくは、「ねたにマジレスすんな、お前は釣られているのだが……」
- 882 :名無しさん@お腹いっぱい。:2006/08/12(土) 08:42:18
ID:YN3EaHF80
- 蒸し返すなYO
- 883 :名無しさん@お腹いっぱい。:2006/08/12(土) 15:54:25
ID:H0uY3V2H0
- >>881
だからこっちは常駐してるスレが荒れてもいいって言ってんだよボケ
釣りなら釣りでやり遂げろよ あと自演するなら文体変えろド素人が
- 884 :名無しさん@お腹いっぱい。:2006/08/12(土) 17:10:39
ID:nKacSO160
- フレーミングは参加した時点で(何を言おうが)負け。
見かけたら、通り過ぎるまでじっと待つのが最善の策。
よって、俺も負け。
- 885 :名無しさん@お腹いっぱい。:2006/08/12(土) 19:52:23
ID:EmbbAg0I0
- アジャパーヽ(´ー`)ノ
- 886 :名無しさん@お腹いっぱい。:2006/08/12(土) 20:11:11
ID:dUP2033C0
- flaming 覚えたてで使いたかっただけちゃうんかと
- 887 :名無しさん@お腹いっぱい。:2006/08/12(土) 20:39:07
ID:/DuFVmL/0
- コピペ
- 888 :名無しさん@お腹いっぱい。:2006/08/14(月) 15:30:20
ID:DtFvPCvr0
- AAAというソフトがアクティブな時
マウスカーソルがソフトAAAのクラスBBBとクラスCCC上にある場合
マウスの拡張ボタン XButton1を押すとXButton1がそのまま送られ、
クラスBBB、CCC上以外の場所にカーソルがある場合は XButton1を押したらEnterキーが送られる。
という物を作りたいのですが、どうすればいいでしょうか?
- 889 :名無しさん@お腹いっぱい。:2006/08/14(月) 15:54:17
ID:NTc2eNg20
- >>888
MouseGetPosでいいんじゃない
- 890 :名無しさん@お腹いっぱい。:2006/08/14(月) 15:59:46
ID:U+odDKWZ0
- IfWinActive…該当ウィンドウがアクティブか
MouseGetPos…マウスカーソルの位置、マウスの下のウィンドウやコントロールを取得 Send…キーストロークを発生させる
851に倣って必要なコマンドあげてみたが、わざわざ解説するまでもなく基本機能だったな
まぁせっかくの夏休みなんだし、頑張ってみれ
- 891 :名無しさん@お腹いっぱい。:2006/08/14(月) 16:34:20
ID:DtFvPCvr0
- 変数名とキー名は流行らせるページに一覧が乗っていたので分かるのですが、
構文が分からないんです。
- 892 :名無しさん@お腹いっぱい。:2006/08/14(月) 16:40:23
ID:U6j7VEhq0
- > どうすればいいでしょうか?
勉強
- 893 :名無しさん@お腹いっぱい。:2006/08/14(月) 17:16:18
ID:mrhengen0
- >>891
まず、最初から丸投げしないで、自分なりに書いてみる。
それで動かなかった場合、何故動かないかをここで聞いてみれ。 さすがにそれをスルーする程にはここの人達も冷たくなかろう。
- 894 :名無しさん@お腹いっぱい。:2006/08/16(水) 00:12:28
ID:uW+77TpF0
- すみません、ちょっとお伺いします
これってコンパイルするときに、例えば画像や音声ファイルを
一緒にパックしてexe化することって可能ですか?
- 895 :894:2006/08/16(水) 00:22:57
ID:uW+77TpF0
- すみません、見つかりました。自己解決です。
- 896 :名無しさん@お腹いっぱい。:2006/08/16(水) 00:25:14
ID:1qUWJw7B0
- >>894
アイコンは含められるけど、その他のファイルは(実用的には)無理だと思う。
- 897 :名無しさん@お腹いっぱい。:2006/08/16(水) 00:41:55
ID:uW+77TpF0
- そうみたいですね
マニュアルで FileInstall っての見つけて、これでパックしてみたんですが
何故だかいざ実行してみるとファイルが見つかりませんってなりますね なにか使い方を根本的に間違っているなかな?
ともかく、お返事ありがとうございます。
- 898 :896:2006/08/16(水) 01:09:20
ID:1qUWJw7B0
- >>897
あ、ごめん。FileInstallの存在忘れてレスしてた。
FileInstall使えばできるよ。 できないとしたらスクリプトの先頭の方に書いてないとか。
- 899 :名無しさん@お腹いっぱい。:2006/08/17(木) 00:47:26
ID:2PVlAupL0
- カーソルが画面隅にあるときホイールを無効化するスクリプトを組んだのですが
WheelUp:: IfWinActive,
Sleipnir { Send, {F1} }
else { Send,
{WheelUp} }
return
IEなのでページをスクロールするときのホイール動作がもっさりしている気がします。
else文で WheelUp::WheelUp こうなってるのが原因な気もしますが・・・ なにかいいアイデアは無いですか?
- 900 :名無しさん@お腹いっぱい。:2006/08/17(木) 00:52:35
ID:2PVlAupL0
- 誤:IEなので
正:IEなどで
- 901 :名無しさん@お腹いっぱい。:2006/08/17(木) 01:10:07
ID:In5F2pPh0
- PostMessageでWM_MOUSEWHELLを投げる
それか,加速処理を入れ込んでみたら?
前スレにサンプルあった筈
- 902 :名無しさん@お腹いっぱい。:2006/08/17(木) 01:20:46
ID:In5F2pPh0
- つか,ぬるさんがホイールリダイレクト作ってたんだっけ
この辺落としてきて中身参考に汁
ttp://lukewarm.s101.xrea.com/myscripts/index.html
- 903 :名無しさん@お腹いっぱい。:2006/08/17(木) 01:51:04
ID:2PVlAupL0
- >>902
ホイールリダイレクトも試しに使ってみたのですが、やはりもっさりしてしまいました。
加速度はマウスドライバで細かく弄ってあるので、できれば加速処理等はしたくないです。
あとWheelUp::WheelUp この処理が原因かと思って↓こんなのも試したのですが IfWinActive,
Sleipnir { WheelUp::F1 }
else {
;何も無し。うまくいけばホイール回転をスルーしてそのままの加速度でいけるかも? } return
これだと、どの場所でホイールしてもホイールが全てF1に変換されてしまい失敗でした。 ちなみにマウスはMicrosoft
IntelliMouseOpticalです。ドライバは純正でVer5.2です。
- 904 :名無しさん@お腹いっぱい。:2006/08/19(土) 16:48:04
ID:cQubjpuu0
- 小ネタ
; irfanViewのexe を指定 iview32 := "C:\Program
Files\irfanview\i_view32.exe" ; 画像の拡張子を指定 screenShotExt := "png"
; 保存先のディレクトリを指定 screenShotDir := userprofile "\デスクトップ"
任意のキーバインド:: ; yyyyMMdd-hhmmss 形式を生成 file := A_YYYY A_MM
A_DD "-" A_Hour A_Min A_Sec ; capture=0 なら 画面全部、 1ならアクティブウィンドウ
Run, "%iview32%" /capture=1
/convert=%screenShotDir%\%file%.%screenShotExt%
- 905 :名無しさん@お腹いっぱい。:2006/08/19(土) 17:09:38
ID:nR6kdIAC0
- irfanviewでも出来たのか・・・
俺もちょうど昨日winshot非常駐化した 常駐ソフトがどんどん減って面白いわ
- 906 :名無しさん@お腹いっぱい。:2006/08/22(火) 11:29:47
ID:UMefObLg0
- 流行らせるページ落ちてる?
ようやく始めようと思って開いたら無かった。 復旧町か。
- 907 :名無しさん@お腹いっぱい。:2006/08/23(水)
04:15:23 ID:52TsQxrC0
- 「;」キーを「a」にするのってどう書けばいいんですか?
;;;aだと.ahk実行しても出来ません
多分「;」をなにかで囲んだりするんだろうけど、どうやるか分かりません どなたか教えてください
- 908 :名無しさん@お腹いっぱい。:2006/08/23(水) 05:07:11
ID:hfHkq/U60
- つ キーコード
- 909 :名無しさん@お腹いっぱい。:2006/08/23(水) 10:21:32
ID:Y+tDCBhY0
- >>907
ttp://lukewarm.s101.xrea.com/KeyList.htm
今後は↑の一番下を見ること。↓の3つの内のどれでも指定できるはず。 vkBB::a ;「;」の仮想キーコードBBを指定
sc027::a ;「;」のスキャンコード027を指定 vkBBsc027::a ;仮想キーコードとスキャンコードの両方を指定
- 910 :907:2006/08/23(水) 14:50:08
ID:52TsQxrC0
- >>908-909
出来ました ありがとうございました
- 911 :名無しさん@お腹いっぱい。:2006/08/23(水)
20:36:48 ID:52TsQxrC0
- >>575-576みたいに
格ゲーのコマンドをボタン一発で出したい時ってどう書けばいいんですか?
d→d+f同時押し→f+j同時押し(ちなみにd=下、f=前、j=弱パンチ。波動拳コマンドです!)
とやりたいんですけど、
a:: Send,{d} Send,{f} Send,{j}
と書いて.ahkで保存したんですけど、まったく機能してません どなたか教えてください
- 912 :名無しさん@お腹いっぱい。:2006/08/23(水) 20:42:00
ID:hfHkq/U60
- ゲームだと、ツールでの不正防止(格ゲーでは必要ないだろうけど)とか、
入力制御の都合とかで、通常のキーコードを拾わないものが腐るほどある。
とりあえず複数キーではなく、単発キーで試して、それすら拾わないならAHKでの対応は諦めよう。
- 913 :911:2006/08/23(水) 20:54:32
ID:52TsQxrC0
- >>912
レスありがとうございます
f::dとして入れ替えてみたんですが、ちゃんと入れ替えできました
.ahkに書く内容って a::
Send,{d} Send,{f} Send,{j} だけでいいんですか?
なんかこれだとD(十字キー↓)、F(十字キー→)で、J(ボタンA)って割り当ててるんで 斜め押しがないような気がするんですけど。
- 914 :名無しさん@お腹いっぱい。:2006/08/23(水) 21:33:10
ID:zLZrXw5L0
- Send, afj
これだけでいいんじゃまいか
- 915 :911:2006/08/23(水) 21:39:23
ID:52TsQxrC0
- >>914
a::Send, dfj
をsenddfj.ahkで保存してやって見ましたがダメでした_| ̄|○
書き方間違ってますか?
- 916 :名無しさん@お腹いっぱい。:2006/08/23(水) 21:52:13
ID:el4zMw010
- send,{d down}{f down}{d up}j{f up}
あとSetKeyDelayの値とか。
- 917 :911:2006/08/23(水) 22:22:39
ID:52TsQxrC0
- >>916
これってaボタンにこのコマンドを登録するには a::send,{d
down}{f down}{d up}j{f up}って a::はいらないんですか?
- 918 :911:2006/08/23(水) 23:40:00
ID:52TsQxrC0
- どなたか!
- 919 :名無しさん@お腹いっぱい。:2006/08/23(水) 23:42:40
ID:Y+tDCBhY0
- >>918
試せば分かるでしょ。
- 920 :911:2006/08/24(木) 00:02:41
ID:52TsQxrC0
- a::
send,{d down}{f down}{j down}{d up}{f up}{j up}
でやったらなんとか出るんですけど、時々パンチだけ打ったりします どこがわるいんでしょうか?
- 921 :391:2006/08/24(木) 00:05:02
ID:N+GjQWMF0
- >>920
1時間くらい試行錯誤してみろよ
- 922 :911:2006/08/24(木) 00:07:29
ID:52TsQxrC0
- >>921
了解! く(`・ω・´)行って参ります
- 923 :名無しさん@お腹いっぱい。:2006/08/24(木) 00:22:50
ID:KH7bvAbO0
- てめーSendコマンドの説明読んでないな
- 924 :名無しさん@お腹いっぱい。:2006/08/24(木) 00:38:31
ID:WnBC1VuP0
- どうでもいいけど 2行以上にするなら return入れなさいよ
- 925 :名無しさん@お腹いっぱい。:2006/08/24(木) 01:27:15
ID:9ANH7vkE0
- どうでもいい
- 926 :911:2006/08/24(木) 01:50:07
ID:TebRODsR0
- 全然出来ない・・・
何回か連打してると確実にパンチとか出る
>>923 すみません 読んだけど全然出来ません
>>924 ありがとうございます 入れなくても動くけど入れた方がいいんですね
もうひとつ聞きたいんですが、aキー押したら、Jキー1秒間に20連打とかって出来ますか? a::{j 20}
で1秒間に20連打いきますか?
- 927 :名無しさん@お腹いっぱい。:2006/08/24(木) 03:58:18
ID:KH7bvAbO0
- ディレイの設定次第ではそうなる
- 928 :名無しさん@お腹いっぱい。:2006/08/24(木) 06:41:08
ID:e+RPRV6N0
- 毎度のことだけど合間にpauseが無い性じゃないかと
- 929 :連続で申し訳:2006/08/24(木) 06:41:53
ID:e+RPRV6N0
- sleepでした。すみません
- 930 :911:2006/08/24(木) 16:40:26
ID:TebRODsR0
- >>929
ヘルプ見たけどこれをどう組み込むかが全然分からない
どうやるんですか? Sleep, 1000 ; 1 second SetKeyDelay, 0
- 931 :911:2006/08/24(木) 16:40:56
ID:TebRODsR0
- >>927
出来るんですか、良かった
- 932 :名無しさん@お腹いっぱい。:2006/08/24(木) 19:13:28
ID:WmELH/U20
- とりあえず一回ごとに聞きに来ないで、流行らせるページをきちんと熟読しろ
こないだ落ちてたけど今はもう復旧してるから
- 933 :911:2006/08/24(木) 23:17:24
ID:TebRODsR0
- >>932
見たけど、何がなんだかさっぱり・・・
なんというかもっと書式の具体例が多く載ってるサイトってありませんか?
というか、誰か書いてよ。・゚・(ノД`)・゚・。
- 934 :名無しさん@お腹いっぱい。:2006/08/24(木) 23:25:42
ID:6uORQeeG0
- いい加減自重しろ。only1の存在だか何だか知らんが無知である事ぐらいは恥じてくれ。
- 935 :名無しさん@お腹いっぱい。:2006/08/25(金) 00:10:48
ID:thm//g2H0
- 以後放置かレスするなら丁寧に教えるかどっちかにしてもらえるかな
キリがないから
- 936 :名無しさん@お腹いっぱい。:2006/08/25(金)
00:17:13 ID:1crmFTa/0
- どんどん質問してくれ、ここの人は親切だから答えてくれるよ
- 937 :名無しさん@お腹いっぱい。:2006/08/25(金) 00:30:24
ID:Vi3Seppi0
- 正直、流行らせるのとこのサンプルどんな挙動するのか書いてないから
全然参考にできない。キー置換くらいしかできない人だから・・・
- 938 :名無しさん@お腹いっぱい。:2006/08/25(金) 00:39:39
ID:4nigyMat0
- >>937
書いてないなら試せばいいじゃない。
ちょっとした挙動確認にこのスクリプトマジおすすめ。
ttp://www.autohotkey.com/forum/topic7831.html
- 939 :391:2006/08/25(金) 00:46:09
ID:PBih+xe80
- >>938
このスクリプトいいすね
保存とかしなくても動作確認出来るのか!サンクス
- 940 :名無しさん@お腹いっぱい。:2006/08/25(金) 00:49:13
ID:PBih+xe80
- また名前が残ってたよ。。orz
- 941 :名無しさん@お腹いっぱい。:2006/08/25(金) 08:22:44
ID:XRAU8LtZ0
- もうちょっとモジュール管理とかしやすくならないかな。
自分のコードをそれなりに育ててると他人のコードを導入しにくい。
- 942 :名無しさん@お腹いっぱい。:2006/08/25(金) 09:26:22
ID:CVIA2L5H0
- 月曜日に使い始めて初めて作ったスクリプdがどうにか想定どおりに動いたので記念カキコ
- 943 :名無しさん@お腹いっぱい。:2006/08/25(金)
15:34:19 ID:B5FGjtB30
- AHK使いこなせてる人がうらやましい。
俺が知らないちょー便利なスクリプトがあるかと思うと腹が立つ!
- 944 :名無しさん@お腹いっぱい。:2006/08/25(金) 17:58:08
ID:jUefnTnu0
- >>943
あんなことやこんなことにちょー便利なスクリプト 作って運用してるよ〜
ムフフフ 羨ましかったらがんばりな〜
- 945 :名無しさん@お腹いっぱい。:2006/08/25(金) 19:17:42
ID:zpsuwIMd0
- マウスに機能振付ける程度しかしてねえ。
みんなAHKでなにやってんの?
- 946 :名無しさん@お腹いっぱい。:2006/08/25(金) 19:28:21
ID:PlFbS7d10
- よく使うソフトが存在して非アクティブならアクティブに、アクティブなら非アクティブに。存在しないなら起動する、ってのが一番使ってるのかな?
- 947 :名無しさん@お腹いっぱい。:2006/08/25(金) 19:42:10
ID:i2UrWwt80
- 一番使ってるのは、Alt+英字キーでそれぞれ特定窓のアクティブ化かな
あとはAlt+↑で窓最全面固定、Alt+↓で解除
- 948 :名無しさん@お腹いっぱい。:2006/08/25(金) 19:51:56
ID:hvqw5/0V0
- 俺もウインドウ操作が多いかな。Win+中クリックでアクティブウインドウをシェードが一番お気に入り。
- 949 :名無しさん@お腹いっぱい。:2006/08/25(金) 20:09:30
ID:R2YBf9ek0
- X1,X2にマウスジェスチャ
- 950 :名無しさん@お腹いっぱい。:2006/08/25(金) 20:22:15
ID:wwLtwdLn0
- Winシェード、助けっててば〜もどき、キーボードでのウィンドウ操作(移動、大きさ変更等)、
ホイールリダイレクトとか
後は普通にキーボードランチャとか 一時期 TTBaseをやたらとパクってた
- 951 :名無しさん@お腹いっぱい。:2006/08/25(金) 20:37:43
ID:jUefnTnu0
- 漏れは、DVという動画再生ソフトをコントロールするのに使っている。
DVは動画の特定場面を(始点終点を指定して)ブックマークできるので、 これをAHKを使って外部からコントロールしている。
これで何が出来るかというと、いきなり動画を立ち上げたら 特定場面を繰り返し再生するようなことができる。
用途は
- 952 :名無しさん@お腹いっぱい。:2006/08/25(金) 21:15:26
ID:IrUfF2vB0
- アプリ起動時に何か作業させたいときとか
キーカスタマイズできないアプリ使うときに重宝してる
スクリプトごとにAHKファイルを作って使う事が多いかな フリーソフトはカスタマイズして好みの動作に出来るのにさ
パッケージソフトって融通効かないのが多いよね
- 953 :名無しさん@お腹いっぱい。:2006/08/25(金)
22:20:34 ID:B5FGjtB30
- 俺がよくつかうスクリプトは画面のガンマを明るくしたり暗くしたりするスクリプトかなぁ。
フルスクリーンのゲームとかやるときに重宝する
- 954 :名無しさん@お腹いっぱい。:2006/08/25(金) 23:14:52
ID:wwLtwdLn0
- 毎回決まった操作するソフトのバッチ化とか便利だよな
マウス操作しか受けつけないソフトとかでもエミュレートできるし、ゲーム系は知らんけど
- 955 :名無しさん@お腹いっぱい。:2006/08/25(金) 23:17:29
ID:MlWlsT/U0
- みんないろいろな使い方してるんだね。
自分で作ってこれがないとイヤって気分になったのは
・タスクトレイの不要なアイコンを消す。消したアイコンはGUIで作ったメニューで操作
・コモンダイアログ操作(新規フォルダ作成や上のフォルダへ移動をキーで行える、よく使うフォルダをGUIメニューで選べるなど)
・自作コマンドラインランチャ ・クリップボード拡張に似た定型文貼り付けツール
・ファイルを開くときに起動ソフトを選べるポチエスもどき ・非アクティブ状態の音声プレイヤーをキー操作
・音声ボリュームをキー操作 ・壁紙を10分ごとに変える ・メッセンジャーのアラートをすぐ閉じさせる
こんなとこかな。
- 956 :名無しさん@お腹いっぱい。:2006/08/26(土) 00:02:07
ID:YnG/1Q9h0
- 結構人いるじゃん。普段どこにいるのよw
- 957 :名無しさん@お腹いっぱい。:2006/08/26(土) 00:07:35
ID:+klA55Wk0
- 自慢大会
- 958 :名無しさん@お腹いっぱい。:2006/08/26(土)
00:28:44 ID:JO8noLou0
- いろんなスレで宣伝されてるから結構ひとは増えてるな
- 959 :名無しさん@お腹いっぱい。:2006/08/26(土) 01:04:49
ID:8DCBYvtZ0
- キーロガ(ry として・・・
- 960 :名無しさん@お腹いっぱい。:2006/08/26(土) 02:36:43
ID:X/Ib7Ykp0
- ひでえw
- 961 :名無しさん@お腹いっぱい。:2006/08/26(土) 08:45:01
ID:m3e78oi50
- スレのまとめサイトを作るときの省力化に使ってる
スレの書き込みをコピーすると、自動でまとめの形式に整形してペーストできるようにしたりとか
- 962 :名無しさん@お腹いっぱい。:2006/08/26(土) 15:17:13
ID:wHPKaZ6r0
- >>955
>>タスクトレイの不要なアイコンを消す
これ便利そうですね どんな感じで実装したか教えていただけませんか?
#NoTrayIconがそれ系の設定かと思ったんですが 自身のアイコンしか設定できないみたいですね
- 963 :名無しさん@お腹いっぱい。:2006/08/26(土) 16:29:27
ID:JCJaH2650
- 流行らせるページに置いてあるっしょ
- 964 :名無しさん@お腹いっぱい。:2006/08/27(日) 00:32:45
ID:ZEntdSAc0
- >>963
見落としました、ありがとうございます。
- 965 :911,913,920:2006/08/27(日)
01:33:14 ID:HA7NngEi0
- もうなんか全然出来ません_| ̄|○
どなたかキー設定はこれとしてどのように書くか教えてください 上=E
左=S 下=D 右=F パンチ=J
波動拳コマンド(下→右下→右+J)←最後の右と同時にJ押す
ため技(左2秒間押しっぱなし→右+J) 連射(Jボタン1秒間に20連射)
- 966 :名無しさん@お腹いっぱい。:2006/08/27(日) 03:04:25
ID:Avw5cK+C0
- >>965
教えてあげたいけどもうなんか全然出来ません_| ̄|○
- 967 :名無しさん@お腹いっぱい。:2006/08/27(日) 03:13:42
ID:hasAzi8a0
- >>965
UWSCでその操作を記録する ↓ 再生する ↓
- 968 :名無しさん@お腹いっぱい。:2006/08/27(日) 05:01:24
ID:m+fbBZjP0
- >>967
> >>965 > UWSCでその操作を記録する > ↓
> 再生する > ↓
じゃあまずJボタン1秒間に20連射することからはじめなきゃな
- 969 :名無しさん@お腹いっぱい。:2006/08/27(日) 09:50:26
ID:pdM9eWxw0
- > Jボタン
ボタンかよwww
- 970 :名無しさん@お腹いっぱい。:2006/08/27(日) 16:24:32
ID:nyrLHg0T0
- 悩むよりパッド買ったほうが早いんじゃねえ?
- 971 :名無しさん@お腹いっぱい。:2006/08/27(日) 23:46:40
ID:HXc/5fNb0
- >>970
正論だな 1000円以下で買えるんだし、
あれこれ悩む時間と比較したらやすいもんだ
というか、レスの流れみてると一生スクリプト組めそうもないし
- 972 :名無しさん@お腹いっぱい。:2006/08/27(日) 23:57:30
ID:hasAzi8a0
- 家庭用ゲーム機の格闘ゲームを買う
↓ PCのことは忘れる
- 973 :942と961:2006/08/28(月) 08:50:44
ID:Is6v/MF40
- >>942
のように言っておきながら、いざ実際に使ってみるとまったく動かなかったり…
〜1 ToolTip, *加工中* Sleep, 200 BlockInput, On
send, {Lbutton Down} send, {Lbutton Up} Sleep, 50 Send,
w Sleep, 50 Send, a Sleep, 50 〜2 ClipSaved :=
ClipboardAll Run,E:\softwares\refo\refo.exe
E:\softwares\refo\recipe\■■■■_resban.rrf Sleep, 200 FileAppend,
%Clipboard%, E:\■■■■_temp.rrf 〜3 Sleep, 200 Clipboard :=
ClipSaved Run,E:\softwares\refo\refo.exe
E:\softwares\refo\recipe\■■■■.rrf Sleep, 200
Run,E:\softwares\refo\refo.exe E:\■■■■_temp.rrf Sleep, 200
FileDelete, E:\■■■■_temp.rrf ToolTip, BlockInput, Off
- 974 :942と961:2006/08/28(月) 08:51:44
ID:Is6v/MF40
- Janeでレスの全文を自動でコピー(〜1まで)、それをセーブしてから
クリップボードの書き込みからrefoで2次加工をするためのマクロを作成してファイル化(〜2)。
〜1でセーブしておいた全文を復活させrefoで1次加工したあと〜2で作ったマクロで2次加工。 〜2のマクロを消して完了
正規表現ではちょっとやりにくいことをさせてるんで その場でマクロを作成してテキストを加工するという流れ。
USBメモリにexe化して使ってるが、 家のw2kでは問題なく動くんだが出先のxpの入ったpcだとロクに動かない…
- 975 :942と961:2006/08/28(月) 09:52:32
ID:Is6v/MF40
- >家のw2kでは問題なく動くんだが出先のxpの入ったpcだとロクに動かない…
と思ってたが、実際使うのと同じような環境で使ってみると 家のPCでもやはりうまく動かないことが多い…
どうすればいいのじゃ
- 976 :名無しさん@お腹いっぱい。:2006/08/28(月) 10:09:50
ID:qnqCJlGT0
- 昔のヴァージョンだとFileAppendで
存在しないパスを指定してもファイルが新規作成されなかったけど
XpでのAHKヴァージョンはどう?
あとRunWAitでREFOを終了を待ってみるとか
>Run,E:\softwares\refo\refo.exe E:\■■■■_temp.rrf
>Sleep, 200 >FileDelete, E:\■■■■_temp.rrf
ここで間に合わないと削除の方が早くなるかも
- 977 :名無しさん@お腹いっぱい。:2006/08/28(月) 23:13:58
ID:bfA0G0oq0
- http://la.ma.la/blog/diary_200608281736.htm
まらたん万歳
- 978 :名無しさん@お腹いっぱい。:2006/08/29(火) 00:49:37
ID:sj53R3ZL0
- マウスの中ボタンでアプリの切り替えをおこなおうとおもい、
いろいろ試したのですがうまく操作を受け付けてくれません。
MButton::AltTabMenu
↑を起点にして、sendとかいろいろしてみたのですがうまくいきません。
どうか知恵をおかしください。
- 979 :942と961:2006/08/29(火) 08:55:42
ID:4kzVANcN0
- >>976
>XpでのAHKヴァージョンはどう?
最新版の入った家のPCで作ったexeをUSBメモリに入れて使っていますので そっちの問題ではないと思われ
refo使用後に必ずRunwait、それからSleepを全動作の間に狂ったようにはさみまくってどうにか成功率が上がりました
…といっても10%以下だったものが50%くらいにですが。
微調整すれば期待通りに動くと信じていじってみます
- 980 :名無しさん@お腹いっぱい。:2006/08/29(火) 10:00:48
ID:vaG1joB40
- 何か別のクリップボード監視系ソフトが入ってるとか
- 981 :942と961:2006/08/29(火) 12:32:46
ID:1byQz9JE0
- tomoclipというソフトは使ってますが、
使用を止めてみても変化がありませんでした。
- 982 :名無しさん@お腹いっぱい。:2006/08/29(火) 12:52:58
ID:vaG1joB40
- あとはFileAppendで時間がかかってるという線かな
これもWait出来ればいいんだけど。
FileGEttimeとかIfExistとかで 書き込みが終了してファイルが解放されたことを調べられないかな?
- 983 :名無しさん@お腹いっぱい。:2006/08/29(火) 17:23:41
ID:eGhPSUa50
- MsgBoxデバッグ
- 984 :名無しさん@お腹いっぱい。:2006/08/30(水) 10:10:31
ID:ZRSPoaox0
- >>978
中央ボタンがマウスドライバかなんかで
別なのにのっとられてるんじゃないの。 logitech の setpoint なんかだとそうだよ。 設定で直せる。
- 985 :名無しさん@お腹いっぱい。:2006/08/30(水) 19:23:03
ID:2Q5vZD5n0
- >>984
レスありがとうございます。
サンワのマウスつかってます。
ドライバがくそです。ハードは軽くて、ボタンとかも押しやすいんだが……
やっぱりMSのマウスかな。
- 986 :911,913,920,965:2006/08/30(水)
20:11:37 ID:YWVqs1GT0
- 誰か〜。・゚・(ノД`)・゚・。
- 987 :名無しさん@お腹いっぱい。:2006/08/31(木) 12:04:34
ID:RRrBfgN00
- まだいたのか・・・
- 988 :名無しさん@お腹いっぱい。:2006/08/31(木) 13:10:44
ID:ho1dZPPmO
- >波動拳
920じゃdキーを押したまま(downのまま)jキーを押してる。dを離してからjだろ?
>ため技 sを押してから2000ミリ秒sleepしてsを離してfとjを押せ。
>連射
SetKeyDelayを適当に設定して{j 20}。
- 989 :名無しさん@お腹いっぱい。:2006/08/31(木) 13:19:57
ID:zsrklxdL0
- send,{した down}{みぎ down}{した up}{パンチ down}{みぎ up}{パンチ up}
こうじゃないの。
あとは必要なら間にスリープ入れてタイミング取る。
- 990 :名無しさん@お腹いっぱい。:2006/08/31(木) 13:20:20
ID:J2AR2qUd0
- MButton::
RButton:: Hotkey,LButton,MRtoLButton
If 条件 ジェスチャー発動 Else キャンセル処理
Hotkey,LButton,Off Return
MRtoLButton:
Lジェスチャープラス Return
こんな感じで、普段 LButton は拾わず、MButton か
RButton が押された時だけ LButton を Hotkeyコマンドで登録して MButton or RButton
始動のジェスチャーに LButton を からめたいんだが、LButton が登録されず どうしても上手くいかない。 (MR ,
MM , RMMM , R→M↑ 等のジェスチャーは上手くいっている)
なぜだろう?
- 991 :990:2006/08/31(木) 13:52:02
ID:J2AR2qUd0
- 自己解決・・・・・・たぶん。
- 992 :名無しさん@お腹いっぱい。:2006/08/31(木) 15:04:24
ID:skD9nj7X0
- BuildWait, NextThread
- 993 :911,913,920,965:2006/08/31(木)
20:58:47 ID:zM1AWgyN0
- >>988
>>989 ありがとうございます! >>965の波動拳コマンドはなんとか安定して出るようになってきました 波動拳コマンド
a:: send,{d down}{f down}{d up}{f up}{j down}{j up}
が、ため技が全然出ません。。。 h:: send,{s down}Sleep, 2000{s up}{f
down}{u down}{f up}{u up} こう書いてみたのですが、なんかまったく違う動きをします。
どこが違うのでしょうか?
- 994 :名無しさん@お腹いっぱい。:2006/08/31(木) 21:14:55
ID:VxkuwdTM0
- >>993 このスレも残りわずかだし、乗りかかった船だ。
オマエのミスその1:1行に命令文はひとつしか書けないことがわかってない。
オマエのミスその2:複数行にわたる場合は最後にreturnが必要。
オマエのミスその3:jキーを押すだけならdownとかupとかは不要。
オマエのミスその4:そもそも人生の大切な時期をゲームに費やしている時点で負け組。
以上を踏まえて。
>波動拳⇒自分が書いたものとjキーの扱い方を比べてみろ。 a:: send,{d down}{f
down}{d up}j{f up} return
>ため技⇒命令はsend、sleep、sendと3つあるので3行にならなくてはいけない。 h::
sキーを押下 2秒スリープ sキーを離してfとjを押下 return
- 995 :名無しさん@お腹いっぱい。:2006/08/31(木) 22:30:44
ID:0kJl8rFb0
- 繭スレの奴に比べればかわいいもんだわ。
- 996 :911,913,920,965:2006/08/31(木)
22:56:03 ID:zM1AWgyN0
- >>994
おお、ありがとうございます なんかすごく安定しました
波動拳は、ほとんど余計な動作が入らなくなりました ため技は完璧です
あとは、いくつかのゲームで試したのですが、相性みたいのがあるみたいなので
Sleep入れたりしてこれから試して生きたいと思います。
また、分からなくなったら聞きにきますのでよろしくお願いします。
- 997 :名無しさん@お腹いっぱい。:2006/08/31(木) 22:59:55
ID:LVFk+1qM0
- どういたしまして
またいつでもどうぞ^^
- 998 :名無しさん@お腹いっぱい。:2006/08/31(木) 23:24:22
ID:QM2YH2fS0
- こうしてまた役立たずの低脳が1匹居付いたのであった。
- 999 :名無しさん@お腹いっぱい。:2006/08/31(木) 23:48:21
ID:Ft3Xb2Oa0
- 999
- 1000 :名無しさん@お腹いっぱい。:2006/08/31(木) 23:51:07
ID:UYcjre3V0
- 1000
- 1001 :1001:Over 1000 Thread
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|
|