I want to create a launcher for a game, and I want my application to look into C:\Games (for example) for its executable (to detect it). I can do this by looking for the name, but what if the user renamed it? There must be an easier way.
You should be more specific. What do you mean by "launcher", and what does it do? Any reason you can't use a shortcut? And where will this "launcher" be located?
You could go with finding each *.exe, check the filesize and calculate the hash of its contents.
But why should the user rename the file?
In addition:
It's too much work trying to detect if the user renamed it, 99% of the PC world knows that if you rename something and it stops working, you should rename it back.