Native приложения
Native приложенията да работят на екрана, който се появява преди прозореца за вход. Например Заявлението за е роден Chkdsk приложение, което работи в предната част на Windows, ако предварително Проверката е започнала на преградни грешки на системата и отложено за рестартиране. Приложението работи като показва диалогов екран, а след това има един нормален старт на Windows.
Предимствата от използването на този режим: по-голямата част от Windows компоненти все още не работи, няма много ограничения. Този режим, например, се използва в приложения, които искат нещо общо с системния дял на Windows, но не може да работи, докато операционната система: дефрагментатор преобразуватели файловата система, а като помощната програма.
Моята програма Native черупка стартира екрана за вход и осигурява ред интерфейс команда със способността да се движите на файловата система на Windows, копиране и изтриване на файлове, да видите някаква информация за операционната система и изпълнява други процеси, които могат да работят в родния режим, като Autochk. Търсейки и autoconv.exe. Налични програми Изходният код в C език.
- Windows XP син екран. Windows Vista черен екран Черен екран на Windows 7Native приложения са събрани с помощта на WDK - Kit Driver Windows (известен също като DDK). Възможно е да ги направи по друг среда за разработка, но в WDK-лесно.
Функции в ntdll.dll имат представки Zw и Nt. както и някои други. Тя може да се види, че ZW и Nt функции са дублиращи се имена. В действителност тя е една и съща функция. Ако погледнем например в мрежа чрез който и да е функция, е необходимо да се търси първо с префикс, а след това от друга страна, в противен случай може да пропуснете нещо. Защо те имат различни представки - друга история, за родния приложен програмен не играе съществена роля.
Програмиране нужда прототипи Native функции API, но във файловете на заглавните WDK присъстват не всички дефиниции. Необходимо е да се използват алтернативни заглавни файлове, съдържащи включително определянето на недокументирани функции и типове данни. Например, можете да използвате заглавните файлове Native Kit развитие (НДК), които са на разположение тук.
Програма в чист Native API неудобно. Не може да се направи без библиотеката, която вече прилага някои рутинни стъпки. Има една библиотека с отворен код - ZenWINX. можете да го използвате. Още на стр НДК обявиха някои библиотека NDL, но на своя уебсайт не.
Native приложение да се изпълнява, когато Windows стартира, е необходимо да го поставите в папката system32 и ключ на регистъра HKLM \ System \ CurrentControlSet \ Control \ Session Manager \ списъка на стартиращите се регистрирате името на файла, както и аргументите, ако има такива. Ключът от тип MULTI_SZ, може да съдържа няколко реда. Първият ред отива там Автоматична Autochk *. След това можете да се регистрирате вашата програма. В програмата, да се регистрира по този начин, има способността да работи дори и в Windows Safe Mode (безопасен режим), така че трябва да бъдете внимателни. Грешка в програмата - и системата не се стартира. Но това е възможно в рамките на приложението, за да следите началото на факт в безопасен режим и да се справят с този режим, отделно, например, за да завършването на програмата, когато тя откри, че работи в защитен режим. Освен това, въпреки факта, че програмата работи, и може да извърши някакво действие в този режим не работи върху изходната конзола. Не може да се потребителя. Това трябва да се разглежда.
Ако е необходимо, роден-приложение може да работи без рестартиране на компютъра. За да направите това, използвайте помощната програма nrun.exe. Но на екрана зареждане от този не се появи, и вие трябва да разбера как да си взаимодействат повече с вашата кандидатура, ако имате нужда интерактивност. В изходния код nrun можете да видите как да се приложи родния старта процеси, използвайки без документи Native функции API.
В стандартните приложения, основен пункт за влизане, не е и не wmain и NtProcessStartup. В PE-заглавна EXE-файл е специален поле, което означава, подсистема, в която то се изпълнява. В стандартните приложения в тази област е настроен на специална стойност, което показва, че EXE изисква подсистемата. Конвенционалните приложения пуснати стойност, съответстваща на подсистемите "Windows GUI" и "Windows конзола". Native приложения не работят в нормален режим на Windows. Когато се опитате да стартирате програмата Windows дава съобщение "Приложението не може да се управлява в режим на Win32."
Заключение кирилица на екрана по подразбиране в този режим не се поддържа. Има начин да заобиколят това ограничение, обаче, начин да се сложна и работи досега само на Windows XP.
Приложението не може да се управлява в режим на Win32
Аз създадох празно Проект Native приложения - набор от файлове, които могат да се използват като основа за развитието на собствените си местни приложения. Заготовката се състои native.c файл. съдържащ входната точка на прилагането. Други файлове - тези са файлове ZenWINX библиотеки, които са били променени, така че да се използва определението за функциите на НДК, а не от неговите определения файлове. Това ви позволява да използвате функциите на библиотеката, както и типични функции API, че разработчиците ZenWINX забравили да включат в собствения си файл заглавието. В действителност, НДК - пълен каталог на коренните жители на функциите на API, отколкото доставя с ZenWINX файла. Събиране на детайла необходимостта да се изгради от помощната програма WinDDK (аз съм с версия WinDDK 1.1.6001.000). Необходимо е да се свържете заглавните файлове НДК на предписване на пътя до папката с тях.