Добрый день. Вопрос следующий. Прога написана с использованием только native API . Необходимо чтобы при запуске в режиме Win32 программа прописывала себя в ключе \\Registry\\Machine\\System\\CurrentControlSet\\Control\\Session Manager, BootExecute,а при перезагрузке запускалась бы через этот ключ и патчила определенные экзешники. Если собрать приложение с ключем /SUBSYSTEM:NATIVE,то оно не запуститься в Win32,если с /SUBSYSTEM:WINDOWS - не запуститься через этот ключ. Возможно ли как-то выполнить и первое и второе для одного из вариантов сборки?
Код (Text): if ( ImageInformation.SubSystemType != IMAGE_SUBSYSTEM_WINDOWS_GUI && ImageInformation.SubSystemType != IMAGE_SUBSYSTEM_WINDOWS_CUI ) { // POSIX exe NtClose(SectionHandle); SectionHandle = NULL; if ( ImageInformation.SubSystemType == IMAGE_SUBSYSTEM_POSIX_CUI ) { if ( !BuildSubSysCommandLine( L"POSIX /P ", lpApplicationName, lpCommandLine, &SubSysCommandLine ) ) { return FALSE; } lpCommandLine = SubSysCommandLine.Buffer; lpApplicationName = NULL; RtlFreeHeap(RtlProcessHeap(), 0, NameBuffer); NameBuffer = NULL; goto VdmRetry; } else { SetLastError(ERROR_CHILD_NOT_COMPLETE); return FALSE; } } else { if (!BasepIsImageVersionOk( ImageInformation.SubSystemMajorVersion, ImageInformation.SubSystemMinorVersion) ) { SetLastError(ERROR_BAD_EXE_FORMAT); return FALSE; } }