1 名前:名無しさん@お腹いっぱい。 [2005/10/21(金) 04:31:53 ID:qy14hWPT0] If You = beginner Read, Template, >>2-6 Previous Thread:: AutoHotKey Thread pc7.2ch.net/test/read.cgi/software/1098531338/ If Res > 950 Please, Build, NextThread
268 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 mailto:sage [2005/12/06(火) 22:52:52 ID:oOmblgWA0] すごい!感動しました! 感謝してもしきれないです 本当にありがとうございます
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 00:24:52 ID:+IISIZwk0] 引数が足りなかった DllCall("VirtualFreeEx", UInt,hProcess, UInt,lpProcessBuf, UInt,0, UInt,MEM_RELEASE)
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 00:33:06 ID:WQOB4lVi0] >>233 具体的にどういう使い方をするのかちょっと興味あるんだけど、教えてくんない?
277 名前:233 mailto:sage [2005/12/07(水) 16:47:00 ID:Fl/Gr8/X0] >>275 普通に動いてたので気づきませんでした どちらにしても感謝です >>276 ここまでしてもらってなんですが、ご勘弁を
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 16:57:01 ID:x7hOLdd40] >>277 エロDVDのタイトルの整理か何かですか?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 23:01:34 ID:SL+OhssX0] 匿名掲示板で詳しく言えないって事は犯罪絡みか
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 23:29:33 ID:EMbBN43/0] それか業務がらみとか
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/08(木) 01:24:26 ID:kFp6FhOt0] 変数一覧のところの一番上に 0[1 of 1]: 0 ってのが必ずあるんだけどこれって何?
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/08(木) 19:29:26 ID:tAZLc0Al0] コマンドライン引数の奴
283 名前:281 mailto:sage [2005/12/08(木) 19:30:54 ID:kFp6FhOt0] >>282 あ、なるほど
284 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 00:22:31 ID:XJ0qF38r0] > そう言ったことは可能でしょうか? 可能 それと、おまえのレベルなんて知ったこっちゃない このソフトが使えないレベルなら他を当たれ 使えるなら勝手にしろ といっても、流行らせるページ見ればこの程度バカでも出来るがな ソフトに限ったことじゃないが、便利なものを使いたければ それに応じた実力(知識や技術など)を身につけろってこった
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 00:39:49 ID:apES3Z+g0] まぁ要望を長々と書いたところで、マジメに読んでもらえる訳が無い。 がんばればアンタでもできるんじゃねーの?としか言いようが無い。
287 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 00:59:00 ID:78+mCWVm0] つーか俺なら変換キー連打で解決するね
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 01:23:09 ID:LXjhHQ7b0] 辞書登録で1→! 0→?(テンキーを使っているなら)とか ぬ→! め→? とでも登録した方が分かりやすい上に てっとり早いんじゃないか?
289 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 01:27:32 ID:78+mCWVm0] >>288 >>287
290 名前:284 mailto:sage [2005/12/11(日) 13:39:45 ID:OA29yvnX0] お返事ありがとうございます。 ソフトによっては、ユーザー側に有る程度の素養が要求されると思いますので、 現実的に見て、自分のレベルで作業するのに問題が無いか、 取り組む前に確認させて貰いたかったのですが、スレの空気を乱す発言になった ようで、すみませんでした。 お返事を見る限り、無理な要求という感触では無いようですので、 参考にさせていただいて、検討いたします。
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 13:46:13 ID:n6eRmNGz0] とりあえずお前が人のアドバイスを試す気がないカスなのは分かった
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 13:48:53 ID:2lWo/Yh80] プッ
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 20:13:50 ID:/OTbplQs0] しばらく過疎ってる間にえらく空気悪くなってるな >>290 IME制御に関しては過去何度か話題に上がってるので調べてみれ なまず氏が自分とこのブログで最近とりあげてたし
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 00:21:18 ID:sRReWFce0] ttp://www.tamanegi.org/prog/mayu-plugins/ ここのmigemo-isearchってAHKでできます? dllのことはよくわからないんですが、これに入ってるのをDllCallすれば可能?
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 03:10:20 ID:UEU0KJ8o0] もうある
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 13:57:25 ID:sRReWFce0] >>295 本当ですか? 一応「migemo ahk」「migemo autohotkey」などで検索しても見つかりませんでした
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 14:41:54 ID:DtKvDaaE0] 流行らせるページにある奴じゃないのかな。
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 14:47:52 ID:sRReWFce0] >>297 ありました これ昔からありましたっけ?
299 名前:294 mailto:sage [2005/12/13(火) 17:20:20 ID:sRReWFce0] これをブラウザで使うやり方がさっぱりわからない・・・・ そもそもサンプルが上手く動かないです 例えば「a」と打つと「シリアス」だけがマッチ(他にもaはたくさんあるのに) どんな文字でも2文字目を打つと何も表示されず 意味がよくわからないです
300 名前:294 mailto:sage [2005/12/13(火) 17:39:57 ID:sRReWFce0] 自分でlist=を作ってやってみましたが アルファベットだけがマッチ 漢字・ひらがな・カタカナ全滅 私が何かをすごく勘違いしてる気がしますが・・・・
301 名前:294 mailto:sage [2005/12/13(火) 17:52:44 ID:sRReWFce0] ただ単に辞書パスが違っているというアホな間違いでした すみません でもブラウザで使うやり方は未だわからず
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:03:09 ID:DtKvDaaE0] いつから日記スレになったんだ
303 名前:294 mailto:sage [2005/12/13(火) 18:05:03 ID:sRReWFce0] >>302 本当にスレ汚しすみません
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:05:04 ID:JxXQO2OP0] さっさと消えろよ、うざいなぁ。
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:23:00 ID:McRsgk3+0] なんか最近スレの空気悪いなぁ。 っていうかmigemoの存在を初めて知った。 ちょっと感動。 流行らせるページのスクリプト見てみたけど >>294 と同じ機能をAHKからブラウザで使うのは無理じゃね?
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 20:54:54 ID:wLsVmh5S0] 俺も知識不足でサンプルで何をやっているのか全然わからないので 流用できなかった。 任意のファイラ上でmigemoでファイルを選択したかったんだけどね。 マッチングを行わせたい文字列をリストにしてスクリプトに 読ませるんだというのはなんとなくわかるけど マッチした内容を任意のソフトに対してどうやって反映させたら いいのかさっぱり。 誰か使っている人いたら具体的なスクリプトを教えてくれないかな。
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 22:44:18 ID:tDGCBqUo0] >>304 お前が消えろよ
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 22:54:36 ID:hY2eSXDW0] ファイラーはMigemizeExplorer ブラウザは窓使いの憂鬱 2chブラウザはJaneView エディタはサクラエディタ ってな具合にmigemoを使ってる。 ただ、繭で使ってるのはmigemoのみだから繭をなくしたいんだよね。 別に不具合はないけど。 ブラウザ乗り換えも何度も検討した結果、今使ってるものになってるし。
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/14(水) 12:55:41 ID:RrhosKDn0] 今現在、Win用・繭不要でmigemo対応のブラウザは fub.net ぶら。 ※拡張機能で。 Bagel Firefox ※XUL/Migemo Sylera2 オレはSylera2だけど他にもあるような…
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/14(水) 14:43:44 ID:NCzEYHK/0] Janeのトレース画面を一発で出し入れできるスクリプトって無理かな
311 名前:名無しさん@お腹いっぱい。 [2005/12/15(木) 09:04:11 ID:Oeo3ug/h0] 質問ですけど、スクリプトでMSNメッセンジャーを取り込み中に変えたりオンラインに戻したりするにはどうしたらいいですか?
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 09:16:32 ID:vmIlAlU20] >>311 AutoHotkey以外での実現方法を知っているなら、そのとおりに実装すればいいのでは。 手始めに "MSN Messenger" Messenger.UIAutomation.1 で検索するとかして。(英語も読もう)
313 名前:311 mailto:sage [2005/12/15(木) 09:21:36 ID:Oeo3ug/h0] >>312 レスどうもです! > AutoHotkey以外での実現方法 はタスクトレイのアイコンを右クリックしてやる方法しか知らないです・・・ ちょっとググってみます! 英語は・・・読める限り・・・
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 12:34:59 ID:quYc50MH0] >>310 出し入れというかマウス系のコマンド使って瞬間的に ドラッグして消しているように見せるだけの奴なら作ってみた。 結構良い感じでうまく動いたよ。 そういう意味では出来ると答えておきます。 他に方法があるかもしれないけど漏れにはわかりません。
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:12:30 ID:Ro4rZY7t0] >>314 やっぱそれしかないかー と思ったが、Hideenテキストを取得するスクリプト書いて MSGBOX出せば、トレース画面出さなくても デバッグログがみれるかもと思った。
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:21:14 ID:quYc50MH0] あ、トレース画面を別ウィンドウで浮かせたいってことが言いたかったのか。 勘違いしてスマソ。 うーん。Janeのソースいじってしまった方が速いんでないかい? まぁ、でもText拾ってGuiで別Window作成して表示させれば、できるだろな。
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:28:31 ID:Ro4rZY7t0] >>316 あ、いや、その解釈であってるよ。 最初は外部コマンドからトレース画面をある程度の幅で ウィンドウ内に出せればいいなと思ってたんだけど。 でも、AU3_Spyで見たらトレース画面のテキストが取得できてたんで 別に本体で見なくてもいいかなと思って。
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 18:13:10 ID:RHa3zC2W0] Jane作者に要望だせば?
319 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 mailto:sage [2005/12/19(月) 17:53:49 ID:T6Ojlipz0] >>321 自分もほぼ同じ記述です ただ、引数の最後にCdeclを追加するとErrorLevelは0になります(返値1・使用率0は変わらず)
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 14:08:58 ID:VYjzBC0S0] >>322 調べてみたらその関数の呼び出し規約はcdeclだった(関数を公開するなら明示すべきだが)。 mp3でも再生しながら再計測してみては?
324 名前:320 mailto:sage [2005/12/20(火) 14:14:45 ID:yg2tqewb0] >>323 ん?つまり記述はあっているけど私のCPU使用率は0だから0を返してるってことですか? 負荷を上げても0のままです
325 名前:名無しさん@お腹いっぱい。 mailto:sage [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 mailto:sage [2005/12/20(火) 15:35:13 ID:yg2tqewb0] >>325 なるほど、そうやるんですね 勉強になりました ありがとうございます
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 15:41:31 ID:6fVVhLVx0] これみてピンとキタ━━(゚∀゚)━━ヨ。 ttp://lukewarm.s101.xrea.com/commands/indexframe.html >DLL確保/開放の手動化 >DLLの処理によっては、処理の途中でDLLが開放してしまうと正常に動作しない場合がある。 >その場合、上記の例のように手動でLoadLibrary/FreeLibraryを行うことで、本来の動作になることがある。 できるだけ、この方法使った方が正常に動作するのかもしれませんね。
328 名前:320 mailto:sage [2005/12/20(火) 15:44:01 ID:yg2tqewb0] >>327 そこには目を通していたはずなのに実行してみなかった自分が恥ずかしいです
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 15:45:24 ID:6fVVhLVx0] >>327 ttp://lukewarm.s101.xrea.com/commands/DllCall.htm だった・・ >>328 案外見落としてしまうですね^^
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:14:40 ID:e8aKpTDx0] 平日の真昼間にいきなり活性化してんのな 学生ってもう冬休みに入ってるのかなw
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:19:32 ID:e8aKpTDx0] ↑末尾のwは Alt+w(書き込み)の押し間違いだorz
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:59:12 ID:f5Fr+yX00] Ctrl+Alt+Delを無効にしようと思うんだけど ^!Del::return としても変化なし 何か特別なことをしなければならない?
333 名前:332 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 02:31:48 ID:MS28PmO/0] >>333-334 コンパイルだけなら出来ないこともないが、 さすがにそんなシステムの根幹に関わるファイルは試したくないし、 そのまま上げて、うまく動かなくてシステム復旧できなくなっても責任取れないし。 第一、こんな危険度の高いファイルを匿名掲示板の誰とも知れぬヤツに 頼むのはどうかしてるとしか思えない。
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 16:11:43 ID:7k5DRGNJ0] 335の言うとおり。どれほど危険かわかっていってんのかね。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 17:01:29 ID:V901fh0D0] 何度もいう必要は無いよ 一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 18:39:00 ID:8FMcnaKn0] とりあえず自力でコンパイルできる位のスキルがある奴でないと危ないってこった
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 18:44:59 ID:KsC0+Fth0] 何度もいう必要は無いよ 一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 22:47:41 ID:1UNMjvMz0] 乱数が必要なときどうしてます?
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:14:28 ID:mI5CV1Yi0] Random使ってますが
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:14:55 ID:MS28PmO/0] Random, OutputVar [, Min, Max]
343 名前:340 mailto:sage [2005/12/22(木) 23:16:16 ID:1UNMjvMz0] 関数の方で探してましたorz
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:26:11 ID:1UNMjvMz0] もしかして16進数←→10進数もあったりする?
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 00:08:10 ID:6+7NW5wO0] >>344 ある。探し方が下手なだけだと思う。
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 00:24:43 ID:HDLrFyls0] >>345 ありました SetFormatですね 今度一からリファレンスを見直そうかな・・・・
347 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 19:43:26 ID:JrNibnEe0] あーなんか昔クリップボード拡張ソフトのスレでそれっぽいの見たような記憶が 今ちと忙しくて過去ログ探してる暇がないが Charu3起動するとフォーカス関係がおかしくなる奴
349 名前:347 mailto:sage [2005/12/23(金) 21:18:22 ID:6+7NW5wO0] >>348 そのスレ自体は知っているんだけど、やっぱり原因となってるソフトを特定して、 作者に直してもらうほか無いのかなぁ。
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 22:08:11 ID:4kg8U7Th0] >>347 その手の設定はレジストリ変えた後に「再設定したよ」ってOSに知らせないといけないのかも 確かそんなAPIがあったはず
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/24(土) 00:50:55 ID:qmuEaf2G0] 最強クリップボード拡張ソフトはこれだ!Part5 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 mailto:sage [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 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 mailto:sage [2006/01/03(火) 17:40:06 ID:jyT5EMJg0] >>356 ありがとうございます。 これでアイコンハンドルは取得できました。 ListViewのGuiのIL_Add()ではアイコンのファイル名が必要なんですが ハンドルからファイル名は取得できるのでしょうか?
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/03(火) 21:17:52 ID:Tw0iMMgh0] 取得したアイコンハンドラを元にGUIへ反映する方法はわからんです。 (自分はウィンドウのタイトルバー左上にアイコンがあるのかどうか調べるためだけに アイコンハンドル取得してみてるだけなので) APIでどうにかできそうとのことだったので、むしろフィードバックを期待してたんですが 単純にexeのアイコンが表示できればいいのなら、管理人さんの プロセスIDを指定して実行ファイルパスを得る関数で .exeフルパス取得して セットしてやればいいと思われ cgi19.plala.or.jp/lukewarm/news/2005_05.html#14
359 名前:355 mailto:sage [2006/01/03(火) 21:27:09 ID:jyT5EMJg0] >>358 その管理人さんの関数で解決できそうです。 ありがとうござました。
360 名前:355 mailto:sage [2006/01/03(火) 21:45:14 ID:jyT5EMJg0] 最後のほうの DllCall("psapi\CloseProcess","Int",hProcess) のErrorLevelが-4になってしまうんですが大丈夫なんでしょうか?
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 15:29:26 ID:SbxpZ6KF0] ホイールの挙動がなんかおかしいです SetTimer,tip,1000 return tip: GetKeyState,ks,WheelDown,P ToolTip,%ks% return で調べると、一度でもWheelDownをするとそのあとマウスから手を離しても ずっとksの値はDのままになってしまいます。
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 15:49:26 ID:x6p42A6B0] >>360 これはCloseHandle()の間違いらしい。 DllCall("CloseHandle", "Int", hProcess)
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 16:55:55 ID:95AmdYfp0] >361 ホイールの回転はホイール押下みたいなUP/DOWNが有るイベントじゃないから 状態を取ること自体間違ってる気がする
364 名前:361 mailto:sage [2006/01/04(水) 17:01:50 ID:SbxpZ6KF0] >>363 ホイールが回転されるまで待機、ってことがやりたいんですが 無理ですか?
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 19:47:56 ID:95AmdYfp0] 単にWheelDown::に処理書いてやって,フラグ立てるなり終了するなりすればいいんでは
366 名前:361 mailto:sage [2006/01/04(水) 19:50:45 ID:SbxpZ6KF0] >>365 & WheelDown::の最中で待機したかったんですが あきらめて他の仕様にすることにします
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/05(木) 01:16:03 ID:YlkDRsZz0] フォルダのパスを引数として渡し、 「フォルダの参照」ダイアログのツリーを操作して 引数のフォルダを選択させる、ということをしたいのですが、 どのようにすればいいのでしょうか? DialogSetやDialogHandlerが使えないソフトにも 自前で対応させようとしているのですが、 「フォルダの参照」ダイアログがどうにもできず困っています。 助言をいただきたいです。
368 名前:355 mailto:sage [2006/01/05(木) 01:17:18 ID:n7Jr+2qn0] >>362 亀レスすみません エラー出なくなりました。ありがとうございます。