Оказывается дело не в процедуре.
Я пробовал изменить значение адреса другими программами похожими на ArtMoney. Ни в одной программе процесса StarCraft.exe небыло. А артмани спокойно справляется.
Похоже в артмани другой подход к процессам.
******
Код:
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
OpenProcess возвращает 0. Хотя должен выдать дескриптор процесса.
Может кто обьяснит почему так, или подскажет альтернативное решение?