キーを押している間に実行するプログラム

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

キーを押している間に実行するプログラム

#1

投稿記事 by TN » 8年前

コード:

void run()
	{
		cv::Mat image;
	
			int i;
			int rx, ry, lx, ly, hx, hy;
			int cx[1000], cy[1000], ca[1000], cb[1000], cX[1000], cY[1000], t[1000];

			for (i = 0; i <= 250; i++)
			{

				// データの更新を待つ
				DWORD ret = ::WaitForSingleObject(streamEvent, INFINITE);
				::ResetEvent(streamEvent);

				drawRgbImage(image);
				skeletonMouse(&rx, &ry, &lx, &ly, &hx, &hy);
				cx[i] = rx;
				cy[i] = ry;
				ca[i] = lx;
				cb[i] = ly;
				cX[i] = hx;
				cY[i] = hy;

				cv::imshow("RGBCamera", image);

				// 終了のためのキー入力チェック兼、表示のためのウェイト
				int key = cv::waitKey(10);

				t[i] = clock();
			}

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
		{
			_getch();
			while (uMsg == WM_KEYDOWN)
			{
				run();
				if (uMsg == WM_KEYUP)
				{
					break;
				}
			}
		}

void main()
{
	try
	{
		KinectSample kinect;
		kinect.initialize();
		LRESULT CALLBACK WindowProc();
	}
	catch (std::exception& ex)
	{
		std::cout << ex.what() << std::endl;
	}
}
キネクトを用いてキーが押されたら動画の撮影を開始し、離されたら終了するプログラムの作成を行っています。
プログラム初心者で参考書やネットを探って作っているのですが、うまく実行されません。
_getch()でキー待ちも行ってもらえないのですが、何が原因なのでしょうか。
わかる方がいましたら教えてください。

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