Monday, March 06, 2006

.

Nejprve trocha teorie. Dříve, tedy v časech 16bitových Windows, byla situace celkem snadná. Windows udržovala v proměnné hPrevInst informaci o předchozích instancích programu, takže pokud byla proměnná nenulová, bylo jasné, že již běží. Tato proměnná ve 32bitových Windows sice existuje nadále, jenže je bohužel stále nulová bez ohledu na počet spuštěných programů, takže ji nelze použít. Jedním ze způsobů, jak tento problém vyřešit, je použít tzv. "vzájemné vyloučení" neboli "mutual exclusion", zkráceně mutex.