Делал недавно программу для Windows и файлы исходного кода лежали в одной папке под названием test, папка была создана уже давно и постоянно перемещалась с винта на винт. Так вот, по началу всё прекрасно работало а вот когда я попробовал запустить прогу на другом компе то практически все элементы в программе были некрасиво смещены. И когда я вручную пытался изменить MajorOSVersion на 4, то при запуске вообще писалось что данная программа не является Win32. Все проблемы исчезли когда я перекопировал тексты исходного кода в другой файл и папку находящуюся уровнем выше. Даже смотрел исходники Хекс-редактором на предмет постороннего кода или чего лишнего. Винчестер новый, думаю не из за него. Было когда нибудь у Вас такое ? Спасибо за внимание! P.S. Вся беда в том что ошибку я искал в исходном коде тем самым потратив много времени впустую. Впредь не хотелось бы повторение подобных ситуаций, поэтому и решил разобраться с вашей помощью!!!
Была аналогичная ситуация: главное окно программы при компиляции из подпапки текущего каталога адово переколбашивало, тогда как из самого каталога программа компилялась нормально. Выяснилось, что переменные W и H шли в памяти после строки, получающей имя программы. И что ж Вы думаете? Да, оказалось что строка вылезала за границы отведёной ей памяти и её «хвост» попадал в W и H.