Por si alguien lo nececita en C++ Builder, añadir en la función main:
Código:
const char UnicoNombre[] = "MiPrograma";
HANDLE hHandle = CreateMutex(NULL, TRUE, UnicoNombre);
if(ERROR_ALREADY_EXISTS == GetLastError()) {
ShowMessage("El programa ya está en ejecución");
return(1);
}