+PROCESS_INFORMATION StartOBS()\r
+{\r
+ PROCESS_INFORMATION pi;\r
+ STARTUPINFOA sui;\r
+ GetStartupInfoA(&sui);\r
+ CreateProcessA(nullptr, "C:\\Program Files\\obs-studio\\bin\\64bit\\obs64.exe --disable-shutdown-check",\r
+ nullptr, nullptr, false, NORMAL_PRIORITY_CLASS, nullptr, "C:\\Program Files\\obs-studio\\bin\\64bit", &sui, &pi);\r
+ return pi;\r
+}\r
+\r
+void StopOBS(PROCESS_INFORMATION &pi)\r
+{\r
+ EnumWindows([](HWND hwnd, LPARAM lParam) -> BOOL {\r
+ PROCESS_INFORMATION *pi = (PROCESS_INFORMATION*)lParam;\r
+\r
+ DWORD pid, tid;\r
+ tid = GetWindowThreadProcessId(hwnd, &pid);\r
+ if (tid == pi->dwThreadId && pid == pi->dwProcessId) {\r
+\r
+ char title[1024]; GetWindowTextA(hwnd, title, 1024);\r
+\r
+ if (strncmp(title, "OBS", 3) == 0) {\r
+ PostMessage(hwnd, WM_CLOSE, 0, 0);\r
+ return FALSE; \r
+ }\r
+ }\r
+ return TRUE;\r
+ }, (LPARAM)&pi);\r
+}\r
+\r