dinputを使用した時MessageBoxのボタンが押せなくなる

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: dinputを使用した時MessageBoxのボタンが押せなくなる

Re: dinputを使用した時MessageBoxのボタンが押せなくなる

#2

by 参照魚 » 3年前

問題がある場所は提示されているコードの周りではなく、DirectInputの初期化と毎ループの入力読み取り周りだと思われます。もしDirectInput周りが何かしらのライブラリィでラッピングされているのであれば、そのライブラリィとmCurrKeyboardの接続部分にあるとおもいます。

dinputを使用した時MessageBoxのボタンが押せなくなる

#1

by mnmndhh » 3年前

初めまして。タイトル通りなのですが、dinputを使用してキーが押されたときMessageBoxを表示するプログラムを実行した時ボタンが押せなくなります。試しにif文をコメントアウトすると押せるようにます。どうしたらボタンが押せるようになりますか。

コードで表したらこんな感じになります。

コード:

if (keys.GetKeyValue(DIK_G))
{
	MessageBoxA(nullptr, "test", "title", MB_OKCANCEL);
}
このコードをif文をコメントアウトするとメッセージボックスのボタンが押せるようになります。

コード:

// if (keys.GetKeyValue(DIK_G))
{
	MessageBoxA(nullptr, "test", "title", MB_OKCANCEL);
}
ちなみに、キーの状態取得のコードはこうなってます。

コード:

bool Keyboard::GetKeyValue( int key) const
{
	return mCurrKeyboard[key] & 0x80;
}
https://gamedev.net/forums/topic/357908 ... d/3350317/
上記のサイトの方も同じような症状でしたので、メッセージボックスを表示する前にUnacuireを挟んでも解決しませんでした。

ページトップ