AutoHotkey Thread 2
..
17:名無しさん@お腹いっぱい。
05/10/22 18:42:36 bbxBVyHG0
>>16
私も初心者ですが、URLリンク(www.autohotkey.com) 首っ引きで落書きして遊んでますよ。
今は試しもせずにここに落書きしますが
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:名無しさん@お腹いっぱい。
05/10/23 00:30:53 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:名無しさん@お腹いっぱい。
05/10/23 01:02:53 F0F64ea40
>>18
コンソールで標準出力取り込みたい場合は
RunWait, %COMSPEC% /C FC /n %FILE1% %FILE2% > %tmpfile%,,hide
詳しい説明知りたかったら、DOS窓開いて cmd.exe /? (9x系は command.com /?)してみれ
20:18
05/10/23 01:06:30 GKt8y+QZ0
>>19
ありがとうございます
21:名無しさん@お腹いっぱい。
05/10/24 04:09:18 a7aA78Tt0
正規表現使うのって無理?
なんか通すなら何がいいかな
22:名無しさん@お腹いっぱい。
05/10/24 06:13:52 EXVZlPHc0
Refoとか URLリンク(www.vector.co.jp)
23:名無しさん@お腹いっぱい。
05/10/24 20:01:21 tAwpBQuA0
やっぱクリップボード使うしか手段はないのか・・・。
24:名無しさん@お腹いっぱい。
05/10/24 20:24:06 2CoEqoGk0
標準出力か直接ファイル書き出しできるツールで出力結果テンポラリに書き出して
FileReadで読み込んだらどうだろう
ツールはperlでもDMonkeyでもWSHでもエディタマクロでも好きなの使いたまい
25:名無しさん@お腹いっぱい。
05/10/24 20:54:53 uNfVf2Yw0
RegExp扱えるDLL(各種)をDllCallで利用するのは無しですか。
26:名無しさん@お腹いっぱい。
05/10/24 21:33:17 PCi80khV0
URLリンク(lukewarm.s101.xrea.com)
ためしに作ってみた。
27:名無しさん@お腹いっぱい。
05/10/24 21:35:54 tAwpBQuA0
oioi!
28:21
05/10/24 21:37:42 a7aA78Tt0
>>22>>26
レス遅れてしまって申し訳ないがサンクス !!
29:名無しさん@お腹いっぱい。
05/10/24 22:31:46 a7aA78Tt0
SpilitPathって「ソ」が入ってるとうまく働かないみたいなんですが・・・・
他にダメ文字ってあります?
30:29
05/10/24 22:35:41 a7aA78Tt0
よく調べずにすみません。
一般的に言われてる通り、2バイト目に \ を含むとダメなようですね。
31:名無しさん@お腹いっぱい。
05/10/24 23:17:32 xz8pIzwD0
窓使いの憂鬱の &EditNextModifier のような機能を持たせる記述はありますかね。
以下,窓使いの憂鬱の Manual から &EditNextModifier の説明です。
----------------------------------------------------------------------------
次にユーザーがキーを入力した時に、モディファイヤ が押されていることにします。例えば、
key ESC = &EditNextModifier(M-)
とすると、Alt + X などを ESCAPE X などで代用することが可能になります。
-----------------------------------------------------------------------------
32:名無しさん@お腹いっぱい。
05/10/25 01:18:37 C2fzdx1p0
ダメ文字回避することって公式で頼まないと無理?
33:名無しさん@お腹いっぱい。
05/10/25 02:25:47 8o+XQN/n0
多分むかし誰かが頼んだと思う
でも英語圏だと全然無意味だし
日本人とかがソース提供しないと無理じゃないかな
34:名無しさん@お腹いっぱい。
05/10/25 05:46:49 zWdEJo5k0
ここや流行らせるBBSで話題に上がってるのは何度も見たけど
実際に本家に特攻した人いたんだっけ?
(IME云々のあたりはサンプル送ろうかって話も出たけどSendMessageでカタが付いたので
結局フィードバックはしなかった筈)
35:名無しさん@お腹いっぱい。
05/10/26 22:27:19 nd14Kelo0
ゲームオプションを開こうと↓のように記述したのですが、上手く開けません。
Run,c:\windows\rundll32.exe shell32.dll,Control_RunDLL C:\WINDOWS\SYSTEM\JOY.CPL
どこか足りない部分でもあるのでしょうか?
36:名無しさん@お腹いっぱい。
05/10/26 22:29:53 MJ0XX+Ib0
,
を
`,
でエスケープすれば?
37:名無しさん@お腹いっぱい。
05/10/26 22:33:41 nd14Kelo0
無事開くことができました。
即レスありがとうございました。
38:名無しさん@お腹いっぱい。
05/10/27 11:52:21 R8o0MbA00
--- test.ini ------
[test]
testpath = %A_MyDocuments%\Script
-----------------
IniRead, testpath, c:\test.ini, test, testpath ,
変数testpath中の %〜%部分を展開させる方法ってありますか
StringReplace,testpath,testpath,`%A_MyDocuments`%,%A_MyDocuments%
内容が固定で予測できるものなら↑で置換えられるけど
環境変数とかもフレキシブルに参照できたらなぁと
39:名無しさん@お腹いっぱい。
05/10/27 13:32:18 u/F9vgSO0
質問です。
URLリンク(www.autohotkey.com)
の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:名無しさん@お腹いっぱい。
05/10/27 17:54:25 rPavX0hw0
Shift::
を
+Shift::
で一応出来た。これが正しいのかは知らんけど。
ペイント:押してる間ちゃんと描画可能であることを確認。
エクスプローラ:押してアイコンのドラッグ可能であることを確認。
Spy++で一応メッセージもみてみたけど多分大丈夫だと思う。
41:名無しさん@お腹いっぱい。
05/10/27 18:14:57 Z0Jib14Q0
>>38
Transform,Derefでできる気がする
42:38
05/10/27 21:26:36 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:名無しさん@お腹いっぱい。
05/10/27 21:45:02 wCR+8YoN0
いつのまにか1.0.40.03 になってる
44:名無しさん@お腹いっぱい。
05/10/28 09:33:32 A/rBIdCZ0
>>43
でもZIPファイルは落とせないね!
45:名無しさん@お腹いっぱい。
05/10/29 00:58:05 XDFu3HNG0
Set Win = WScript.CreateObject("Shell.Application")
'Win.MinimizeAll '全ウィンドウを最小化
'Win.UndoMinimizeALL 'ウィンドウ操作を元にもどす
'Win.TileVertically 'ウィンドウを左右に並べて表示
'Win.TileHorizontally 'ウィンドウを上下に並べて表示
Win.CascadeWindows ' ウィンドウを重ねて表示
こんなvbsをAHKで賢くやるほうほうはないですかね。
(vbsはコンパル時間がうざい)
46:名無しさん@お腹いっぱい。
05/10/29 01:13:06 Yt1MOkGO0
なにを言ってるのか解らんのだが・・・
47:名無しさん@お腹いっぱい。
05/10/29 11:28:39 DzqBi16s0
解像度を取得して
WinSetで並べる
48:名無しさん@お腹いっぱい。
05/10/29 12:27:47 6hUgk4ep0
vbsで何でコンパイルが必要なのかわからん、あれもスクリプトやろ
全最小化と元に戻すのはまんまのがある、コマンド調べろ
並べて表示、重ねて表示はタスクバーのコンテクストメニューから選べるので
その辺をエミュレートするとか。
49:名無しさん@お腹いっぱい。
05/10/29 12:48:18 HP8QDb5t0
LButtonを押した、離したをキーで代替したいのですが
w:: ;
Send,{LButton Down}
return
まではできたのですが、wキーを離したというイベントは取得できないのでしょうか?
???:: ;
Send,{LButton Up}
return
50:名無しさん@お腹いっぱい。
05/10/29 12:56:44 e8EHHc6U0
インタープリタ言語って実行するたびコンパイルしてるみたいな感じなんでしょ?
そんときのウェイトがダルいっつってんだと思うけど、俺も>>48に同意
VBSが必要な理由がわからない
51:名無しさん@お腹いっぱい。
05/10/29 13:02:30 e8EHHc6U0
>>49
流行らせるページにそのものズバリで解説されてるよ
NT系限定みたいだけど
52:名無しさん@お腹いっぱい。
05/10/29 13:31:01 HP8QDb5t0
>>51
目を通してみたつもりだったんですが見落としてました。
NTで検索したら見つかってこれでできました。
ありがとうございます。
w:: ;
Send,{LButton Down}
return
w up:: ;
Send,{LButton Up}
return
53:名無しさん@お腹いっぱい。
05/10/29 16:44:12 +/XWPeiP0
>>40ありがとうできますた。
+Sift::
とか、なんか裏技っぽいですねぇ
54:名無しさん@お腹いっぱい。
05/10/29 17:10:19 6hUgk4ep0
>>50
>45は vbs → ahkに移行したいって内容だし、漏れはvbsが不要とは言ってない
>実行するたびコンパイルしてるみたいな感じ
言いたいことは大体わかるが、コンパイルって「実行前に行う構文チェック」とは違うから。
コンパイルとはソースをオブジェクトコードに翻訳する作業のこと、
スクリプト(インタプリタ)言語は実行時に逐次処理するのでオブジェクト変換は行われない。
と思ったら、wikipediaに↓の記述があった
>インタプリタの中には、実行直前に一度ソースコードを中間的なコード(中間言語)に変換し、
>それを逐次解釈するものもある
Wikipedia項目リンク
vbsがどうなのかは知らん
55:名無しさん@お腹いっぱい。
05/10/30 04:22:18 /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:名無しさん@お腹いっぱい。
05/10/30 05:09:41 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:名無しさん@お腹いっぱい。
05/10/30 05:58:30 CU8CuHjq0
>>56
タイマーでGui,Hideを1秒後に1回だけ実行させるように取り計らう
58:名無しさん@お腹いっぱい。
05/10/30 06:00:59 CU8CuHjq0
>>55
適当に間空けてみたら?
59:56
05/10/30 06:04:03 TyhuAUFb0
>>57
なるほど、こんな方法があったんですね。
ありがとうございます。
ところで、これのGUIウィンドウがタスクバーに表示されないようにできないでしょうか?
60:55
05/10/30 06:53:42 /Ikc9y6N0
>>58
Clipwaitを入れたりはしてたんですが
そういえばSleepはやってませんでした。
ClipWait
Sleep, 250
ぐらいを挟んだらたまにコケますがうまくいくようになったようです。
とりあえずこれで微調節してみようと思います。
ありがとうございました。
61:名無しさん@お腹いっぱい。
05/10/30 08:44:09 mpnujeVB0
>>59
Gui,+/-Option
>>60
ClipWaitはクリップボードを空にしてからじゃないと意味がないよ
内容が書き換わったか、ではなくクリップボードに何か入っているかを見てるから
62:56
05/10/30 14:09:58 TyhuAUFb0
>>61
見あたらないんですが・・・。
どのオプションでしょうか?
63:56
05/10/30 14:23:56 TyhuAUFb0
見つかりました。
+ToolWindowですね。すみませんでした。
64:56
05/10/30 14:33:52 TyhuAUFb0
もう1つすみません。
+E0x00000020を入れても透過ウィンドウにならないです。
65:名無しさん@お腹いっぱい。
05/10/31 13:05:42 auv8fr6b0
つWinSet
66:名無しさん@お腹いっぱい。
05/11/01 18:03:24 ozgXNR060
>>56
完成したらUPしてくれませんか?
67:名無しさん@お腹いっぱい。
05/11/01 18:40:57 JPnPn5j40
>>56
>>66
URLリンク(www.autohotkey.com)
これのHotkey部分を書き換えれば望みの動作になるかと。
68:56
05/11/01 22:04:36 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
05/11/01 22:05:59 hYFbhs5k0
> >>56の時点でできた上のスクリプト
>>59の時点でできた上のスクリプト
間違いです
70:名無しさん@お腹いっぱい。
05/11/01 22:29:37 so0ECgfj0
>>68
下のようなエラーになります。
URLリンク(matsuya.dyndns.tv)
71:70
05/11/01 22:30:27 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:名無しさん@お腹いっぱい。
05/11/01 23:10:10 B9WSZONo0
>>71
7行目(以降)のどこか(ていうか行頭)に不正な文字がある。
2ちゃんに貼ってて整形が崩れずインデントが保たれている段階で気付こうな
73:70
05/11/01 23:36:01 so0ECgfj0
>>72
thx。全角スペースが入ってた。
74:名無しさん@お腹いっぱい。
05/11/02 00:05:41 k4q1X8S+0
全角スペースいれるのやめない?
ちょっと見にくいだけじゃん。コピペめんどくせ。
75:名無しさん@お腹いっぱい。
05/11/02 00:17:11 Pn1A6Moc0
>>74
どっちにしろ、コピペしたのをそのまま使わず
後で自分好みにタブ入れたり改良したり変数変えたりするから
掲示板上での見やすさを優先してほしい。
76:名無しさん@お腹いっぱい。
05/11/02 01:04:10 1s79aisd0
なんか裏技的にうまくインデントを表現できないかね
77:名無しさん@お腹いっぱい。
05/11/02 01:04:59 Oarl5uV80
漏れは自分が質問するときは除去してるけど、人にレス付ける時は
敢えて全角スペースでインデント入れる場合が多いな。
特にそのままAutoHotkey.iniにコピペして使いそうな相手なら尚更
あぷろだに上がってる投稿モノの中に、全然インデントされてないスクリプトが
いくつかある。多分元々プログラミングしない人で掲示板でしか
人のソース見てないとインデントの概念自体がないんだと思う。
コーディングルールは個人の好き好きではあるけど、AHKの場合は
人から貰ったソースを手を入れずにそのまま使えるケースは少ないし
他人が見てもわかりやすい記述は知ってて欲しいと思うので
78:名無しさん@お腹いっぱい。
05/11/02 02:11:33 L1tQPzXC0
スペース0
スペース1
スペース2
スペース3
スペース4
79:名無しさん@お腹いっぱい。
05/11/02 02:13:48 L1tQPzXC0
>>78
80:名無しさん@お腹いっぱい。
05/11/02 02:15:47 L1tQPzXC0
スペース0
 スペース1
  スペース2
   スペース3
    スペース4
81:名無しさん@お腹いっぱい。
05/11/02 02:23:32 L1tQPzXC0
スペース0
スペース1
スペース2
スペース3
スペース4
>>78はコピペミス。
 または と書くと、半角スペースに変換される。
半角スペースが連続しても1個に変更されてしまうことがないみたい。
82:名無しさん@お腹いっぱい。
05/11/02 03:25:15 yA1z2EuC0
ギコナビで特殊文字変換してる
83:名無しさん@お腹いっぱい。
05/11/02 17:33:22 y7CD98+Z0
>>77
世の中にはインデントがないほうが見やすい人も存在する
84:名無しさん@お腹いっぱい。
05/11/02 18:48:13 Oarl5uV80
>>83
>コーディングルールは個人の好き好きではあるけど、AHKの場合は
>人から貰ったソースを手を入れずにそのまま使えるケースは少ないし
>他人が見てもわかりやすい記述は知ってて欲しいと思うので
85:名無しさん@お腹いっぱい。
05/11/02 20:23:36 5+koFFKw0
>>84
>>83
86:名無しさん@お腹いっぱい。
05/11/02 21:00:58 mmYbLWLG0
>>84-85
#SetThreadMood, Mataari
87:名無しさん@お腹いっぱい。
05/11/03 04:45:03 CGo3fQX00
キャプションを非表示にすることってできますか?
たぶんSendMessageを使うんだろうけど、見つかりません。
88:87
05/11/03 05:08:44 CGo3fQX00
みつかりました。
SendMassageではなくてWinSetだけれど。
WinSet, Style, ^0x00C00000
89:名無しさん@お腹いっぱい。
05/11/03 16:00:33 aDGTml8d0
あるアプリAを起動すると、別のアプリBも自動的に起動するようにするには、どのようにすればよいのでしょうか?
90:名無しさん@お腹いっぱい。
05/11/03 16:16:15 RQBG0Gu80
条件をもっと絞ってくれないとな。
単純な方法から高い連動性を求めるものまでいろいろあるから
91:名無しさん@お腹いっぱい。
05/11/03 16:53:28 aDGTml8d0
アプリAが何らかの方法で起動されると、プロセスを監視していたAutoHotKeyがそれを察知してアプリBも自動的に開くようにしたいのです。
何秒後に開く、とかの指定は必要なく、アプリAを終了したらアプリBも終了する、などの機能も必要ありません。
AutoHotKeyの監視はできれば5分ごとに監視するようにしたいのですが、常に監視するのでもかまいません。
方法をご存じの方がいましたら、お願いします。
92:名無しさん@お腹いっぱい。
05/11/03 17:47:09 GMRToEkf0
#Persistent
Settimer,kansi,5000
kansi:
IfWinExist,A
If hoge = 0
{
{
IfWinExist,B
{
hoge = 1
}
else
{
Run,B
}
}
return
}
else
{
hoge = 0
return
}
こんな感じでいいんでしょうか?
93:名無しさん@お腹いっぱい。
05/11/03 17:49:07 GMRToEkf0
スレの流れからして俺、最低だな・・・。
94:名無しさん@お腹いっぱい。
05/11/03 18:42:44 CgkRLY9O0
あー、Ifがネストしちゃうと漏れは完全アウトだな。
パッと見ではもちろんじっくり考えても全然理解できない。
で、エディタに貼っつけてインデントしてから考えてみたんだけど
一番上位のIfWinExist,A の{ }抜けてるけどいいのんかい?
あと 7,16行の { } に意味なくないか、これ
95:名無しさん@お腹いっぱい。
05/11/03 18:47:37 6IkeUy0z0
>>91
つProcess
96:名無しさん@お腹いっぱい。
05/11/03 20:16:45 IdqDMTZK0
ThumbSenseのように、タッチパッドに触れているかどうかを判定できるようになるといいなあ。
97:名無しさん@お腹いっぱい。
05/11/03 21:22:00 myFIFexE0
TAB使えばいいじゃん
98:名無しさん@お腹いっぱい。
05/11/03 22:56:37 ZNzLxnpo0
もしどなたかソースコード解凍できる人いましたら
ソースからShellExecuteというAPI検索して6個目(=最後)の引数何になってるか
確認していただけませんか?
99:98
05/11/03 23:06:30 ZNzLxnpo0
ごめんやっぱりいいです。
でもやっぱりなんかおかしい。
100:名無しさん@お腹いっぱい。
05/11/04 22:35:21 GuCt95u60
マウスカーソルを変更したり消去するコマンドは無かったorz
ノーマウスカーソルの機能をぱくれると思ったが残念
101:名無しさん@お腹いっぱい。
05/11/05 00:12:48 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状態表示用のアイコン作ってみた
> URLリンク(lukewarm.s101.xrea.com)
>
> 631 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2005/05/25(水) 12:54:38 ID:62rl7YBY
> あ、マウスカーソルに訂正
102:名無しさん@お腹いっぱい。
05/11/05 03:27:14 kQuWg8rN0
dllcallでShowCursorを使えばいけそうだけど
#y::DllCall("User32\ShowCursor", "int", 0)
テストで作ってみても反応無かったorz 助けて
103:名無しさん@お腹いっぱい。
05/11/05 04:50:06 /8hJVayJ0
>>102
それ自分のプロセスのウィンドウにしか利かない
104:名無しさん@お腹いっぱい。
05/11/05 15:21:11 q4T/nF7a0
URLリンク(www.autohotkey.com)
の OnClipboardChange の例にある%A_EventInfo%ですが
誰か解説してほしい・・・
とりあえず、文字やファイルだと1
bmpだと2になるんだが、
文字とファイルの区別はつかないのかな
105:名無しさん@お腹いっぱい。
05/11/05 16:06:10 1+JQ8ek+0
>>104
URLリンク(lukewarm.s101.xrea.com)
106:名無しさん@お腹いっぱい。
05/11/05 16:07:29 1+JQ8ek+0
違った。こっちの下のほう
URLリンク(lukewarm.s101.xrea.com)
107:名無しさん@お腹いっぱい。
05/11/05 16:12:49 1+JQ8ek+0
何度もスマソ、ちなみにクリップボード内のフォーマットはDllCallでAPI使えば取得できる
サンプル URLリンク(d.hatena.ne.jp)
108:名無しさん@お腹いっぱい。
05/11/05 19:25:38 q4T/nF7a0
>>106
ありがとう。
日本語のヘルプ(chm)しか見てなかった・・・すまん
>>107
こっちも参考にしてみる。ありがと
今週初めにAutoHotkey知ったんだがおもしろい。
これでCaps入れ替えができれば完璧なんだが・・・
109:名無しさん@お腹いっぱい。
05/11/05 20:23:00 YtsoQGy80
やっとサッカーチームが!
110:名無しさん@お腹いっぱい。
05/11/05 20:24:40 rpDKFDGY0
戦う相手がいません!
111:名無しさん@お腹いっぱい。
05/11/06 16:38:36 7Hz8Kh6P0
こんなスクリプト書いてくださいってのは、ここ的にアリですか?
112:名無しさん@お腹いっぱい。
05/11/06 17:44:40 PoGd2lip0
(ω・ )ゝ なんだって?
113:名無しさん@お腹いっぱい。
05/11/06 19:45:09 7Hz8Kh6P0
>>112
こんなスクリプト書いてくださいってのは、ここ的にアリですか!!!
114:名無しさん@お腹いっぱい。
05/11/06 19:55:01 FAFXojQr0
/.─┬ /⌒ヽ ┌─┴─┐ . | ヽヽヽ ―┼― .| ヽ | \
/| ┌─┐| ノ  ̄フ .  ̄| ̄ヽ | , | | | \  ̄| ̄ヽ | . |
| └─┘| | ─┼─ ,ノ │ ノ . | \ | ゝ | | ノ │ |/ ̄ヽ
| J ○ J . ノ ヽノ . J \_ レ ノ ヽノ _ノ
_____
____ー┼ー | / _/_
-- 二二_ /~| ̄/ヽ / ヽ | \
 ̄ ヽ | | ノ .| ∨ | / _| | |
| ̄| ノ l____, \ノ ノ (_ノヽ レ
 ̄
115:名無しさん@お腹いっぱい。
05/11/06 19:56:57 0hkV63L40
>>111
いちいちそんな無駄レスせずにさっさと本題書けよ。印象悪いぞ。
過去スレからの流れを見てるとこのスレは自分である程度試行錯誤する人間には
手助けするけど、丸投げは(・A・)イクナイ!って感じだからそれを踏まえた上でヨロシク。
116:名無しさん@お腹いっぱい。
05/11/06 21:48:46 A0mk0Y990
横やりですいません。>>102のヒントお願いします。。。
117:名無しさん@お腹いっぱい。
05/11/06 23:40:35 z+zoLLJT0
>>111
無し
ヒントを教えてくれとかならまだしも、丸投げはダメだろ
118:名無しさん@お腹いっぱい。
05/11/07 00:15:52 Lx44qPKh0
>>116
>103で答えは出ていると思うのだが
119:名無しさん@お腹いっぱい。
05/11/07 04:00:09 S2Pl78Ca0
>>111
とりあえず、なにがしたいんだ?怒らないから言ってみなさい
120:名無しさん@お腹いっぱい。
05/11/07 18:35:53 7cDsa3uM0
>>111
やっぱり怒る
121:名無しさん@お腹いっぱい。
05/11/07 20:21:01 rV/rS1+v0
^p::
IfWinActive, ahk_class Notepad
Send, ^o
else
Send, ^p
return
こんな感じのスクリプトを書いているんですが、指定ウィンドウ以外で無限ループしちゃいます。
こういう時どうしたらいいんでしょうか?
122:名無しさん@お腹いっぱい。
05/11/07 20:39:04 PUaC//G70
>>121
一行目に
#UseHook
を追加
123:名無しさん@お腹いっぱい。
05/11/07 21:58:01 Lx44qPKh0
$^p::
124:名無しさん@お腹いっぱい。
05/11/07 23:09:43 rV/rS1+v0
>>122-123
無限ループしないようになりました。
ありがとうございます。
125:名無しさん@お腹いっぱい。
05/11/07 23:58:04 d1b3VXPA0
>>117
では、ヒントをお願いします。
>>119
優しいお言葉どうもです。書いてみます。
起動していたらアプリをアクティブ、起動していなかったらアプリを起動。
これは出来ました。これにさらに、Ctrlを押していたらアプリを終了。
Altを押していたら、アプリを最前面にをトグルということをやりたいです。
Win + H >秀丸を起動、起動していたらアクティブ。
Win + Ctrl + H>秀丸を終了、起動していなかったら何もしない。
Win + Alt + H>秀丸を最前面に、起動していなかったら起動して、最前面に。
これ単純にすべてのホットキーを設定しちゃえばいいのですが、
いろいろなアプリに対応させたいので、関数っていうんですか?
処理をうまいことまとめられたらいいなぁとおもいまして。
>>120
ひぃ…そこをなんとか。ヒントだけでも。
126:名無しさん@お腹いっぱい。
05/11/08 01:56:56 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:名無しさん@お腹いっぱい。
05/11/08 07:16:19 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:名無しさん@お腹いっぱい。
05/11/08 08:00:45 AQU/ZuaD0
「=」と「:=」ってどう使い分けるんですか?
129:名無しさん@お腹いっぱい。
05/11/08 10:08:44 U5/qb0is0
>>128
一緒
130:128
05/11/08 10:19:07 AQU/ZuaD0
>>129
そうなんですか?
あとIfの時()で囲むか囲まないかってのもいまいちよくわかりません。
131:名無しさん@お腹いっぱい。
05/11/08 10:32:21 w31TiB9U0
>>128
a:=A_AhkVersion
と
a=%A_AhkVersion%
だとaが同じ内容になる。
d=%abc%xyz%%
ってやりたくても出来ないので、こんなときは
b:=adc%xyz%
これで似たような意味になる。こう解釈してんだけど間違ってたらごめん。
132:131
05/11/08 10:34:58 w31TiB9U0
ごめん。
d=%abc%xyz%%→b=%abc%xyz%%
間違えました。
133:名無しさん@お腹いっぱい。
05/11/08 13:01:31 x8v+5Rvv0
>>126
>>127
ずばり答えまで書いてくださって、ありがとうございます。
内容を解釈しながら、改良してみます。
134:名無しさん@お腹いっぱい。
05/11/08 13:16:32 OmlMtwX30
>>127
あー、寝ぼけてるな・・・
hotkeyが関数に対応してたとしても別段コード変わらんよな・・
>>133たしかに、ヒントじゃないなw
がんばってね
135:名無しさん@お腹いっぱい。
05/11/08 15:15:11 ZVndp7Og0
>>129
おいおい。。。
違うやろ、ifの = と == は文字列比較以外はほぼ一緒だけど
>131の解釈でだいたい合ってる
136:128
05/11/08 19:12:51 AQU/ZuaD0
「=」と「:=」の使い分けはわかりました。
「If」と「If()」は?
137:名無しさん@お腹いっぱい。
05/11/08 19:27:52 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
05/11/08 19:32:07 AQU/ZuaD0
>>137
なるほど。
ありがとうございました。
139:名無しさん@お腹いっぱい。
05/11/08 22:48:46 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:名無しさん@お腹いっぱい。
05/11/08 22:50:31 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:名無しさん@お腹いっぱい。
05/11/08 23:08:59 BqfIoljv0
いや、取りこぼしが発生するのは LoopやSettimerで自力監視する場合の話
Hotkeyコマンドは動的に割り当ててるだけでトリガはAHKまかせだし
問題ない筈だが
142:名無しさん@お腹いっぱい。
05/11/08 23:28:51 BqfIoljv0
Returnを2回重ねてるところと Exit使ってるのの意味がわからんのだが
toggleWindow:
StringRight, key, A_ThisHotkey, 1
appTitle := appTitle%key%
ifWinExist, %appTitle%
WinSet, Topmost, TOGGLE, %appTitle%
Return
でいいんじゃね? (If あるんで全角インデントした)
143:名無しさん@お腹いっぱい。
05/11/08 23:38:44 x8v+5Rvv0
>>141
なんか反応が鈍い時があるんですよね。
>>142
メタメタだ…。
144:名無しさん@お腹いっぱい。
05/11/09 07:51:17 HqHg5smR0
ていうかappTitleにどんな値指定してんだか知らんけど
秀丸みたいに多重起動できるアプリだとウィンドウを限定できねんじゃね?
判定は ifWinExist じゃなくて ifWinActiveにして
任意のウィンドウがアクティブなときに動作させないと誤爆するな
あと秀のようにアプリ自体がTopmostの機能をもってる場合はSendで
ショートカットキー投げるとかしてそっち使ったほうが話は簡単かもしれんよ
145:名無しさん@お腹いっぱい。
05/11/09 15:43:04 +AeGgYao0
>>143秀丸落として試してみたが、うちでは問題なくトグル出来るが・・・
それと>>141が言うようにhotkeyコマンド使って設定した場合、ホットキーラベルで設定したのと同じ動作になるはずで、
反応鈍いって事はないだろう。ホントにそうならAHK自身のバグとしか考えられん。
>>144
ifWinExistでもちゃんとできるみたい。
同タイトルのウィンドウが存在した場合、まず最前面ウィンドウが優先され、
最前面がない場合と複数最前面がある場合、アクティブの時にはそのウィンドウに、
非アクティブの場合、最後にアクティブだったウィンドウに適用されるっぽいな。
違ったらごめん。
気になったのが、非アクティブの最前面ウィンドウを非最前面にしたときに
一度そのウィンドウをクリックしてやらないと、
他のウィンドウクリックしても後ろに行ってくれないが、
ここらへんはOSの仕様のような気がする。
topmostトグルするまえにWinActivateつかってアクティブにしてやれば一応解決するが。
146:名無しさん@お腹いっぱい。
05/11/10 21:56:38 RwGjNG9H0
ウィンドウ指定の条件をandじゃなくてorにすることはできないでしょうか。
IfWinActiveとかを何度も書かなきゃだめですか
147:名無しさん@お腹いっぱい。
05/11/10 22:01:45 We9gQrEX0
>>146
URLリンク(lukewarm.s101.xrea.com)
148:名無しさん@お腹いっぱい。
05/11/10 22:25:50 RwGjNG9H0
>>147
なるほど。ウィンドウのタイトルを変数に入れてIf var inでマッチリストと
比較するわけですね。
or条件を使うときはIfWinActiveではなくこれを使ってみることにします。
ありがとうございました。
149:名無しさん@お腹いっぱい。
05/11/11 03:42:19 khVemMEi0
タイマー作るのって無理?
InputBoxで入力した時間Sleepしてアクションを起こすってことはできるけど
残り時間の表示をどうやればいいのかわからない。
150:名無しさん@お腹いっぱい。
05/11/11 04:01:08 xFnBvB+A0
>>149
time=%A_Sec%
settimer,count,1000
count:
rest:=time-A_Sec+30
tooltip,%rest%
return
esc::exitapp
こんなんでええのだろうか
151:149
05/11/11 04:05:08 khVemMEi0
>>150
なるほど!
これはは思い浮かばなかった。
迅速なレスありがとうございます。
152:149
05/11/11 04:10:33 khVemMEi0
あ、いやちょっと待って。
よく考えたら全然ダメじゃん。
数秒確認しただけでレスしちゃった。
153:名無しさん@お腹いっぱい。
05/11/11 04:24:46 xFnBvB+A0
returnの前にこれ追加しといて
if rest=0
exitapp
的外れだったらすまん。つーか何がダメなんかわからん、とりあえずカウントダウン表示してみただけだし。
154:129
05/11/11 04:31:30 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:名無しさん@お腹いっぱい。
05/11/11 05:53:00 FTok57/z0
A_TickCountつかえ
156:名無しさん@お腹いっぱい。
05/11/11 07:51:44 A6pk7vW20
時間関係の計算はよくわからんルールになってるぞ
一人で脳使ってないでヘルプ熟読してきなされ
157:名無しさん@お腹いっぱい。
05/11/11 18:08:09 KIS/mZVoO
ちょっとくらいヒントをくれてもいいじゃないですか。
158:名無しさん@お腹いっぱい。
05/11/11 18:52:34 A6pk7vW20
とりあえず149はA_Sec参照して何がやりたいんだ?
単純に残り秒数カウントダウンしたいだけなら
dwncnt := 30 ;残り秒数
settimer,count,1000
count:
dwncnt--
tooltip,%dwncnt%
return
きちっと精度上げたいならSetTimerの値を小さくして>155が言うようにA_TickCount使う
159:149
05/11/11 20:12:02 khVemMEi0
○時間○分○秒というタイマーも使えるようにしたかったので
A_TickCountではなく、YYYYMMDDHH24MISSで記述した物からEnvAddでSecondsを指定して
1秒ごとに-1加算するようにしたら上手くできました。
160:名無しさん@お腹いっぱい。
05/11/13 18:02:11 A/9NzbIG0
あるSetTimerがonの時とoffの時で条件分岐って無理?
161:名無しさん@お腹いっぱい。
05/11/13 19:35:11 N8ylNJMv0
タイマーが動いてるかどうかを調べる方法はなかったはず
自分でフラグ変数用意して現在の状態覚えとくようにすればOKだけど
162:160
05/11/13 19:37:47 A/9NzbIG0
>>161
どういうことですか?
163:名無しさん@お腹いっぱい。
05/11/13 19:41:43 5IyRr/ha0
自分で変数を用意する。
164:160
05/11/13 19:53:57 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:名無しさん@お腹いっぱい。
05/11/13 21:50:43 N8ylNJMv0
そう、それか↓みたいにしてもいいし
#A::
If (interval > 0)
{
interval = 0
}
else
{
interval = 3000
}
SetTimer,ABC,%interval%
return
166:名無しさん@お腹いっぱい。
05/11/13 21:52:52 N8ylNJMv0
0だとOFFにならんのか
#A::
If (interval > 0)
{
SetTimer,ABC,OFF
interval = 0
}
else
{
interval = 3000
SetTimer,ABC,%interval%
}
return
167:160
05/11/13 22:19:27 A/9NzbIG0
>>166
なるほど
ありがとうございます
168:名無しさん@お腹いっぱい。
05/11/14 03:42:28 tpTqEc+p0
>+Up::send,{PgUp}
>+Down::send,{PgDn}
>+Left::send,{Home}
>+Right::send,{End}
こんな風に割り当てますよね。
これをあるウィンドウだけは適用したくないのですが、
そういった場合はどう書けばいいんでしょうか?
169:名無しさん@お腹いっぱい。
05/11/14 05:14:00 h9uxRFHg0
>>168
+Up::
WinGetActiveTitle, ActTitle
If(ActTitle <> "割り当てたくないウィンドウタイトル")
send,{PgUp}
return
タイトルで上手くいかなかったらウィンドウハンドル取得して分岐
170:名無しさん@お腹いっぱい。
05/11/15 13:59:54 3R61f5fz0
>>169
どうもです。
169さんの方法だと、一キーずつ割り当てるしかないんですよね。
一気にやる方法があったら、便利だな。
171:名無しさん@お腹いっぱい。
05/11/15 15:34:14 Qg1alPao0
一気にやるってどういう意味だよ。
172:名無しさん@お腹いっぱい。
05/11/15 16:41:57 g/ADYEbp0
+Up::
+Down::
+Left::
+Right::
WinGetActiveTitle, ActTitle
If(ActTitle <> "割り当てたくないウィンドウタイトル")
{
send,{PgUp}
}
return
173:名無しさん@お腹いっぱい。
05/11/15 16:44:53 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:名無しさん@お腹いっぱい。
05/11/15 18:16:51 Qg1alPao0
ヒドスwwwww
175:名無しさん@お腹いっぱい。
05/11/15 18:34:11 Fr3rXntL0
+Up::
Ifwinnotactive,XXXX
Send,{Pgup}
return
これで全部書いたほうが短かくてわかりやすい気がするのだが
176:名無しさん@お腹いっぱい。
05/11/16 01:46:01 EX3GaO8n0
任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか?
わからないなりに調べてみたらShell_NotifyIconというAPIがあるようなので
これをDllCallで呼びせさばできそうな気が。
DLLについてはまったくの初心者なので今奮闘しています。
177:名無しさん@お腹いっぱい。
05/11/16 02:17:34 ExozuSiy0
これって構造体扱えるんだっけ?
構造体扱えなかったらShell_NotifyIconも使えないだろ
178:176
05/11/16 13:41:19 EX3GaO8n0
>>177
URLリンク(lukewarm.s101.xrea.com)
ここの「構造体と配列の扱い」によればできるようなのですが、
いかんせんまだ勉強中なので難しくて
179:名無しさん@お腹いっぱい。
05/11/16 14:43:39 YfyIAE/u0
>>178
うまいこと考えたな〜
180:名無しさん@お腹いっぱい。
05/11/16 16:26:24 ExozuSiy0
構造体は扱えないけど、逃げ道はあるってことか
面倒そうなので漏れはパス
181:名無しさん@お腹いっぱい。
05/11/16 17:08:15 YfyIAE/u0
>>178
べつに難しく考えること無いよ。外部にあるからDllCall使ってロードしてやらなきゃならないだけで、
考え方は普通の関数扱うのと変わらない
とりあえず、そこにある関数コピペすれば構造体に値をセットしたり読み出したりは出来る。
関数の中身は知らなくていい。
一番下のサンプルみれば使い方はわかるはず。
182:176
05/11/16 23:23:04 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:名無しさん@お腹いっぱい。
05/11/18 03:16:50 /PztpgYi0
テキスト入力欄かどうかを取得するにはどうすればいいでしょうか?
If(A_CaretX <> "")だと入力欄でないところでも反応してしまいます
184:名無しさん@お腹いっぱい。
05/11/18 22:11:48 KVZUSxn10
たしかA_CaretXとA_CaretYはエディット以外の場合は
コントロールの左上の座標になるから
そんな感じで弾けばいいと思うよ
185:183
05/11/18 22:16:55 /PztpgYi0
>>184
例えばSleipnirとかJaneとかでテキストを選択してコピーしたら
その位置にキャレットがあると見なしてしまいまして
186:名無しさん@お腹いっぱい。
05/11/19 01:56:22 adRLoPdI0
EDITコントロールか否かの判定はControlGetでLine数を取得してチェックしてる。
非EDIT コントロールの場合 0が返るので
ControlGet,line_cont,LineCount,,%ctl%,ahk_id %hwnd%
if line_cont > 0
{
;テキスト入力欄の処理
}
あとSendMessageで EM_xxx あたりの情報を調べるとか。
URLリンク(www.winapi-database.com)
編集不可だがコントロールはEDIT使ってる場合(AU3_Spy.exeとか)もあるので
そういう場合はどうにかしてLoked状態を確認しないといかんかも知れん
187:183
05/11/19 02:20:34 EUr5m4mr0
>>186
ありがとうございます
ですがライン数取得では上手くいかないものが多くて諦めていましたが、
殆どのクラス名に「Edit」が入っていたのでクラス名取得して分岐するようにしました。
188:名無しさん@お腹いっぱい。
05/11/19 10:46:19 q++McXD/0
>>176
> 任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか?
これぜひ俺も知りたい。
自分が使ってる常駐ソフトはほとんどアイコン非表示にできるが、1つ2つできないのがある。
XP付属の「アクティブでないインジケータを隠す」はあまり好きではないし。
189:名無しさん@お腹いっぱい。
05/11/19 12:11:21 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
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5366日前に更新/298 KB
担当:undef