AutoHotkey Thread 2
..
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
とかやって試してみたら?
219:215
05/11/23 23:56:41 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:名無しさん@お腹いっぱい。
05/11/24 01:13:43 YIxfmvQf0
Verupしたね
221:名無しさん@お腹いっぱい。
05/11/24 12:40:50 0jaOpLGO0
>>219
MsgBoxに制御が奪われたからアクティブになれなかったってオチじゃないような?
そこまでつきとめたら Sleepでウェイトいれてやればよろし
222:215
05/11/24 22:05:57 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:名無しさん@お腹いっぱい。
05/11/26 13:41:58 cSvLT2hD0
LastFoundWindowってWinWaitで機能しないんですか?
224:名無しさん@お腹いっぱい。
05/11/26 20:49:42 ekIkW6EI0
%1%や%2%はコマンドライン引数が分解されて格納されていますが、
コマンドライン引数全体を表す変数はないんでしょうか?
225:名無しさん@お腹いっぱい。
05/11/26 21:01:35 TeG9pCZU0
>>224
引数を「"」で囲めばだいたい解決すると思いますが
Loop, %0%
{
Part := %A_Index%
Unite = %Unite%%Part%%A_Space%
}
MsgBox, "%Unite%"
どうしようもない場面では
「0」に引数の数が入るのでこんなのでどうにかしてます。
226:名無しさん@お腹いっぱい。
05/11/26 21:59:47 m0vUMe840
>FileAppend [, Text, Filename]
>ファイル名の代わりに「*」を指定すると、標準出力にテキストを書き出せる。
URLリンク(lukewarm.s101.xrea.com)
--- test.ahk --------
FileAppend,Hello,*
---------------------
コンパイルしてプロンプトで test と打っても文字は何も表示されない。
test > a.txt とリダイレクトさせるとファイルには正常に出力される、何でだろ?
227:名無しさん@お腹いっぱい。
05/11/26 22:33:10 ekIkW6EI0
A_Indexを1度別の変数に入れちゃえばいいのか。
"でくくられていたかどうかが正確には判断出来ないですけど、
実用上は問題ないですね。
ありがとうございました。
228:名無しさん@お腹いっぱい。
05/11/27 12:34:40 R5M1hxQO0
Send,{LWin Down}やSend,{LWindown}
で押し下げ状態にしたWinキーを元に戻すにはどうすればいいでしょうか?
Send,{LWin Up}やSend,{LWin}とやっても戻りませんでした。
229:名無しさん@お腹いっぱい。
05/11/27 15:26:46 GjCd3Btu0
任意のアプリをタスクバーにボタンを表示しないようにしたいんだけど
Gui,+ToolWindowに相当するものってない?
ウィンドウスタイルを見てもそれらしいのがないっぽい
230:名無しさん@お腹いっぱい。
05/11/27 16:30:10 m61GJs8S0
試してないけど
0x00000080 WS_EX_TOOLWINDOW
あたりは?
231:229
05/11/27 17:10:05 GjCd3Btu0
>>230
見落としてた
しかし、小さいタイトルバーになってAltTabメニューにも表示されなくなるけど
何故かタスクバーには表示されたまま
色んなウィンドウで試してみたけど変わらない
WinSet,ExStyle,^0x00000080,A
232:名無しさん@お腹いっぱい。
05/11/27 20:16:28 RGnUnyxH0
ひらがなカタカナキ-にaltを割り当てたいのですが
*vkF2::Send,{alt Down}
*vkF2 up::Send,{alt Up}
とするとaltが押しっぱなしになってしまいます
仮想キー押し上げにコマンドを割り当てることは出来ないのでしょうか?
233:名無しさん@お腹いっぱい。
05/11/28 08:04:43 QtDqyH5O0
TListViewの情報を取得するにはどうしたらいいでしょうか?
ContrloGetのListはSysListVew32のようですし
234:名無しさん@お腹いっぱい。
05/11/28 20:15:46 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:名無しさん@お腹いっぱい。
05/11/28 20:24:26 bOHdUc5Q0
トンクス
いただいた。
236:名無しさん@お腹いっぱい。
05/12/04 00:40:06 Boevp9qL0
解説サイトの説明が糞だな。
窓使いの憂鬱も分かりづらくて導入しにくいところがあったが
こっちはさらダメダメ。アホか。
流行らせる気全然ね〜だろ。ぼけだろ。
237:名無しさん@お腹いっぱい。
05/12/04 00:58:39 vf5AX1eU0
236がアホでぼけで理解力がダメダメなのはわかった
238:名無しさん@お腹いっぱい。
05/12/04 01:06:12 ziZg2yDd0
単に翻訳してるだけだし
その労苦だけでもありがたいと思うけどね
239:233
05/12/04 01:53:09 c5I9hufm0
WinAPIやWindowMessageもできるだけ調べましたが、未だに解決できません
TListViewの情報取得は無理でしょうか?
240:名無しさん@お腹いっぱい。
05/12/04 11:08:29 MlVaVrV10
>239
TListView って SysListView32 のサブクラスっぽいからそのまま使えるんじゃない?
241:233
05/12/04 11:20:41 c5I9hufm0
>>240
もちろん試しました
SysListView32のところでは取得できたので記述が間違っているってことはないと思います
WindowMessageのLVM_xxxxで色々操作できるみたいなんですが、テキストは取得できないみたいで・・・
242:名無しさん@お腹いっぱい。
05/12/04 11:21:34 t+Kdt+4/0
まだ悩んでいたのかよ
ListVewのこたしらんがTEDITもEditコントロールとして認知、制御できるし
ControlGetで取れる名称がSysListVew32だっつうなら
その名を指定してやれば情報は取れるだろ。
243:名無しさん@お腹いっぱい。
05/12/04 11:22:58 t+Kdt+4/0
できないのか、
ならGontrolGetTextでは?
244:233
05/12/04 11:27:01 c5I9hufm0
>>242
Contolの引数のことろにTListViewではなくSysListVew32を指定するってことですか?
もちろんやってみましたが無理のようです
245:233
05/12/04 11:29:30 c5I9hufm0
>>243
それも試しました
いくつかのアプリで試しているので取得したいアプリが特殊という可能性は低いと思います
246:233
05/12/04 19:16:26 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%
URLリンク(yokohama.cool.ne.jp)
ここを参考にしましたが
これでいけると思ったけど駄目でした
InsertInteger()関数は書いてあります
エラー内容
モジュール 'comctl32.dll' のアドレス 5ABBD830 でアドレス 00D15714 に対する読み込み違反がおきました。
構造体は素人なので見よう見まねで書いてみましたが
どこかおかしいでしょうか?
247:名無しさん@お腹いっぱい。
05/12/04 20:11:58 t+Kdt+4/0
AHKは万能なソフトってわけでもないのでそれだけ努力してダメなら無理なのかもしらんね
とりあえず半端なレスして悪かった。
248:233
05/12/04 20:29:14 c5I9hufm0
>>247
>とりあえず半端なレスして悪かった
いえいえ
>AHKは万能なソフトってわけでもないので
もしどうしても駄目なら他のソフトやスクリプトを通してでも取得したいのですが・・・
どなかたお知恵をお貸しください
249:名無しさん@お腹いっぱい。
05/12/04 20:39:34 LHEUZAAE0
単に別プロセスのメモリー読もうとしてるからエラー出てるのでは?
TListViewはListView用のLVM_〜が使えた気がする
250:233
05/12/04 20:47:32 c5I9hufm0
>>249
>TListViewはListView用のLVM_〜が使えた気がする
そうです、使えるようです。
実際LVM_GETITEMCOUNTでアイテム数は取得できますし。
>>246のリンク先にもありますが、SendMessageの0x1005はLVM_GETITEMのことです
>単に別プロセスのメモリー読もうとしてるからエラー出てるのでは?
これについては自分にはよくわからないです
251:名無しさん@お腹いっぱい。
05/12/04 21:06:52 OzfEcy140
>>250
VirtualAllocEx MapViewOfFile
を駆使すれば取得できるが面倒
252:名無しさん@お腹いっぱい。
05/12/04 21:09:06 LHEUZAAE0
LVM_GETITEMCOUNTはSendMessageの戻り値がそのままアイテム数だから問題ないけど
LVM_GETITEMはLVITEMのポインタをLPARAMで渡してそこに情報を書き込んでもらう奴だから
LVITEM*が指すメモリーを共有メモリにするか、SendMessageする側でフックをかけてプロセスに割り込まないといけない
共有メモリー使う方法は URLリンク(techtips.belution.com) あたりを参考にすれば出来るかな
253:233
05/12/04 21:10:52 c5I9hufm0
>>251-252
ありがとうございます
とりあえず提示されたものを頑張って調べてみます
254:233
05/12/05 12:27:58 pnvrA0j10
色々やってみたんですが、行き詰っています
URLリンク(techtips.belution.com)
これってメモリアドレスから変数を参照できないと無理なのでは?
まだ調べ始めて1日なので何か勘違いしてるだけのような気もしますが
255:名無しさん@お腹いっぱい。
05/12/05 12:48:04 yS+6IGXX0
gui,add,edit,vtitle R1 W300
gui,show
return
こんな感じでエディットボックスを作ってるんですが、日本語入力すると確定するまで表示されません。
普通に変換中に表示されるようには出来ないのでしょうか?何かオプションがあるのかな?
256:名無しさん@お腹いっぱい。
05/12/05 12:55:38 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, URLリンク(www.amazon.co.jp)
ExitApp
GuiEscape:
GuiClose:
ExitApp
257:名無しさん@お腹いっぱい。
05/12/05 13:30:59 fH9XPvqW0
>>255
うちでは普通にでるけどなぁ・・・
win2ksp4 Atok16 MSIME2k どっちもOK
258:名無しさん@お腹いっぱい。
05/12/05 13:33:22 fH9XPvqW0
いちおう追記、AHK v1.0.40.05
259:255
05/12/05 15:14:33 yS+6IGXX0
>>256
>>257
ありがとうございます。早速試しましたが、やはりうまく表示されません。
例えば わたしは と打つと w しか表示されないです。
Returnを押すと、わたしは と表示されます
Version 1.0.40.10をいれてみましたが、症状はかわらず。
どーもうちのIMEの不具合か、設定の問題かもしれません。
ちなみにAHK以外の日本語入力は不具合ありません。
260:名無しさん@お腹いっぱい。
05/12/05 15:38:36 N0kdWIqG0
>>259
OSの種類とIMEのバージョンや設定(ナチュラルインプットとか詳細サービスとか)書いたら?
解決したかったら人任せじゃだめだよ
261:255
05/12/05 16:21:24 ONVNYKfr0
情報が足らず申し訳ありませんでした。
Windows Xp pro sp1
AHK Version 1.0.40.10
Microsoft IME Standard 2002 ver. 8.1
詳細なテキスト サービスをオフにするにチェック
IME Watcherを使用
英字を常に半角で変換以外は設定をいじってません。
英語圏のソフトなのでこういう仕様なのかと思っていました。
我が家のPCの問題のようですので自力でがんばります。
皆様のお手を煩わせてほんとに申し訳なかったです。すみませんでした。
262:233
05/12/06 00:06:41 zKABzlSJ0
何度もすみません
やっぱり自分には無理のようです・・・
とういうか、>>252のURLの内容とほぼ同じものが
URLリンク(www.yoshibaworks.com)
に載っているんですが、同じサイトの
URLリンク(www.yoshibaworks.com)
をダウンロードして使ってみたところTListViewは取得できませんでした
下のURLのアプリは上のソースコードとは仕組みが違うのかもしれませんが
自分にとってTListViewが取得できることによってAHKはかなり便利になると思います
ずうずうしいようですが、TListViewを取得できるものが誰かの手によって書かれるのを期待します
もちろん自分でもこれからもチャレンジしていきたいと思います
263:名無しさん@お腹いっぱい。
05/12/06 00:11:30 BfjYx7dY0
TlistViewってそもそも何?
264:260
05/12/06 00:20:18 061B1eK40
>>261
俺も>>256を試したら同じ現象が起きた
XP HOME SP2
IME2002でIME Watcherは使ってない
今さらで悪いけど、むかし同じ現象が出て
InputBoxを使って回避した気がする。忘れてた…
その時は、会社のマシンだったから割と起こりやすい現象みたい
265:名無しさん@お腹いっぱい。
05/12/06 00:28:05 +pinJF560
>>262
ぱっとソースを見た感じクラスがListView32じゃないと動作しないように書いてある
これ→if ( strcmp(szClassName, WC_LISTVIEW) == 0 ) {
確かTListViewはクラス名が違ったと思う
266:233
05/12/06 00:30:50 zKABzlSJ0
>>265
ということは>>262のソースを再現すればAHKでも実現できるわけですね
少し希望が湧いてきました
267:255
05/12/06 20:02:45 BjDsaEX90
exeファイルにして、友達のPCで試してもらいました。
買ったままいじってないWinxp home sp2
やはり同じように入力がおかしかったようです。
これは、エディットボックス自体の不具合かな。あきらめてほかの方法をとることにします。
268:名無しさん@お腹いっぱい。
05/12/06 22:19:27 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:名無しさん@お腹いっぱい。
05/12/06 22:21:14 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:名無しさん@お腹いっぱい。
05/12/06 22:21:36 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:名無しさん@お腹いっぱい。
05/12/06 22:22:07 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:名無しさん@お腹いっぱい。
05/12/06 22:22:41 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:名無しさん@お腹いっぱい。
05/12/06 22:23:18 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
05/12/06 22:52:52 oOmblgWA0
すごい!感動しました!
感謝してもしきれないです
本当にありがとうございます
275:名無しさん@お腹いっぱい。
05/12/07 00:24:52 +IISIZwk0
引数が足りなかった
DllCall("VirtualFreeEx", UInt,hProcess, UInt,lpProcessBuf, UInt,0, UInt,MEM_RELEASE)
276:名無しさん@お腹いっぱい。
05/12/07 00:33:06 WQOB4lVi0
>>233
具体的にどういう使い方をするのかちょっと興味あるんだけど、教えてくんない?
277:233
05/12/07 16:47:00 Fl/Gr8/X0
>>275
普通に動いてたので気づきませんでした
どちらにしても感謝です
>>276
ここまでしてもらってなんですが、ご勘弁を
278:名無しさん@お腹いっぱい。
05/12/07 16:57:01 x7hOLdd40
>>277
エロDVDのタイトルの整理か何かですか?
279:名無しさん@お腹いっぱい。
05/12/07 23:01:34 SL+OhssX0
匿名掲示板で詳しく言えないって事は犯罪絡みか
280:名無しさん@お腹いっぱい。
05/12/07 23:29:33 EMbBN43/0
それか業務がらみとか
281:名無しさん@お腹いっぱい。
05/12/08 01:24:26 kFp6FhOt0
変数一覧のところの一番上に
0[1 of 1]: 0
ってのが必ずあるんだけどこれって何?
282:名無しさん@お腹いっぱい。
05/12/08 19:29:26 tAZLc0Al0
コマンドライン引数の奴
283:281
05/12/08 19:30:54 kFp6FhOt0
>>282
あ、なるほど
284:名無しさん@お腹いっぱい。
05/12/10 23:31:57 8fYJs8aX0
質問なのですが、このソフトでIME起動時に全角文字を入力として挿入することは
比較的楽に出来ますでしょうか?
なにがしたいかと言いますと、自分はIMEは「かな入力」の人間でして、
チャット等の、通常会話に近い文を書いてる時は、!や?が、かな文字と
同じくらいの平易さで出現するのですが、かな入力ですと、入力するのが
ちょっと面倒なのです(かな/英数を切り替えてからShift+1で再びかな/英数など)
そこで、IME(ATOK2005)が起動している時は、かな入力状態でも
[Shift]+[1]で“!”を、[Shift]+[/]で“?”を入力出来るようにしたいのですが、
そう言ったことは可能でしょうか?
自分の程度としましては、DOS3からなのでbatは書けますがvbsは読んで修正するのが精一杯、
サイトの引っ越しでUWSCでIEを半自動実行で転記させる50行×8本くらいのサブルーチンを
書いた程度で、最近は正規表現がなんとか使えてきて楽しいというようなレベルです。
外国産みたいなので、IMEの起動を検知できるのかと、起動したIMEに文字を直接送ることが
出来るのかがネックかなと思っているのですが…
よろしくお願いします。
285:名無しさん@お腹いっぱい。
05/12/11 00:22:31 XJ0qF38r0
> そう言ったことは可能でしょうか?
可能
それと、おまえのレベルなんて知ったこっちゃない
このソフトが使えないレベルなら他を当たれ
使えるなら勝手にしろ
といっても、流行らせるページ見ればこの程度バカでも出来るがな
ソフトに限ったことじゃないが、便利なものを使いたければ
それに応じた実力(知識や技術など)を身につけろってこった
286:名無しさん@お腹いっぱい。
05/12/11 00:39:49 apES3Z+g0
まぁ要望を長々と書いたところで、マジメに読んでもらえる訳が無い。
がんばればアンタでもできるんじゃねーの?としか言いようが無い。
287:名無しさん@お腹いっぱい。
05/12/11 00:59:00 78+mCWVm0
つーか俺なら変換キー連打で解決するね
288:名無しさん@お腹いっぱい。
05/12/11 01:23:09 LXjhHQ7b0
辞書登録で1→! 0→?(テンキーを使っているなら)とか
ぬ→! め→? とでも登録した方が分かりやすい上に
てっとり早いんじゃないか?
289:名無しさん@お腹いっぱい。
05/12/11 01:27:32 78+mCWVm0
>>288
>>287
290:284
05/12/11 13:39:45 OA29yvnX0
お返事ありがとうございます。
ソフトによっては、ユーザー側に有る程度の素養が要求されると思いますので、
現実的に見て、自分のレベルで作業するのに問題が無いか、
取り組む前に確認させて貰いたかったのですが、スレの空気を乱す発言になった
ようで、すみませんでした。
お返事を見る限り、無理な要求という感触では無いようですので、
参考にさせていただいて、検討いたします。
291:名無しさん@お腹いっぱい。
05/12/11 13:46:13 n6eRmNGz0
とりあえずお前が人のアドバイスを試す気がないカスなのは分かった
292:名無しさん@お腹いっぱい。
05/12/11 13:48:53 2lWo/Yh80
プッ
293:名無しさん@お腹いっぱい。
05/12/11 20:13:50 /OTbplQs0
しばらく過疎ってる間にえらく空気悪くなってるな
>>290
IME制御に関しては過去何度か話題に上がってるので調べてみれ
なまず氏が自分とこのブログで最近とりあげてたし
294:名無しさん@お腹いっぱい。
05/12/13 00:21:18 sRReWFce0
URLリンク(www.tamanegi.org)
ここのmigemo-isearchってAHKでできます?
dllのことはよくわからないんですが、これに入ってるのをDllCallすれば可能?
295:名無しさん@お腹いっぱい。
05/12/13 03:10:20 UEU0KJ8o0
もうある
296:名無しさん@お腹いっぱい。
05/12/13 13:57:25 sRReWFce0
>>295
本当ですか?
一応「migemo ahk」「migemo autohotkey」などで検索しても見つかりませんでした
297:名無しさん@お腹いっぱい。
05/12/13 14:41:54 DtKvDaaE0
流行らせるページにある奴じゃないのかな。
298:名無しさん@お腹いっぱい。
05/12/13 14:47:52 sRReWFce0
>>297
ありました
これ昔からありましたっけ?
299:294
05/12/13 17:20:20 sRReWFce0
これをブラウザで使うやり方がさっぱりわからない・・・・
そもそもサンプルが上手く動かないです
例えば「a」と打つと「シリアス」だけがマッチ(他にもaはたくさんあるのに)
どんな文字でも2文字目を打つと何も表示されず
意味がよくわからないです
300:294
05/12/13 17:39:57 sRReWFce0
自分でlist=を作ってやってみましたが
アルファベットだけがマッチ
漢字・ひらがな・カタカナ全滅
私が何かをすごく勘違いしてる気がしますが・・・・
301:294
05/12/13 17:52:44 sRReWFce0
ただ単に辞書パスが違っているというアホな間違いでした
すみません
でもブラウザで使うやり方は未だわからず
302:名無しさん@お腹いっぱい。
05/12/13 18:03:09 DtKvDaaE0
いつから日記スレになったんだ
303:294
05/12/13 18:05:03 sRReWFce0
>>302
本当にスレ汚しすみません
304:名無しさん@お腹いっぱい。
05/12/13 18:05:04 JxXQO2OP0
さっさと消えろよ、うざいなぁ。
305:名無しさん@お腹いっぱい。
05/12/13 18:23:00 McRsgk3+0
なんか最近スレの空気悪いなぁ。
っていうかmigemoの存在を初めて知った。
ちょっと感動。
流行らせるページのスクリプト見てみたけど
>>294と同じ機能をAHKからブラウザで使うのは無理じゃね?
306:名無しさん@お腹いっぱい。
05/12/13 20:54:54 wLsVmh5S0
俺も知識不足でサンプルで何をやっているのか全然わからないので
流用できなかった。
任意のファイラ上でmigemoでファイルを選択したかったんだけどね。
マッチングを行わせたい文字列をリストにしてスクリプトに
読ませるんだというのはなんとなくわかるけど
マッチした内容を任意のソフトに対してどうやって反映させたら
いいのかさっぱり。
誰か使っている人いたら具体的なスクリプトを教えてくれないかな。
307:名無しさん@お腹いっぱい。
05/12/13 22:44:18 tDGCBqUo0
>>304
お前が消えろよ
308:名無しさん@お腹いっぱい。
05/12/13 22:54:36 hY2eSXDW0
ファイラーはMigemizeExplorer
ブラウザは窓使いの憂鬱
2chブラウザはJaneView
エディタはサクラエディタ
ってな具合にmigemoを使ってる。
ただ、繭で使ってるのはmigemoのみだから繭をなくしたいんだよね。
別に不具合はないけど。
ブラウザ乗り換えも何度も検討した結果、今使ってるものになってるし。
309:名無しさん@お腹いっぱい。
05/12/14 12:55:41 RrhosKDn0
今現在、Win用・繭不要でmigemo対応のブラウザは
fub.net
ぶら。 ※拡張機能で。
Bagel
Firefox ※XUL/Migemo
Sylera2
オレはSylera2だけど他にもあるような…
310:名無しさん@お腹いっぱい。
05/12/14 14:43:44 NCzEYHK/0
Janeのトレース画面を一発で出し入れできるスクリプトって無理かな
311:名無しさん@お腹いっぱい。
05/12/15 09:04:11 Oeo3ug/h0
質問ですけど、スクリプトでMSNメッセンジャーを取り込み中に変えたりオンラインに戻したりするにはどうしたらいいですか?
312:名無しさん@お腹いっぱい。
05/12/15 09:16:32 vmIlAlU20
>>311
AutoHotkey以外での実現方法を知っているなら、そのとおりに実装すればいいのでは。
手始めに "MSN Messenger" Messenger.UIAutomation.1 で検索するとかして。(英語も読もう)
313:311
05/12/15 09:21:36 Oeo3ug/h0
>>312
レスどうもです!
> AutoHotkey以外での実現方法
はタスクトレイのアイコンを右クリックしてやる方法しか知らないです・・・
ちょっとググってみます!
英語は・・・読める限り・・・
314:名無しさん@お腹いっぱい。
05/12/15 12:34:59 quYc50MH0
>>310
出し入れというかマウス系のコマンド使って瞬間的に
ドラッグして消しているように見せるだけの奴なら作ってみた。
結構良い感じでうまく動いたよ。
そういう意味では出来ると答えておきます。
他に方法があるかもしれないけど漏れにはわかりません。
315:名無しさん@お腹いっぱい。
05/12/15 15:12:30 Ro4rZY7t0
>>314
やっぱそれしかないかー
と思ったが、Hideenテキストを取得するスクリプト書いて
MSGBOX出せば、トレース画面出さなくても
デバッグログがみれるかもと思った。
316:名無しさん@お腹いっぱい。
05/12/15 15:21:14 quYc50MH0
あ、トレース画面を別ウィンドウで浮かせたいってことが言いたかったのか。
勘違いしてスマソ。
うーん。Janeのソースいじってしまった方が速いんでないかい?
まぁ、でもText拾ってGuiで別Window作成して表示させれば、できるだろな。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5366日前に更新/298 KB
担当:undef