y a un truc tout con à faire, dans ton winMain tu fait un createMutex, puis tu test avec getLastError s'il existe déjà, si c le cas tu quitte, si non tu continue ton prog normalement.
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
CreateMutex(NULL,TRUE,"testmutex" );
if(GetLastError() != ERROR_ALREADY_EXISTS)
{
//Code de l'appli
}
}