Windows API

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Windows API, также WinAPI — известный интерфейс API, которым снабжена самая внедрённая операционная система современности, Windows. Сия система приобрела известность за счёт большого количества компьютеров, на которые можно её восрать, а также за счёт большого количества программ, которые ставятся спокойно и начинают потужно работать.

Описание[править]

Первые версии Windows (1.0-3.x) работали поверх MS-DOS и использовали 16-битный API, известный как Win16. Этот интерфейс был ограничен сегментной памятью процессоров Intel 80286/80386. Были в основном вялые приложения kernel.exe, user.exe, gdi.exe, которые позволяли подвосрать функции для работы с окнами, графикой и вводом.

С выходом Windows 95 и Windows NT 3.1 в них оказался восран Win32 API, сильное 32-битное расширение, обеспечивающее вытесняющую многозадачность, защиту памяти и поддержку длинных имён файлов (чего в DOS просто не было, имена были очень короткие, что вызывало неудобство добавлением в них при переполнении вандальной тильды ~). Так началось понимание API.

WinAPI построен по модульному принципу, где функции экспортируются из динамических библиотек. Надобно так сказать восрать нужный DLL, после чего уже станут доступны функции, посредством которых можно станет долбиться в интерфейсы системы, порождать окна и реакции, выбирать пути развития и так далее. Так-то, брат. Так-то.

Например, кернелевая активность кодера обеспечивается такими библиотеками, как kernel32.dll, advapi32.dll, ntdll.dll. С их помощью вполне можно осуществлять работу с процессами, потоками, памятью, файлами и реестром. Правда, жужжание в реестре является ограниченным, так как его вандализм в состоянии привести к отказу системы.

А скажем для работы с привычным интерфейсом надобно поджужжать себе shell32.dll, shlwapi.dll.

03ef4f7db0cccdf39bf013566aed31bd.jpg Системы, без которых машина просто откажется работать
СистемыAndroidDOSFreeBSDHaikuЛинуксMenuetOSMacOS (OS X) / Хакинтош / iOSOS/2ReactOSWindows / ВиндаРусОСФантом ОСUnixHarmony OSWindows vs. LinuxАстра ЛинуксMATEKaiOSChimbalixIOS 18WinGetThe Amnesic Incognito Live SystemTemple OSGrapheneOSKernel.orgWindows 3.11
СредыGNOMEGNU EmacsKDEЛинус Торвальдс vs x86 64SELinuxWindows UpdateИгры из репозиториевТерминалОптимизация WindowsПасьянс КосынкаEnd of 10Windows AeroАптаймОтечественные операционные системы в образованииPurble PlaceWindows vs Linux, Халяль или ХарамDKMSЯдро Linux
ЛюдиБалмерГенерал ФейлорПоттерингСтоллманТорвальдсФолькердингРуслан КармановRealme (компания)AnduinOSОболочка операционной системы
Дистрибутивы LinuxArchDebianFedoraFinnixGentooLFSUbuntu (BolgenOS) • СлакаUncom OSTiny10Tiny11Дешёвые ключи для WindowsLinux MintVirtualBoxManjaroДесктоп
Версии виндыWindows 95Windows 98Windows 2000Windows XPWindows VistaWindows 7Windows 8Windows 10Windows 11Windows Phone 7Windows Phone 8ГовносборкиWindows MEWindows ШкольникГрафики в Windows CalculatorKasperskyOSQuick machine recoveryBypassNROCtrl+Shift+Win+BLiquorixСмена обоев рабочего столаAUR
ПользователиАдминБздун • Виндузятник • КрасноглазикЛинуксоидЯблочникФайл подкачкиСпермопроблемыDistro hoppingLinux на сервере
Площадки/s/LORru macru.os.cmpstoplinux.org.ruНеофициальная Windows Вики
Мемы/dev/null • BSD, not LSD • GIFGNOME vs. KDEMac vs. PCOS-tanrm -rfSystem32TRUE-DEATH-PRIMITIVE-LINUX-MITOLLWindows vs LinuxБубенВендекапецГномикиДаунгрейдЕсли бы…Ждём ебилдовКЛБМаздайПатчить KDE2 под FreeBSDПереустановка WindowsПриборчикРаспечатать лицензию на ЛинуксTuxТупые свитчерыФениксНе работай под рутомБлокировка Windows в РоссииОСВзлом Windows через MetasploitЭффект ПьюдипаяTempleOS (аниме)
Достойные упоминанияAmigaСтарая копипаста:ШindowsЛинуксоидное ХанжествоСкотный Двор имени Линуса Торвальдса
Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниор
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор