Краткий обзор этой проблемы - я создаю аркадную игру, которая будет работать под управлением Windows XP.Я пытаюсь скрыть тот факт, что на нем работает Windows, которая затемняет все, скрывает курсор и заменяет оболочку Windows исполняемым файлом моей игры (так что панели задач нет).Я делаю это, используя gpedit.msc, Local Computer Policy >> User Config.>> Админ.Шаблоны >> Система >> Пользовательский интерфейс и указание EXE моей игры в качестве программы пользовательского интерфейса.Это то, что некоторые делают при создании аркад MAME, указывая внешний интерфейс, который загружается вместо Explorer.exe.l Проблема, с которой я сталкиваюсь, заключается в том, что моя программа не может открывать файлы, когда она настроена для работы в качестве пользовательского интерфейса / оболочки.Когда моя программа пытается открыть файл данных, fopen каждый раз возвращает NULL.Однако после того, как это произойдет, если я запущу диспетчер задач и запусту ту же программу вручную, что и новая задача, файлы смогут открываться очень хорошо.Кроме того, если вместо того, чтобы использовать мою программу в качестве пользовательского интерфейса, я вместо этого указываю командный файл, который запускает мою программу, то программа может нормально открывать файлы.Я бы предпочел не идти по этому пути, так как появляется командная строка, и очевидно, что это окно Windows.Я даже пытался скрыть эту командную строку, используя сценарии, но это не сработало.
Чтобы устранить эту проблему, я написал программу, использующую stdio (а не мою библиотеку игр, чтобы изолировать это), чтобы просто открыть текстовый файл.что существует и сообщить, успешно ли он открыл файл или нет.При запуске в качестве пользовательского интерфейса он не может открыть файл, но после входа в систему и запуска вручную он может открыть файл просто отлично!Любая помощь в том, что я скучаю, будет очень признателен!Спасибо!