« 『チキンラーメン 辛口スパイシーチリ』って如何? | トップページ | 『味噌キャラメル』食す! »

2008年8月 8日 (金)

『Direct3D』での『DTRL+ALT+DEL』って…

『Windows2000系』で『DTRL+ALT+DEL』を入力すると…
『Windows のセキュリティ』ってダイアログが表示されます。

この時、色々困った事が起こります…。

『Direct3D』出力先が断ち切られるらしいのです。
デバイスがロストした状態ですね…。

そのため『Present』が失敗しその後の画面出力が失敗します。

『DIB』だとエラーが無いのになぁ~。

この状態って『Windows のセキュリティ』画面を占拠しちゃうので
他のアプリケーションにとってはウインドウが非アクティブでもなく…
アイコン化でもないとかなり特殊な状態…。

取り敢えずこんな処理をしておくと大丈夫そうです。

while(FAILED(g_pd3dDevice->Present(NULL,NULL,NULL,NULL))&&(hWnd!=NULL))
    g_pd3dDevice->Reset(&m_d3dpp);

ちなみに『DTRL+ALT+DEL』を無効にする剛のアプリケーションも…。

良いのか!?

一応マイクロソフトでは、そのようなプログラム組むな!
とおっしゃっています。

そのアプリとは、『北斗の拳ONLINE』だぁ~!!!
流石は、世紀末ソフト!
神(ビル)をも恐れぬプログラミングだぁ~!

と言う訳で今度、『DTRL+ALT+DEL』をキャンセルする処理でも作ってみるか…。

ちなみにディスクトップにフックするので若干処理が重くなるのが玉に傷…。

|

« 『チキンラーメン 辛口スパイシーチリ』って如何? | トップページ | 『味噌キャラメル』食す! »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/108365/42100838

この記事へのトラックバック一覧です: 『Direct3D』での『DTRL+ALT+DEL』って… :

« 『チキンラーメン 辛口スパイシーチリ』って如何? | トップページ | 『味噌キャラメル』食す! »