他のソフトを操作している時でも時間を数えたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
残念
記事: 36
登録日時: 5年前

他のソフトを操作している時でも時間を数えたい

#1

投稿記事 by 残念 » 5年前

こんにちは、残念と申します。
この度、一定時間経つと表示される画像が変わるようなソフトを作りたいと思い、次のようなコードを書いてみたところ、

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	ChangeWindowMode(TRUE);
	SetGraphMode(640, 480, 32);
	SetWindowStyleMode(2);
	SetWindowSizeChangeEnableFlag(TRUE);
	
	if (DxLib_Init() == -1)		
	{
		return -1;			
	}

	SetDrawScreen(DX_SCREEN_BACK);
	int t = GetNowCount();
	int i = 0,j;
	int h[100];
	char name[6] = "0.jpg";

	while (LoadGraph(name) !=-1){
		h[i] = LoadGraph(name);
		sprintf(name, "%d.jpg", i + 1);
		i++;
	}
	j = i;
	i = 0;
	while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0){
		
		
		
		
		DrawGraph(0, 0,h[i], FALSE);
		DrawFormatString(0, 0, GetColor(155, 155, 155), "%d %d ", j, (GetNowCount() - t));
		if ((GetNowCount() - t) / 500 > 60)
		{
			if (i>= j-1){ i = 0; }
			else
			{
				i++;
			}
			
			t = GetNowCount();
		}
		ScreenFlip();
		
	}

	DxLib_End();				// DXライブラリ使用の終了処理

	return 0;				// ソフトの終了 
}
確かに一定時間ごとに変わるのですが、そのまま他のソフトをクリックするとカウントが止まり、
画像を切り替えることができませんでした。
他のソフトを操作していてもカウントが止まらないような方法はないでしょうか。

アバター
みけCAT
記事: 6309
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: 他のソフトを操作している時でも時間を数えたい

#2

投稿記事 by みけCAT » 5年前

SetAlwaysRunFlag関数を使うといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

残念
記事: 36
登録日時: 5年前

Re: 他のソフトを操作している時でも時間を数えたい

#3

投稿記事 by 残念 » 5年前

みけCATさん、うまくいきました。ありがとうございました。

残念
記事: 36
登録日時: 5年前

Re: 他のソフトを操作している時でも時間を数えたい

#4

投稿記事 by 残念 » 5年前

クイック返信をし、解決!を押していなかったので、解決!にチェックをつけておきます。

閉鎖

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