• ベストアンサー

DirectXプログラムでCNTL+ALT+DEL

C言語とDirectXを用いてプログラムを作成しているものです。 プログラムを実行している最中にCNTL+ALT+DELを押下し、キャンセルで元に戻ったとき、ウインドウに表示されていたものがすべて表示されなくなってしまいます。 WIN32APIを用いていたときは同じことをしても問題なく動作していました。 DirectXの場合は何か特別なことをしないといけないのでしょうか?(たとえばテクスチャをロードしなおすとか) よろしくお願い申し上げます。 OSはWindowsXPSP3、DirectXはNovember2008を使用しています

質問者が選んだベストアンサー

  • ベストアンサー
  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.1

DirectXは、該当のウィンドウがフォーカスを失ったり、 非表示になったりして致命的な割り込みが発生した場合、 デバイスが消失生する可能性があります。 その為、通常はPresent(描画)のタイミングでエラーチェックを行い、 デバイスロスト状態であった場合には、デバイスを再作成し、 テクスチャなどのリソースを再読み込みする必要があります。 参考URLにサンプルと、 結構分かりやすい説明が あるので参考までに。

参考URL:
http://marupeke296.com/DXG_No52_DeviceLost.html
cyacya2000
質問者

お礼

早速のご回答ありがとうございました。 結構な修正になりそうですが、頑張ってみます。

関連するQ&A

  • DirectX:描画されません・・・ヒント下さい・・・

    VCでC++を使ってDirectXを使ったプログラムを書いてます。 そういう仕事しているわけではなく、素人です。 DirectXは色々とややこしくて、何がなんだかさっぱりです。 とりあえず、Win32APIを使って、ウィンドウを表示し、DirectXを使って、ボタンを押すことで、ウィンドウモードとフルスクリーンモードを切り替えることの出来るプログラムは作れました。 しかし、3Dのモデルが表示されません。 何が駄目なのかが、さっぱりです。 こういう場合、何に原因があることが多いのでしょうか?? DirectX経験者の方、どうか、教えてください。お願いします。 以下に現在の状況を列挙します。 足りなければ、ご指摘ください。 ソースは見せることはできるのですが、かなり、スパゲティーなので・・・・。 DirectX:November 2008 目標:Xファイルからじゃなく座標を自分で指定して立方体を描画したい 出来ていると思われること ・Win32APIを使ったウィンドウの作成 ・Direct3Dオブジェクトの作成Direct3DCreate9⇒  D3DDeviceオブジェクトのプレゼンテーションパラメータの設定 ・カメラとライトの設定 ・あと、DirectXのメソッドで背景色だけは変えられます。 経験者の方がた、よろしくお願いします!!

  • DirectXによるpmdファイルの読み込み

    質問なのですが、現在DirectXでpmdファイルを読み込むプログラムを作成しているのですが サンプルプログラムで使用されていたpmdファイルを読み込むことには成功したのですが、 自分が使いたいLat式ミクを表示しようとするとフォルダの中に存在しているテクスチャが 見つからないと表示されアクセス違反が発生してしまいます。 なぜか指定されたデータは存在するのにプログラム側で「指定されたテクスチャファイルが見つかりません。」 と表示されるのか原因がわからず困っております。 読み込みのプログラムはこちらのサイトのpmdモデルの表示を参考にしました。 http://www2.ocn.ne.jp/~mhage/PIC_Trap/ データはソースコードが置いてある場所にモデル用のフォルダを作成しその中にすべて データを入れてあります。 パスの指定の方法は"関数の引数に("フォルダ名/モデル名.pmd")で指定しております。 ちなみにフォルダ内のデータをすべてソースコードが置いてるフォルダ直下に移した場合は表示されております . 環境 Windows7 VisualStudio2008 DirectXSDK November2007を使用しております

  • 非可視ウインドウのCtrl+Alt+Del

    Ctrl+Alt+Delのプログラムの強制終了の一覧には、可視ウインドウのタイトルバーの文字列などがありますが、非可視のウインドウではそこに表示させる文字をファイル名を変更せずにどうやって変更できますか?

  • プログラムを作りたいものがないけれども、

    挫折したと考えたほうがいいのでしょうか? VisualStudio.Netを持っています。 C言語でAPIでウインドウを表示させることとか 基本的なことはお勉強しました。 これでいろいろプログラムを作るぞというところになって作りたいものがなくなりました。 よろしくお願いします。

  • 不具合の対処

    VAIOノート、XPが突然おかしくなり、以下の症状です。対処の仕方を教えて下さい。せめてHDDのバック アップをとりたいのですが。 ・電源投入後、数分間、ぴ、ぴ、ぴ、・・・・と異常 終了後に電源投入した時の音。暫くして、これに加 え、かっ、かっ、かっという周期的な音が混じる。 ・デスクトップのフォルダ上に矢印を移動時すると  フォルダのサイズが吹き出し中に表示。(正常)  但し、タッチパッドをダブルタップしても動作  無し。右ボタン押下でフォルダが開く。矢印を  フォルダ画面右上の「×」のところに移動させて  左ボタン押下すると閉じる。 ・デスクトップ上のプログラムのショートカットに  矢印を移動するとプログラムの機能説明が表示  される。(正常)しかし、ダブルタップしても  動作無し。右ボタン 押下で正常にメニューが  表示される。「開く」に矢印を移動させて右ボタン 押下でソフトウェア起動。 ・Cntl+alt+delも機能しません。  おそらくキーボード等も機能しないと思います。

  • フォルダ参照ダイアログAPIをVBAに組み込んだときのESCキー押下

    フォルダ参照ダイアログAPIをVBAに組み込み、フォルダ選択画面が表示されたとき、ダイアログ上の「OK」「キャンセル」以外に、キーボードの「ESC」キーを押下すると、VBAの「コードの実行を中止」ダイアログが表示されプログラムの実行が中断します。「ESC」キーを押下しても「キャンセル」と同等の処理で、「コードの実行を中止」ダイアログを表示しないようにできるでしょうか。お知恵をお貸しください。

  • C++とゲームプログラミング

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。

  • テクスチャマッピングについて

    はじめまして C++とDirectXでプログラムをしているのですが、 テクスチャマッピングで表示する画像が 元の画像に比べ、ぼやけた感じになってしまいます。 なぜでしょうか?

  • プログラムの詳細わかりますか?

    Ctrl+Alt+Delで表示されるプログラムが何であるかを知りたいです。 現在表示されているのは以下です。できるだけ削除したいのでいらないと思われるものを教えて下さい。 Peeping Tom Checker Explorer Pccguide Pop3trap Pcciomon Tmoagent Pccclient Wmencagt Systray Khooker Imejpmgr

  • デスクトップ表示後砂時計で固まる

    2000(最新にupdしています)起動後、デスクトップ表示の砂時計状態で、固まってしまいます。 しかたがないので、ID入力後、すぐタスクマネージャを起動(cntl+alt+del)し、デスクトップ表示すると動くのです。 経験のおありの方、おられませんでしょうか。 cpuはセレロン1.4G、メモリは400位です。