DOSプログラムについて

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

DOSプログラムについて

#1

投稿記事 by 天使 » 16年前

DOSでキー情報を取得する方法について教えていただきたいです。
WindowsAPIなどでしたらVK_で書けると思うのですがDOSだとわかりません。
現在は

int EscCheck(void)
{
scanf("%d",&Key);

if(Key == 1){
return 0;
}else{
return -1;
}
}
と書いています。
このようではなくif文で直接、Escキーが押されたらや1が押されたらと書きたいです。

またDOS上で警告などの文字を一部赤字にしたいのですができるのでしょうか?
APIではフォントセットみたいなのがあってサイズも指定できたのでできるのでしたら教えていただきたいです。

non

Re:DOSプログラムについて

#2

投稿記事 by non » 16年前

ESCキー情報を取得するってのは、私が質問の意味を理解出来てないのかもしれないけど、
int main(void)
{
	int ch;
	while((ch=getche())!=0x1b);
	return 0;
}

MS-DOSなら エスケープシーケンスで
printf("\033[31m");
とすると赤だったかな。DOS窓では使えないけど。

バグ

Re:DOSプログラムについて

#3

投稿記事 by バグ » 16年前

WINDOWS上でのコマンドプロンプト(コンソールアプリ)ではなく、MS-DOSなんでしょうか?
コンソールアプリであれば、APIを使用すれば文字の色の変更ができます。キー入力はgetchar関数の戻り値で判定してはいかがでしょうか?
MS-DOSの仕様は分かりませんが、APIを使用したコンソールアプリではファンクションキーや特殊キーは2回に分かれて情報が飛んできますので、getchar関数を2度実行する必要があります。

lbfuvab

Re:DOSプログラムについて

#4

投稿記事 by lbfuvab » 16年前

getchですね。
参照:http://msdn.microsoft.com/ja-jp/library/078sfkak.aspx

色を変えるのは
http://www.kumei.ne.jp/c_lang/intro/no_58.htm
を参照してください。

バグ

Re:DOSプログラムについて

#5

投稿記事 by バグ » 16年前

失礼しました。確かに、_getch関数でした。

閉鎖

“C言語何でも質問掲示板” へ戻る