131 :
デフォルトの名無しさん:2001/07/20(金) 20:06
サスペンド・スタンバイになろうとしているのを検知する方法ってある?
132 :
デフォルトの名無しさん:2001/07/20(金) 20:23
WM_POWERBROADCAST
134 :
デフォルトの名無しさん:2001/07/20(金) 20:52
>>127 hMemDC に適当な bitmap を SelectObject させとかなくちゃだめ。
メモリDC は初期状態だと 1x1 ピクセル、depth=1 の
ビットマップしか持っていないから。
hBitmap = CreateCompatibleBitmap(hDC, size_x, size_y);
SelectObject(hMemDC, hBitmap);
とかやってみな。
135 :
デフォルトの名無しさん:2001/07/20(金) 22:54
SetPixelで画面を描画していくのと、DIBのビットマップを
作って、そっちのデータに直接書き込むのとどっちの方が
能率いいと思いますか。
137 :
135:2001/07/21(土) 00:00
>>136 フラクタルの画像をかこーと思ったんですが、
一点づつ打っていくのでDIBのほうがいいでしょうか>
138 :
127:2001/07/21(土) 00:02
>>134 できました!!
どうもありがとうございました。
140 :
デフォルトの名無しさん:2001/07/21(土) 00:42
DIBに変換して直接メモリ操作が良いと思う。>137
これって他にDirectX使う以外で良い方法ある?
>>137 前に俺がカオス画像書いたときは、描画スレッドを別に作って、
演算しつつDIBに描画し、WM_TIMERで10msごとにBitBltして表示した。
もちろんDIBに対してクリティカルセクションかけてたけど。
142 :
デフォルトの名無しさん:2001/07/22(日) 23:31
Win2k+VC6.0でCreateHardLink使うとリンクエラーになるけどなんで?
あるいはハードリンクはるコマンドラインツールってない?
windowsのハードリンクって何?unixのアレ?
いつのまにやらそういう事ができるようになったのか
NTでは大昔からできたよ
146 :
デフォルトの名無しさん:2001/08/08(水) 22:01
シロートながらふとやってみたくなったのですが、
WinMainとウインドウプロシージャを自作クラス内でやるのって
難しいんでしょうか?
クラス定義
→クラス内でWinMainとプロシージャを宣言
→中身を定義
→グローバルでクラスオブジェクト宣言
→WinMain呼ばれる(コンストラクタから呼べるかな?
ってな感じでいけるのかなぁ。
生WinAPI使って全部丸々オブジェクト指向、ってのは
知識浅いと無理でしょうか?
どうかアドバイスお願いします。
>>146 WinMain は OS 側から呼ばれるエントリポイントなので、自分で定義
したクラスから呼び出そうとか考えない方が良い。
実際には直接 OS が WinMain を呼ぶわけではなくて、その前にスター
トアップルーチンが介在しているので、これを自分で書けば不可能では
ないと思うけど、労多くして益なしだからやめいた方が良い。MFC など
のクラスライブラリでも WinMain を介さないフレームワークって見た
ことないし。
ウィンドウプロシージャに関しても呼び出し規約が決まっていて、隠し
パラメータとして this を渡す必要があるメンバ関数は登録できない。
ただし、こっちは抜け道があって
1. SetWindowLong で GWL_USERDATA に this ポインタを格納してお
き、ウィンドウプロシージャでは GetWindowLong で this を取得
し、メンバ関数を呼び出す。
2. thunk を使って、this ポインタを埋め込むウィンドウプロシージャ
を動的に作成する。
なんて方法で解決できる。後者は ATL で使われている。
ところで Win32 API を使ってプログラムを組みたいということなら、
一からフレームワークを作るよりも ATL/WTL を使うことを薦めます
けどね。
うが!
APIスレあるのに古いやつageてしまった・・・・
申し訳ないですすみませんごめんなさい
でもsageでいいのでレスください(ぉ
あ、レスありがとうございます!
やっぱ難しいのですか・・・う〜ん・・・・・・
ただせっかく書いてもらったし興味は残るんで
コピペしといて勉強してみます。
どうもありがとうございます。
ただATLとかは名前しか知らないんで・・・・
その辺も調べる必要ありってことですね。
ひとまずやってみます、ありがとうございます!
150 :
デフォルトの名無しさん:2001/08/08(水) 22:47
自分のexeのpathを取得する方法は?(GetCurrentDirectoryは×)