>>951 遊びみたいだからズバリは言わないでおくけど、Spy++でメモ帳をよーく見てみよう。
× WM_UP
○ WM_KEYUP
>>951 面倒くさいことしなくても(WPARAM)'A'でいいだろ
>>952 もっと、ズバリと手取り足取り教えてください。
頭が悪いのでspy++見てもわかりません。
SendInputとか使わないの?
誰か頭悪い漏れに教えて下され。
16bitカラーのスクリーンをキャプチャした時、BITMAPINFO::bmiColors にセットすべき、
3つのDWORD値はどうやって取得すれば良いのですか。
>>935 名前付きイベント作ったほうが簡単じゃね?
>>958 キャプチャって何? スクリーンのDCからBitBltしてきた物? キャプチャライブラリの出力?
bmiColorsは3つのDWORD値などではないが、いったい何をセットする気だ?
そもそもそのHBITMAPは何なのだ? キャプチャの結果? それともそのコピー先?
俺も頭悪いから、おまえさんが何をしたいのかさっぱりわからん。
bmiColorsに三つっていったら、BI_BITFIELDSの事だろうと想像は付くが。
そんなマンドくせーフォーマット使うよか、24bitで受けた方が話は早いと思う。
>>958 試してないけど、ドキュメントには、
BYTE bmiBuffer[ sizeof(BITMAPINFO) + sizeof(RGBQUAD)*3];
BITMAPINFO* pBMI = (BITMAPINFO*) bmiBuffer;
ZeroMemory(pBMI, sizeof(bmiBuffer));
HDC hdc = GetDC(NULL);
GetDIBits(hdc, (HBITMAP) GetCurrentObject(hdc, OBJ_BITMAP),
0, 100, NULL, pBMI, DIB_RGB_COLORS); // 0と100は適当
とかすれば BITMAPINFO を得られるようなことが書いてある。
963 :
デフォルトの名無しさん:04/07/21 12:43
VirtualAllocができない。
VirtualAlloc(NULL,512000000,MEM_RESERVE | MEM_COMMIT,PAGE_READWRITE);
メモリー3G、XP−SP1でできない
NT−SP6ならOKだ。誰か助けてくれ!
>>963 512MB近くの連続領域は運が良くないと取れないと思うぞ。
32bit Windows ではユーザプロセスは標準では 2GB の仮想空間しか持
てない。その中に不連続に exe や DLL がマップされる。
Windows 2000 以降だったら、3GB モードを使えば確保できる確率は上
がるかも。
ウインドウの外枠を透明にすることってできますか?
子ウインドウの枠を消していろいろやりたいんですが・・・
WS_POPUP
EnumWindowsで取ったウインドーハンドルから
そのウインドーがどのプロセスのものか調べるにはどうやればできますか?
教えてください
タイトルバーに付いてるシステムボタン(クローズとか)を、
完全に無反応にすることって可能でしょうか?
(ボタンが機能する状態と、無反応の状態を切り替えたい)
押しても閉じない状態まではできるんですが、それでも
ボタンを押したままの状態だと制御がWINMAINに戻ってこなくて・・・
メイン部分を別スレッドにするとかしないとダメ?
GetSystemMenuして、SC_CLOSEを無効化
>>963 脇道にそれるけど512MB=512*1024*1024だからそれだとちょっと足りない。
>>970 >>971 ボタンをdisableやgrayedにして機能しなくすることはできたんですが、
これだとボタンの上でクリック(ドラッグ)すると、放すまで制御が
WINMAINに戻ってこないんですよね。
ボタン押されてもMAINのコードが止まらないようにしたいんですよ。
WM_NCHITTESTかな?
できた……。
>>968 GetWindowThreadProcessId()
>>975 ウインドーハンドルからプログラムのEXEファイルの名前が知りたいのです
それをやるにはどうやりますか?
GetModuleFileNameのような気がしたのでやってみます
違ってたらおしえてください
>976
MSのKBにまんまその回答があったなぁ。
GetModuleFileNameはローカルプロセス専用だった気がする。
>>977 それはモジュールハンドルやインスタンスハンドルを引数に取るんでウィンドウハンドルは無理です。
?
やっぱりGetWindowThreadProcessId()してOpenProcessしてEnumProcessModulesしてGetModuleFileNameExのような気がしてきた
キーボードの左キー(VK_LEFT)を押しながら、
'Z'キーを押した時っていうのはどう表現すればいいですか?
可能なのでしょうか
983 :
デフォルトの名無しさん:04/07/21 21:43
SendMessageとPostMessageってどう違うの?
呼び出し側に制御をすぐに返すのとそうでないのはわかりますけど
それだけの違いではないですよね?
大雑把に言うと、
Sendはその内部で直にウインドウプロシージャを呼び出し、
Postはメッセージをキューに入れるだけで、そのうちGetMessageなどで処理されるのを期待する。
と、俺はこんな感じに捉えているのだが。
>>982 表現はできているじゃないか。
状態を取得したいなら GetKeyboardStatusとかそんなAPIがあった気がする。
>>985 WM_KEYDOWN内でGetAsyncKeyState()関数の組合せで出来ました。
ありがとう。
987 :
デフォルトの名無しさん:04/07/21 22:59
>>986 惜しい、その場合はGetKeyStateだ。
>>987 その違いが理解できないなら使い分ける必要は無い。
非同期と動機の違いで、
同期のSendMessageは戻り値を受け取る事が出来、
非同期のPostMessageは、優先順位に応じて最適なタイミングでの処理が期待できる。
いくつか質問させて下さい。
1.ウィンドウを移動できないようにするにはどうすればいいか?
WM_MOVING等のイベント拾って無視しても無駄でした。
2.ウィンドウシェードをやりたいのですが、その方法は?
ウィンドウサイズを0にしたりボーダー+キャプションの高さに
しても無理でした。
よろしくお願いします。
次スレ立ててきてくれたら教える
>>991 1.WM_WINDOWPOSCHANGING
2.WM_WINDOWPOSCHANGING/WM_GETMINMAXINFOで妙なことしてなければ普通にサイズ変更するだけ。
埋め
生め
生き
998
今だ!999ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
やたー
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。