DOSでキー情報を取得する方法について教えていただきたいです。
WindowsAPIなどでしたらVK_で書けると思うのですがDOSだとわかりません。
現在は
int EscCheck(void)
{
scanf("%d",&Key);
if(Key == 1){
return 0;
}else{
return -1;
}
}
と書いています。
このようではなくif文で直接、Escキーが押されたらや1が押されたらと書きたいです。
またDOS上で警告などの文字を一部赤字にしたいのですができるのでしょうか?
APIではフォントセットみたいなのがあってサイズも指定できたのでできるのでしたら教えていただきたいです。
DOSプログラムについて
Re:DOSプログラムについて
ESCキー情報を取得するってのは、私が質問の意味を理解出来てないのかもしれないけど、
MS-DOSなら エスケープシーケンスで
printf("\033[31m");
とすると赤だったかな。DOS窓では使えないけど。
int main(void) { int ch; while((ch=getche())!=0x1b); return 0; }
MS-DOSなら エスケープシーケンスで
printf("\033[31m");
とすると赤だったかな。DOS窓では使えないけど。
Re:DOSプログラムについて
WINDOWS上でのコマンドプロンプト(コンソールアプリ)ではなく、MS-DOSなんでしょうか?
コンソールアプリであれば、APIを使用すれば文字の色の変更ができます。キー入力はgetchar関数の戻り値で判定してはいかがでしょうか?
MS-DOSの仕様は分かりませんが、APIを使用したコンソールアプリではファンクションキーや特殊キーは2回に分かれて情報が飛んできますので、getchar関数を2度実行する必要があります。
コンソールアプリであれば、APIを使用すれば文字の色の変更ができます。キー入力はgetchar関数の戻り値で判定してはいかがでしょうか?
MS-DOSの仕様は分かりませんが、APIを使用したコンソールアプリではファンクションキーや特殊キーは2回に分かれて情報が飛んできますので、getchar関数を2度実行する必要があります。
Re:DOSプログラムについて
getchですね。
参照:http://msdn.microsoft.com/ja-jp/library/078sfkak.aspx
色を変えるのは
http://www.kumei.ne.jp/c_lang/intro/no_58.htm
を参照してください。
参照:http://msdn.microsoft.com/ja-jp/library/078sfkak.aspx
色を変えるのは
http://www.kumei.ne.jp/c_lang/intro/no_58.htm
を参照してください。