- 1 名前:デフォルトの名無しさん [2007/04/18(水) 01:54:51 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- 21 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 16:38:28 ]
- どうしてSetWindowsHookExを使うとけ#pragma data_seg〜って書かないといけないの?
- 22 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 16:40:20 ]
- >>21
フックするプロセスごとにDLLがロードされるので、変数をプロセスを跨いで共有する必要がある。
- 23 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 16:44:07 ]
- へぇ
- 24 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 16:45:15 ]
- 書きたくなければFMOでも使うといいさ
- 25 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 20:01:23 ]
- >>4のSDKは古いんだって・・・
- 26 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 20:14:42 ]
- 何度言っても分からない
それがム板クオリティ
- 27 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 21:12:32 ]
- MSDNライブラリも2006/06と2006/12の両方を載せるのは無駄。
>>4-5は整理しろよ。
- 28 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:13:09 ]
- >>22
複数のプロセスがロードしないなら書かなくておk?
- 29 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:16:32 ]
- >>28
良いと思うよ。DLLにする意味も薄くなるが。
- 30 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:19:01 ]
- いや、グローバルフックはDLL化必須じゃん?
- 31 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:19:04 ]
- >>28
ローカルフックならそう。そもそもDLL関係ないし。 グローバルフックなら CallNextHookEx に渡す HHOOK を共有しなければいけない。
- 32 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:25:50 ]
- >>30
複数のプロセスからロードしないならグローバルフックじゃない気がするが
- 33 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:28:43 ]
- え?別にDLLのフックを呼び出すのが単一でもグローバルフックはグローバルフックだろ?
それとも>>30と同じく俺も勘違いなのか?
- 34 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:30:24 ]
- >>前998&999
ありがとうございました、何とかなりそうです
- 35 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:33:52 ]
- >>21はグローバルフックとは一言も言ってないんだよね。
この時点ですでに勘違いなのかもシレン。 要>>21のレス。
- 36 名前:32 mailto:sage [2007/04/18(水) 22:39:10 ]
- 俺も語弊があるなw
>複数のプロセスからロードされないなら だな
- 37 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:50:14 ]
- msdn2.microsoft.com/en-us/library/ms644974.aspx
実のところNT系は、CallNextHookExのHHOOK型の引数を無視するので フックハンドルを共有する必要がない罠。
- 38 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:00:36 ]
- >>36
それが良くわからんのだが フックには特定のスレッドを対象にしたもの(これがローカルフック)と 特定の対象スレッドを指定しないグローバルのものの2種類のスコープがあって 後者はフックプロシージャがDLLにないと出来ない で、たとえばWH_GETMESSAGEなんかは ローカルだと対象のスレッドのメッセージだけ取ってくるし グローバルだととにかくどこのメッセージでも取ってくる ローカルとグローバルの違いってこれだろ? SetWindowsHookEx呼ぶDLLの関数を複数のプロセスが呼ぶかとか関係無いと思うんだが
- 39 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:03:45 ]
- >フックには特定のスレッドを対象にしたもの(これがローカルフック)と
違う。 ローカルフックは自分自身のスレッドのみを対象としたもの。 他のスレッドを指定してのフックはグローバル。 もちろんスレッドを指定せずシステム全体が対象の場合もグローバル。
- 40 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:12:24 ]
- DestroyIconとDestroyCursorの違いってなに?
CreateIconIndirect で作ったらDestroyIconで処分するってMSDNに かいてあるんですが
- 41 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:23:50 ]
- DestroyIcon はアイコンを破棄する。
DestroyCursor はカーソルを破棄する。
- 42 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:46:23 ]
- っていうレス以外でお願いします
- 43 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:49:00 ]
- CreateWindowExのheightやWidthを弄って実行しても
何故か画面に反映されません・・・ エスパー回答でもいいので助けてください・・・
- 44 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:53:01 ]
- >>40
言われた通りにしとけばいいだろ 哲学的な答えが欲しいならモニターにキーボード投げつけろ >>43 CreateWindowExを呼んでる部分晒してよ
- 45 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:53:11 ]
- ShowWindow
- 46 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:02:10 ]
- >>44
2画面分割のスプリットウィンドウで、親ウィンドウの上に 子1&2ウィンドウを作っており、その子2のCreateWindowです。 CreateWindowは、親のProcのWM_CREATEで呼んでいます。 +--+-------+ |子1|子2 | | | | +----------+ +----------+ (a)の行をg_c2w.height-20にしても変化しません・・・ 20はステータスバーの高さです。 // 子2ウィンドウ作成 g_hChild2 = CreateWindow( clsChild2, (LPCWSTR)"", WS_CHILD | WS_VISIBLE | WS_BORDER, g_c1w.width - g_frame, 0, g_c2w.width, g_c2w.height, ←(a) hWnd, NULL, hInstance, NULL );
- 47 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:05:25 ]
- >>40
CreateIconFromResourceExとCreateIconIndirectは 与えたパラメータによってはカーソルを返すこともあるが、 そのハンドルがカーソルであったとしても、DestroyIconで破棄しなくてはならない。
- 48 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:23:19 ]
- >>46
g_c2w.heightの中の値は確認した?
- 49 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:28:31 ]
- >>48
すみません、今解決しました。 親のProcのWM_SIZEの中に子2ウィンドウのサイズを変更する個所が ありまして、それがWM_CREATEで設定したg_c2w.heightを上書きして いたようです。WM_SIZEでも-20してやると希望通りに動作しました。 ウィンドウ作成時にもWM_SIZEが走るとは知りませんでした・・・
- 50 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:35:31 ]
- ∧∧
ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄  ̄
- 51 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 01:15:14 ]
- 自己解決しました。
50にカチンときたので教えません。 バーカ!
- 52 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 01:26:30 ]
- 自己解決メソッドは↓のスレのみで有効です
【厨房満開】HSP初質51【ビラビラ満開】 pc11.2ch.net/test/read.cgi/tech/1142529119/
- 53 名前:40 mailto:sage [2007/04/19(木) 01:54:44 ]
- >>47
ありがとう
- 54 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 06:08:02 ]
- エクスプローラで、コンテキストメニュー項目を追加したいのですが、
ファイルやフォルダを無選択時の場合(新規作成(W)とかが出るやつ)に 使用されるレジストリはどこなのでしょうか?
- 55 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 06:22:08 ]
- *に書いておけばいいんじゃね?
- 56 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 07:14:33 ]
- >>54
HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers だけど、これだけを聞いてちゃんとContextMenuHandlerを作れるのか?
- 57 名前:デフォルトの名無しさん [2007/04/19(木) 10:31:39 ]
- 任意のアプリのウィンドウを
SetParentで子ウィンドウにするプログラムを作りたいんですが 普通にSetParentしただけでは描画に問題がでました。 それでCreateRemoteThreadで同じプロセスに作ったスレッドの ウィンドウを親にしてみても同様に描画の問題がでますた。 なのでSetParentは同じスレッドじゃないとまともに動かないと結論付けて 今度は別のAPC未対応のスレッドにウィンドウを作らせるか、 もしくはウィンドウを別スレッドで作ってからウィンドウのハンドルを 別のスレッドに関連づけるような方法を試してみたいのですが そんな方法はありませんか?
- 58 名前:デフォルトの名無しさん [2007/04/19(木) 14:48:06 ]
- ttp://www.kumei.ne.jp/c_lang/sdk/sdk_29.htm
猫でも・・のソースで実行してみると、メニューとダイアログボックスは 表示されるんですが、ビットマップが表示されないです。 何かが足りないと思うのですが、原因わかるかたおりますか? Webページの実行結果と同じようにしたいので。。
- 59 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 14:58:16 ]
- >>58
念のために聞くけど、 猫の画像ファイル(bitmap1.bmp)は自分で用意しないといけないけど用意した?
- 60 名前:デフォルトの名無しさん [2007/04/19(木) 15:05:27 ]
- アイコンとビットマップ両方用意してあります。
ちなみに、フォルダでexeをみると、アイコンは変わって 表示されてました。
- 61 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 15:17:16 ]
- >>60
.rcのファイルにちゃんと MYBMP BITMAP DISCARDABLE "bitmap1.bmp" の行がある?
- 62 名前:デフォルトの名無しさん [2007/04/19(木) 15:20:26 ]
- >>61
あります。 もしかしてビットマップが大きすぎたりすると 表示できないとかありますかね。。 でもDlgの左上にアイコンも表示してくれないし・・・
- 63 名前:54 mailto:sage [2007/04/19(木) 15:21:57 ]
- >>55 >>56
どうもありがとうございます。 >>56 やっぱりそれしかないんですか・・・ そこだとActiveXオブジェクトである必要がある訳ですよね・・・? HKEY_CLASSES_ROOT\*\shell\foo\command みたいに適当なEXEとかでできる所はないんでしょうか・・・ ないですか・・・そうですか・・・ でも何でDirectoryなんでしょうか・・・?
- 64 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 15:29:09 ]
- >>62
当たり前だけど .rcのファイルのダイアログの定義のところに CONTROL "MYBMP",IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE, 19,18,13,14 の行はあるよね? "MYBMP"の綴り間違ってたりしてないよね? こっちの環境では2000x2000ピクセルのサイズでも、 モノクロビットマップでもちゃんと表示されるんだけどなぁ・・
- 65 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 15:42:40 ]
- 普通のBitmapじゃ表示されないよ
アイコン用Bitmapを作るツールで作らないと
- 66 名前:デフォルトの名無しさん [2007/04/19(木) 15:45:48 ]
- >>64
あります。ビットマップが表示されないだけで ほかのはきちんと機能します。
- 67 名前:デフォルトの名無しさん [2007/04/19(木) 15:55:31 ]
- >>65
ビットマップの新規作成から こぴぺしてつくりました。 アイコンは **.icoでBMPは **.bmpです。
- 68 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 16:01:59 ]
- >>67
エクスプローラとかデスクトップを右クリックの「新規作成」のことだろうか? 作っただけのそのままのファイルだと何も表示されない。 一度、ペイントブラシで適当に色塗っただけのBMP作って試してみたら?
- 69 名前:デフォルトの名無しさん [2007/04/19(木) 16:04:56 ]
- >>68
VCのリソースエディタに貼り付けました。 なんか色数が多いらしく、減色&小さめにリサイズして 貼り付けました。 リソースタブからプロパティをみると表示されています。 実行すると表示されません。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 16:55:06 ]
- とりあえずビットマップ・描画関連APIの戻り値見て、どこまで成功してるのか調べた方がいいかもね。
- 71 名前:58 [2007/04/19(木) 17:04:34 ]
- いろいろすみません
もうちょっとがんばってみます。
- 72 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 20:43:41 ]
- スタティックコントロールが"MYBMP"で参照しているのに、
ビットマップはMYBMPで定義されている件について。
- 73 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 21:58:35 ]
- IDB_MYBMP
- 74 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 22:01:04 ]
- 皆様、質問があります。
コンソール画面で ipconfig > "c:\ipinfo.txt" とすると、リダイレクタより、 ipconfigの標準出力がc:ドライブ下のipinfo.txtに出力される。 これをCreateProcess関数のlpszCommandLineに、 「ipconfig > \"c:\\ipinfo.txt\"」と指定しても、 c:ドライブ下のipinfo.txtに出力されるものなんでしょうか? (自分はうまくいかない) それとも、 > はcmdの機能? パイプで組まなきゃダメなんかなぁ・・・
- 75 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 22:02:35 ]
- >>74
シェルの機能なのでcmd.exeごと起動する。cmd /? をチェキ。
- 76 名前:74 mailto:sage [2007/04/19(木) 22:06:48 ]
- >>75
納得!! cmd.exeに委託しているんですかー。 ありがとうございます。
- 77 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 22:38:43 ]
- CreateWindowのEDITで、書き込みとか書き換えを不可能にするために
EnableWindow(h1, FALSE)をしたところ、背景が灰色になって文字も薄くなりました。 書き換え書き込みは不可能なまま、背景白、文字黒に直したいのですが どうすればいいのでしょうか?
- 78 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 22:47:20 ]
- >>77
ES_READONLY WM_CTLCOLORSTATIC でどう?
- 79 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 22:55:03 ]
- >>78
できました!ありがとうございます! しかし、目的のEDITのウィンドウの背景を変えるにはどのように指定すればいいのでしょうか?
- 80 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 23:59:54 ]
- >>79
親ウィンドウでWM_CTLCOLOREDITを捉える
- 81 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 00:20:58 ]
- リストビューの行にチェックボックスはどうやって付けるのでしょうか
↓こんな感じです _______ |__|_____ |□ | |□ | |□ |  ̄ ̄ ̄ ̄ ̄ ̄ ̄
- 82 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 00:25:49 ]
- >>81
www.kumei.ne.jp/c_lang/sdk2/sdk_198.htm ここらへんで幸せになれると思う
- 83 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 00:27:54 ]
- >>82
即レスありがとう 幸せになってきます
- 84 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 09:52:05 ]
- >>72
それでした。 ""を追加したら表示されました。 ありがとうございました。
- 85 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 10:35:32 ]
- ReadFileで読み取ったファイルを1行づつ二次元の配列に格納して
構文解析したいです ReadFileの第二パラメータのバッファから、二次元の配列に移すAPI はありますか?
- 86 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 10:45:42 ]
- CopyMemory
- 87 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 10:57:17 ]
- 物臭もここまでくると素晴らしいな
MSが何の為にそんなAPI用意するんだろうか
- 88 名前:デフォルトの名無しさん [2007/04/20(金) 11:50:11 ]
- 質問です。
ツールバーを作ろうとしているのですが、色々なサイトを調べても、ツールバー上にはボタンしか置いていないようです。 コンボボックスをツールバー上にのせたいのですが、可能でしょうか? ツールバーと似た、レバーコントロールというものの上におけるのは調べて発見できたのですが…
- 89 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 11:58:39 ]
- >レバーコントロール
思わずふきだしてしもた。
- 90 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 12:57:22 ]
- エクセルでオープンしているファイルを、
CreateFileでオープンしたいのですが、どうすれば出来るでしょうか。 エクセルでオープンしていなければ、CreateFileでオープンできるのですが、 エクセルでオープンしていると、CreateFileでオープンできないようです。 ただ、他のファイルビュアーでは読めたりするので、どうやればそれができるのかわかりません。
- 91 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 13:01:21 ]
- CreateFileのリファレンス読めば明らかだと思うが・・
- 92 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 13:01:24 ]
- >>90
排他モードで開いてるんだろ
- 93 名前:85 mailto:sage [2007/04/20(金) 13:06:25 ]
- ReadFileの第二パラメータのバッファの中は
111\r\n222\r\n333\r\nEOF と連続した文字列なのはわかったのですが、これをCopyMemoryを使って、 1行づつ二次元の配列に移す場合、バッファを先頭から1文字づつ読んで\r\n 毎に切り分けて格納するしかないのでしょうか・・・ 定番の読み方(例えば仕事(?)でやられる方)が知りたいです ↓こうしたい char hairetsu[5000][1024] (5000はファイルの行数、1024は1行の最大の長さ) hairetsu[0][1024]に111\r\n hairetsu[1][1024]に222\r\n hairetsu[2][1024]に333\r\n hairetsu[3][1024]にEOF
- 94 名前:85 mailto:sage [2007/04/20(金) 13:07:03 ]
- >>86
ありがとうございます
- 95 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 13:12:28 ]
- てかCの標準関数にそのものズバリなのあるじゃねぇか
- 96 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 13:19:12 ]
- バッファはそのまま使いつづけて
各行開始位置のポインタ値を保持する変数配列を用意し バッファを一旦頭から末尾まで全部捜査し 行開始位置のポインタをとりつつ\r\nを\0\0に書き換えていく これで文字列系関数にもポインタを渡すだけで行ごとに処理が可能に! つーか>>93みたいな多元配列はメモリの無駄だし
- 97 名前:デフォルトの名無しさん [2007/04/20(金) 14:00:55 ]
- Win2000+VC.net2003の環境で
QueueUserAPCをコンパイルすると error C3861: 'QueueUserAPC'識別子は、引数依存の照合を使用しても見つかりません。 と出るんですがどうすれば解決できますか? winbase.hをインクルードしてもkarnel32.dllとリンクしても駄目みたいなんですが。。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 14:06:49 ]
- _WIN32_WINNT を 0x0400 以上の値で define した後にヘッダーをインクルード
(コンパイラ設定でマクロ設定する でも可)
- 99 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 14:22:34 ]
- 子ウィンドウが開かれていて、親ウィンドウの上を移動させる時、
9x系と再描画されて、XPだと再描画されないのですが、 9x系とXPでは、再描画の挙動が違ったりしているのでしょうか。
- 100 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 14:46:22 ]
- そりゃあ、OSの設定の問題だろ
移動を終えてドラッグ止めたら再描画されるだろ?
- 101 名前:99 mailto:sage [2007/04/20(金) 15:35:25 ]
- >>100
ありがとうございます。 されないです。 最小化して標準に戻すのでもダメです。 WM_PAINTが来てない可能性すらあるので、 そこらへんから実験してみます。
- 102 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:22:57 ]
- それはあれか、全く同じEXEを9xとXPで動かしてるのか?
>WM_PAINTが来てない可能性すらあるので、 ネェヨwwwww
- 103 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:29:05 ]
- 子ウインドウは動かしただけでは再描画されなくても正常だが
WS_EX_LAYERED付なら親でも
- 104 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:34:47 ]
- そういえばレイヤードウィンドウなんてありましたねぇ
全然必要性を感じないから使ったこと無いですが
- 105 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:39:05 ]
- レイヤードウィンドウは雑誌やスクリーンショットで見る分にはかっこいいが
実際に使ってみると使いにくくてしょうがない
- 106 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:42:11 ]
- >>95
ありがとうございますstrtok確認しました >>96 >\r\nを\0\0に書き換えていく このやり方で行きます目から鱗です こういうテクニックって本に書いてあるんでしょうか? ウェブでも本でも見たことない・・
- 107 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:51:04 ]
- >>105
完全不透明のレイヤードウィンドウもつくれるよ。 見た目は普通のウィンドウと変わらないけど、WM_PAINTは激減する。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:05:24 ]
- 外部プロセスのCPU使用率を強制的に制限する方法を探しています。
最初に、CreteProcessのPROCESS_INFORMATIONから得られるhThreadに対して SuspendThread/ResumeThreadを試しましたが、 複数スレッドがある場合に対応できない様です。 次にCreateToolhelp32Snapshotによるプロセス内のThreadの列挙で SuspendThread/ResumeThreadをやろうとしましたが、 Thread32First/Thread32Nextで得られるThreadIDに対し、 OpenThreadでHandleへ変換しようとすると失敗してしまいました。 また、JobObjectの関連付けでJOB_OBJECT_LIMIT_JOB_TIMEや IDLE_PRIORITY_CLASSで時間制限を掛けてみましたが、このオプションは 設定時間にプロセスが終わってしまうだけみたいなので目的と違う様です。 使用率制限を行うツールとして既にBESという物がありますが、 あれはどうやっているのでしょうか?
- 109 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:07:32 ]
- すいません、BESはソースが公開されていますね。
調べてみます…。
- 110 名前:99 mailto:sage [2007/04/20(金) 17:12:42 ]
- >>102
はい。基本は9xで作っているんですけど、 動作確認のためxpで動かそうと思いました。 >>103 再描画されて欲しいのは、下にある親ウィンドウの方です。 ただ、最小化→標準化とすると、子ウィンドウの方も再描画されません。 WS_EX_LAYEREDについても調べてみます。
- 111 名前:108 mailto:sage [2007/04/20(金) 17:27:28 ]
- できました。Thread32First/Thread32Nextの方法でよかった様です。
- 112 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:37:56 ]
- 画像を扱うのにBMP用のAPIは見つかったのですが、
PNG用のAPIは、外部ライブラリを探すしかないのでしょうか? OSはXPです。
- 113 名前:デフォルトの名無しさん [2007/04/20(金) 17:40:00 ]
- GDI+でも検索汁
- 114 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:41:03 ]
- つ gdiplus
- 115 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:45:29 ]
- StretchDIBitsって出力先がメモリDCや拡張メタファイルでもPNGを出力できるんだろうか
- 116 名前:112 mailto:sage [2007/04/20(金) 17:50:23 ]
- ありがとうございます。勉強してきます。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:07:55 ]
- WM_CREATEメッセージ中に、子ウインドウのレイアウトに従い
自身のサイズを変更したいのですが、CREATESTRUCTを修正しても MoveWindow/SetWindowPosでも変更できないようです 何かいい方法はないでしょうか?
- 118 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:10:34 ]
- サイズの変更をポスト
- 119 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:15:05 ]
- >MoveWindow/SetWindowPosでも変更できないようです
可能性 ・自分の WM_SIZE ハンドラで、引数と無関係の値にサイズ変更している ・自分の親が 親のWM_SIZEのタイミングで 自分をMoveWindowしやがってる
- 120 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:15:36 ]
- あれ?ウィンドウ生成時にもWM_SIZEが発行されるんじゃなかったっけ?
- 121 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:26:35 BE:124224588-2BP(222)]
- >WM_CREATEメッセージ中に、
リソースインダイレクトを使っているというオチではなかろうな。
|

|