#define WINVER 0x0500
#include <psapi.h>
//Also link to psapi.lib
BOOL IsTSReaderRunning()
{
	DWORD * pProcesses = LocalAlloc(LPTR, sizeof(DWORD) * 1024);
	DWORD dwReturned;
	BOOL fRetVal = FALSE;
	if (EnumProcesses(pProcesses, sizeof(HANDLE) * 1024, &dwReturned) != FALSE)
	{
		int i;
		for (i = 0; i < (int)(dwReturned / sizeof(HANDLE)); i++)
		{
			HANDLE hProcess;
			char szFileName[MAX_PATH];
			DWORD dwModuleReturned;
			
			hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pProcesses[i]);
			if (hProcess != NULL)
			{
				HMODULE * pModules = LocalAlloc(LPTR, sizeof(HMODULE) * 1024);
	
				if (EnumProcessModules(hProcess, pModules, sizeof(HMODULE) * 1024, &dwModuleReturned) != FALSE)
				{
					if (GetModuleBaseName(hProcess, pModules[0], szFileName, sizeof(szFileName)) != FALSE)
					{
						strlwr(szFileName);
						if (strcmp(szFileName, "tsreader.exe") == 0)
							fRetVal = TRUE;
						if (strcmp(szFileName, "tsreaderlite.exe") == 0)
							fRetVal = TRUE;
					}
				}
				LocalFree(pModules);
				CloseHandle(hProcess);
			}
		}
	}
	LocalFree(pProcesses);
	return fRetVal;
}