Your question asks one thing (is a program "running") while your code checks for another thing (can you successfully open a file to read it) and your error message and the text of your question is discussing yet another thing (is a given executable "installed).
Until you understand the distinctions among these different questions you cannot possibly write a program to do what you intend (whatever that actually is).
Opening a file tells you whether a file by a given name exists in a given location with permissions that allow you to access it. That's useless for trying to prevent a "cheat" utility from being used while your program/game is running.
You might have some, very limited, success by checking the PATH to see if the "cheat.exe" program is anywhere thereon. However, that would be pretty lame. The intelligence and educational bar to renaming the program and keeping it in some directory that's NOT on the PATH is pretty low. I figure the average 10 year old playing games on MS Windows will probably solve that puzzle (hack around that strategy) in about five minutes or less ("Achievement unlocked!").
Programs such as "World of Warcraft" have rather sophisticated "warden" techniques which attempt to prevent programs (such as "Glider" or or "Shadowbot") from running while WoW is open. Such programs can, of course, be installed in any directory, under any name, and can, while running, rename themselves in the process listing. These "cheat" programs use essentially the same OS facilities that a debugger uses (the ptrace interface under MacOS X and whatever its analog is under MS Windows). These allow programs like gdb and strace to "peek" into another program's address space and "poke" values thereto. So they work by peeking at locations where the program stores certain model information about the user interface (essentially where a target is located, for example) and poking events into the buffers where the OS would normally place keyboard and mouse events (thus simulating user interactions and automating them).
The "warden" can, conceivably, try to scan the process table for certain signatures (similar to an anti-virus) and could even attempt to use similar "debugging" interfaces to look for traces of the verbotten programs.
However, ultimately this is not a game you'll win without the support of the hardware (something like the infamous TPM --- trusted platform module) which is currently not available to game authors in commodity consumer markets (general purpose PCs and Macs, for example).
But hey, have fun trying.