我正在创建一个游戏启动器,我希望我的程序在游戏运行时开始不断地计算控制台应用程序上的帧,然后当我退出游戏时它会停止。
这个函数通过它的地址启动游戏:
void StartApp(const std::string& Name)
{
size_t reqLength = ::MultiByteToWideChar(CP_UTF8, 0, Name.c_str(), (int)Name.length(), 0, 0);
std::wstring FileName(reqLength, L'\0');
::MultiByteToWideChar(CP_UTF8, 0, Name.c_str(), (int)Name.length(), &FileName[0], (int)FileName.length());
STARTUPINFO info = { sizeof(info) };
PROCESS_INFORMATION processInfo;
TCHAR args = 'open';
CreateProcess(FileName.c_str(), &args , NULL, NULL, TRUE , 0, NULL,NULL, &info, &processInfo);
DWORD ExitCode = NULL;
if (GetExitCodeProcess(processInfo.hProcess, &ExitCode))
{
GetFps(GetExitCodeProcess(processInfo.hProcess, &ExitCode));
}
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
我想在这个函数上写FPS计数器:
void GetFps(bool RunningApp)
{
while (RunningApp)
{
}
}
我发现要为游戏制作FPS计数器,您需要使用多个库,并且需要大量代码才能完成这项工作。 如果你想构建一个 FPS 计数器,你可以查看这个 GitHub 项目作为参考: FPS 计数器覆盖