|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - C/C++|Example|Программа для восстановления загрузчиков Windows Vista и Windows 7 |
|
Win32 API - C/C++|Example|Программа для восстановления загрузчиков Windows Vista и Windows 7
|
Ветеран Сообщения: 3320 |
Профиль | Отправить PM | Цитировать Данная программа представляет собой GUI оболочку над системными утилитами BootSect и BcdEdit.
Прямая ссылка на исходник -> http://www.topsoftzone.ru/files_soft...tiboot_src.zip FAQ Q. Как скомпилировать? A. Я использовал Microsoft 32-bit C/C++ Optimizing Compiler версии 15.00.30729.01 входящий в Microsoft Visual С++ 2008 Express Edition. cl MultiBoot.cpp Kernel32.lib User32.lib Shell32.lib Gdi32.lib Comdlg32.lib ComCtl32.lib Version.lib AdvApi32.lib /D "_UNICODE" /D "UNICODE" /link /subsystem:windows Требуется так же наличие Microsoft SDK. Например последний - Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 на конкретную платформу (x86, x64, IA64). Опционально можно добавить ещё ключи /MERGE:.rdata=.text /SECTION:.text,EWR Компилировал именно с консоли (Пуск->Программы->Visual C++ 9.0 Express Edition->Visual Studio Tools->Visual Studio 2008 Command Prompt) Так как не хотелось навязывать "Распространяемый пакет Microsoft Visual C++" (Microsoft Visual C++ Redistributable Package). Если известно где в среде отключается данная зависимость, то прошу об этом сообщить в теме Visual C++ 9.0 и C++Builder 2007 - программы на голой винде (без .NET и тд) Для компиляции так же годится Visual C++ Toolkit 2003 и Visual C++ 2005 Express Edition Q. Так может где-то есть бинарник? A. Да есть http://soft.oszone.net/program/9336/MultiBoot/ Q. Как добавить ресурсы в выходной файл, как это сделано в бинарнике выше? A. Нужно указать подготовленный ресурс при компиляции. cl MultiBoot.cpp Kernel32.lib User32.lib Shell32.lib Gdi32.lib Comdlg32.lib ComCtl32.lib Version.lib AdvApi32.lib /D "_UNICODE" /D "UNICODE" /link /subsystem:windows MultiBoot.res Q. А как подготовить ресурс файл? A. Для этого в блокноте пишем следующие строки сохраняем файл, например под именем MultiBoot.rc. Дальше понадобится компилятор ресурсов. Например Microsoft Windows Resource Compiler. Можно найти в составе SDK. В консоли заходим в папку с RC и пишем такую команду rc -r -DWIN32 MultiBoot.rc Если требуется, указываем полный путь к MultiBoot.rc. В результате получаем MultiBoot.res файл. Q. Ну а как быть с манифестом, его ведь тоже можно разместить в ресурсах? A. Да можно, для этого есть специализированная утилита mt (Manifest Tool), входящая в SDK. mt.exe" -manifest MultiBoot_with_res.exe.manifest -outputresource:MultiBoot_with_res.exe;1 В результате манифест разместится в ресурсах. Так же есть возможность разместить и через компилятор ресурсов, для этого пишем или дописываем выше начатый RC файл 1 24 DISCARDABLE MultiBoot.exe.manifest и проделываем действия из ответа выше. Q. Как собрать х64 версию бинарника? A. Алгоритм сбора непосредственно в средстве разработке мне неизвестный. Попробуйте узнать например через тему Компиляция кода в VS 2005 для Win x64 При установленной SDK это можно сделать следующим образом
Q. Где бы ещё что-то почитать по данному коду? Может есть какие-нибудь источники? A. Да, конечно. Вот список руководств по WIN32 (на английском) Forger's Win32 API Tutorials The Winapi (C Win32 API, No MFC) tutorial Damb - Tutorials Пример работы с GetVersion в программу вошёл практически без изменений. Связанная тема Прозрачный STATIC текст Q. Могу ли я использовать код в своих программах? A. Да, конечно. Cпециально для участников и гостей конференции OSZone.net Найдёте баг - дайте знать. Есть предложение, не стесняйтесь. Темы подкатегории Example, предложены участником hasherfrog. Тема построена по аналогии с этой. |
|
Отправлено: 02:45, 19-11-2009 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Программы - Windows 7 Стиль для Windows Vista. ( Theme Windows7 for Vista) | genuge | Оформление Windows 11/ 10 / 8 / 7 / Vista | 9 | 03-02-2017 14:28 | |
Разное - Восстановление файлов после восстановления Windows Vista | Sjova | Microsoft Windows Vista | 0 | 07-07-2008 13:58 | |
Восстановление - Программы для восстановления состояния Windows XP | ShaRP | Программное обеспечение Windows | 14 | 17-04-2008 19:45 | |
[решено] Необходима программа для восстановления исходной информации | Smasher_go | Программное обеспечение Windows | 3 | 26-10-2007 20:07 | |
Программа для сохранения и последующего восстановления настроек ОС | TechnoTrasher | Microsoft Windows NT/2000/2003 | 8 | 14-09-2006 07:40 |
|