Salve,
sto cercando di fare un Programma per calcolare quanto tempo resta aperto un altro programma.

Per esempio: io sto creando il programma A che appena il programma B si apre, il programma A fa partire il tempo, e quando il programma B si chiude, il tempo si ferma.

Ho provato vari metodi...con i threads...ma non ci sono ancora riuscito....

Ecco qui il codice
C++
codice:
#include <irrlicht.h>
#include <iostream>
#include <windows.h>
#include <time.h>
#include <tlhelp32.h>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>

using namespace irr;
using namespace std;

#pragma comment(lib, "Irrlicht.lib")
#pragma once


int main()
{

	DWORD FirstGTC = GetTickCount();

	bool bFlag;

	bFlag = false;

	HWND hWnd;
	DWORD dwID;
	HANDLE ProcHandle;

	hWnd = FindWindow(NULL, "Euro Truck Simulator");

	GetWindowThreadProcessId(hWnd, &dwID);

	ProcHandle = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, NULL, dwID);

	if (ProcHandle) {
          FirstGTC = GetTickCount();
          MyThread = CreateThread(&ThreadProc);
     }

     while (!bFlag) {
          Sleep(100);
     }

     printf("The process was running for %u milliseconds.\n",TimeElapsedInMilliseconds);

	return 0;

}

ThreadProc {
     while (ProcHandle) {
          Sleep(100);
     }

     TimeElapsedInMilliseconds = (GetTickCount() - FirstGTC);
     bFlag = true;
}