AutoHotkey Thread 2 ..
[2ch|▼Menu]
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

190:名無しさん@お腹いっぱい。
05/11/19 12:23:12 iPF8NBAy0
一応聞くけどautohotkeyでやりたいって趣旨なんだよね
フリーソフトを使ったら出来るけど

191:名無しさん@お腹いっぱい。
05/11/19 12:24:18 q++McXD/0
>>190
ちなみにそのソフトとは?

192:名無しさん@お腹いっぱい。
05/11/19 13:04:10 z99JDpKz0
使ったことないけどニュースサイトとかで何種類か見た
とりあえず今ぐぐったらコレがあった
常駐しないのがあるかは知らん
URLリンク(www.vector.co.jp)

193:名無しさん@お腹いっぱい。
05/11/19 13:51:07 adRLoPdI0
タスクトレイ アイコン 整理 でググると TrayManager とか Tray Wizard とかTrayExpand とか出てくる。
TrayExpandはソースも公開してるみたいだし、AHKでやりたいなら参考にしてみては?

194:名無しさん@お腹いっぱい。
05/11/19 14:04:50 0di78jxb0
>>182
とりあえず、戻り値ぐらいみれ。

>>189
トレイアイコンの削除するだけならhIconはいらないが、uIDが必要。


まぁ、既存のソフト使ってしまった方がいいようなきもする・・・AHKでやるメリットあまりないような・・

195:名無しさん@お腹いっぱい。
05/11/19 14:32:32 q++McXD/0
TrayExpandが自分には良さそう
これ使うことにします

196:名無しさん@お腹いっぱい。
05/11/19 14:33:46 q++McXD/0
お礼言う前に途中で送信してしまった・・・・

>>192-193
ありがとうございます

197:189
05/11/20 05:00:08 zlspGYDE0
>>194
フォローサンクス ええかげんなレスしてスマンカッタ

198:名無しさん@お腹いっぱい。
05/11/20 06:10:35 i5sKQ9wq0
タスクトレイの項目をメニューで表示させることはできるでしょうか?
フリーソフトでもこういった感じのソフトは自分で探した限り見つからなかったので
知っている方がいたら教えていただきたいのです

199:名無しさん@お腹いっぱい。
05/11/20 10:52:17 u5r0IAMMO
>>198
>>193

200:名無しさん@お腹いっぱい。
05/11/20 17:09:08 9waBFH8F0
SetTimerってAutoHotkey.iniに書いても動かないの?

201:名無しさん@お腹いっぱい。
05/11/20 19:14:54 zlspGYDE0
動くよ

202:名無しさん@お腹いっぱい。
05/11/20 20:09:01 9waBFH8F0
>>201
動くのか・・・

特定のウインドウが表示されたらOKボタンをクリックしたいんだけど
.ahkに書くと動くんだけど、AutoHotkey.iniに書いても動かない
これじゃだめなの?

SetTimer,b,250
return
b:
IfWinActive,Aterm WARPSTAR
{
ControlClick,OK,Aterm WARPSTAR
return
}
return

203:名無しさん@お腹いっぱい。
05/11/20 21:37:35 MfpEbr860
常駐するSetTimerはAutoHotkey.iniの頭に書いて、
サブルーチンをAutoHotkey.iniの終わりに書いてみては
俺はそれで

IfWinActive,リンク先を探す,指定したリンク先は、デスクト
IfWinExist,ahk_class MSBLPopupMsgWClass

などのウインドウを操作できてる

204:名無しさん@お腹いっぱい。
05/11/20 21:41:56 Gk4qhKIS0
多分常駐させてないだけだろ

205:名無しさん@お腹いっぱい。
05/11/20 21:51:08 0DdRRu/u0
SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。


206:名無しさん@お腹いっぱい。
05/11/20 22:49:48 zlspGYDE0
ホットキー指定のないスクリプトは #Persistent入れないと常駐しないから

207:名無しさん@お腹いっぱい。
05/11/20 23:56:30 JR1lWgkn0
>>203-206
ありがとう

>常駐するSetTimerはAutoHotkey.iniの頭に書いて、
>SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。
これだった。無事に動きました。ありがとう

208:名無しさん@お腹いっぱい。
05/11/21 00:06:01 FWsdNj/u0
iTunesを操作させるにはどうしたらいいですかね?


209:名無しさん@お腹いっぱい。
05/11/21 00:18:49 5v2PJ0mq0
努力したらいいと思うよ

210:名無しさん@お腹いっぱい。
05/11/21 00:39:50 ZVwQTLlG0
>>208
曖昧すぎ。

211:名無しさん@お腹いっぱい。
05/11/21 02:04:10 Nz+dKwd30
>>210
質問がな

212:名無しさん@お腹いっぱい。
05/11/21 21:26:10 OOnUpq930
AutoHotkeyでiTunesを操作させるにはどうしたらいいですかね?

213:名無しさん@お腹いっぱい。
05/11/21 22:37:36 jfEQAnS10
「:」に対してキーを割り当てたいのですが、うまくいきませんでした。
::: ←ここでエラー
ごにょごにょ

何か他に書き方があるのでしょうか?

214:名無しさん@お腹いっぱい。
05/11/21 23:02:40 Y2LksryB0
URLリンク(lukewarm.s101.xrea.com) の下のほう
仮想キーコードやスキャンコードで何とか対応しる


215:名無しさん@お腹いっぱい。
05/11/23 11:44:06 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:名無しさん@お腹いっぱい。
05/11/23 16:33:51 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
05/11/23 21:55:25 w4Ag56cD0
>>216
ご丁寧にありがとうございます!
しかし、<>を=に変更してelse消しても現象は変わらず。
Send, !wtの後にreturn付けても同じでした。
SendMessage使ったやつをコピペでもダメでした。。。orz

とりあえず、子ウィンドウを広げられるだけで満足です。
もしかしてErrorLevelが0になってないのでしょうか?




218:名無しさん@お腹いっぱい。
05/11/23 22:40:29 vpU2R36Y0
大分前に入れた奴なんでバージョン古いけど うちでは上手くいってる

XP SP1
Autohotkey Ver 1.0.38.1
NetStumbler ver 0.3.30

とりあえず MsgboxやOutputDebugでErrorLevelの値見たり
if
msgbox,OK
else
msgbox,NG
とかやって試してみたら?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5366日前に更新/298 KB
担当:undef