Разработка приложений с помощью WinAPI. Урок 2 Файлы
Вставка
- Опубліковано 17 жов 2024
- На улучшение компьютера: www.donational... Код тут: pastebin.com/z...
В этом видео много теории, которая может пригодитьтся в дальнейшем: как для разработки вредоносного ПО так и для защиты от него.
Рассмотрим:
Файлы
Файловые системы
Открытие и закрытие файла #WinAPI, #VoidPtr, #C
Если не секрет, какую книгу, по вин апи, посоветуешь на данный момент? Интересует под плюсы больше чем под Си
М.б. я тороплюсь.Как понять,какие мне использовать классы,функции,объекты для написания чего-либо? Ведь,работа с WinAPI весьма специфична.Требуется для этого знать весь MSDN?
спасибо, уроки топ!
Форматируем флешки в FAT 12!!!!
Можешь сказать название книги по которой ты учишь?
Я даже ссылку могу дать) www.e-reading.club/book.php?book=141823
@@VoidPtr Благодарю) Эта книга подойдёт начинающим? Пока имеются знания азов C++
Да, там довольно всё просто написано, но! Некоторые примеры не работают
скажите пж название книги. сайт на который ведёт ссылка забанен
@@necrof5127 Харт Джонсон. Системное программирование в среде Windows если еще нужно
Классные разборы
Подскажи, а на кого ты учишься, что у вас винАПИ разбирают и на каком это курсе?
когда то учился в ШАГе(никому не рекомендую), и мне повезло просто с преподом, он по WinAPI рассказывал то же самое что и я в видео, а не про то как создавать не нужные окна и прочую фигню, которую вытеснил тот же QT или в случае с .Net - WPF
@@VoidPtr Погоди, почему это окна на WinAPI не нужные? Я вот хочу разрабатывать приложения под Windows и хочу учить именно WinAPI для GUI.
а что за книжку ты читал?
Полезное видео. lpSecurityAttributes - полезная штука, когда нужно указать права доступа к объекту ядра(дескриптору - handle).
ааа. Просто Харт об этой структуре говорит почти в самом конце книги
))) вот поэтому нужно читать Рихтера), там об этой структуре в начале книги говорится>))
есть еще книга Schupak_Yu_A_Win32_API_Razrabotka_prilozheniy_dlya_Windows стоит ли ее читать или же Рихтер лучше пишет?
У него книга скорее о графике, а не о WinAPI; + в основе графики лежит чистый GDI, а это для 2к18 фу. Если всё же хочется почитать о GUI и красивостях, то лучше Петцольда(Windows 95). А так, для понимания работы WinAPI - функций стоит Рихтера почитать, ну или Харта.
а Рихтер ли о всём подробно рассказывает? Просто Харт, которого я читаю - очень много рассказал о файлах, но вот о реестре у него мало информации
когда компилировал была ошибка (в code:blocks компилятор GCC)
cannot convert 'const char*' to 'LPCWSTR {aka const wchar_t*}'
но я просто изменил CreateFile на CreateFileW и всё работало как надо! Спасибо за классные обзоры!
Дело в том что у Вас по умолчанию стоял набор символов ASCII а не Unicode. Вот и из-за этого макрос CreateFile интерпретировался как CreateFileA. Чтобы код нормально компилировался - нужно указать в IDE чтобы по умолчанию использовался Юникод, или объявить константу UNICODE
Если папка файл, то почему её нельзя открыть блокнотом?
потому что у неё другое контекстное меню из-за атрибутов, и пункта "открыть с помощью" - нету
хотя в теории - такое можно сделать
@@VoidPtr в Windows ME я пробовал копировать досом папку в файл и открывать нотпадом.
@@VoidPtr
Windows 95+:
notepad "path\"
Windows 3.11-:
win notepad "path\"
@@ontixor2821 а в этом был толк? в файле оказывались хоть какие-то данные?
Спасибо, Сенсэй, вы научили меня писать простой вирус и теперь я пойду ломать кабины пк нубикам.
функция WINAPI не может быть перегружена
попробуй wWinMain
Понимаю, конечно, что я припозднился с ответом, но всё же. Замени "PWSTR pCmdLine" на "LPSTR lpCmdLine"
@@БаронМюнхаузен-е6м Спасибо! Действительно помогло! Как видите, лучше поздно, чем никогда))
@@mr.orleond4334 xD
Инвали'д хендл 😂
Интересно, познавательно. Но насколько я знаю, в винде устройства, пусть даже съёмные являются объектом. Автор видео наверное путает с юникс подобными системами - там насколько я знаю все устройства являются файлами.
Объектами являются и процессы ИМХО
Я думаю если вы программист, то уж наверное вы обратили внимание на функции доступа с этим объектам(файлам, драйверам, ком-портам, пайпам), а в пользовательском пространстве они именнуются как CreateFile, ReadFile, WriteFile. Почему-то они не называются CreateObject, ReadObject, WriteObject. Автор комментария наверное путает что-то. А вот для процессов есть совсем другие функции CreateProcess, OpenProcess, TerminateProcess и много всякого другого вкусного.
Они даже на уровне ядра именнуются практически так же, только с маленькими приставками типа ZwCreateFile