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;
}