Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
10.06.2011, 10:04 | #1 |
Неактивный пользователь
Пол: Регистрация: 02.10.2009
Сообщений: 6
Репутация: 0
|
Использование API
Доброго времени суток!
Есть острая необходимость написать приложение под Windows для сбора данных о конфигурации ПК с последующей отправкой в БД (IB). С API раньше не работал, отсюда вопросы: 0. Что прочитать? (на русском, желательно) 1. Как использовать WinAPI? 2. Какие функции мне понадобятся для получения информации о комплектующих и установленных программах? Если у кого-нибудь завалялось что-то подобное или Вы знаете где глянуть примеры реализации программ с использованием WinAPI, киньте ссылочку пожалуйста, буду очень признателен! |
Реклама: | Рекомендуем супермаркет KNS - VZ24EHF-W - билеты на футбол в подарок каждому покупателю | otec mini тарелка | информационные конструкции на маркизах | Рекомендуем компьютерную фирму КНС жесткий диск 4 тб - Подарок каждому покупателю! | lcm плитка |
10.06.2011, 18:02 | #2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Использование API
biatob, Привет!
Я по данной теме не стал заморачиваться с API и использовал EVEREST Корпоративную версию +bat-ник, который запускал ее с сервера с определенными параметрами и сохранял результат на сервер в указанную папку, в качестве имени файла был указан ПК. А потом уже разработал БД и программу для нее, которая цепляла отчеты и добавляла в базу. Если же именно API требуется, то тут 2 варианта: 1) использовать встроенные библиотеки компилятора; 2) подключать внешние dll-ки.
Залил архив неплохих книг и справочников по API. Скачать. Содержание
Как уже говорил выше можно использовать встроенные функции или подключать внешние dll-ки. Вот пример работы с API функциями: Код:
//Имя компьютера char buffer[256]; DWORD size; size=sizeof(buffer); GetComputerName(buffer,&size); LENamePC->Text=buffer; //Имя пользователя size=sizeof(buffer); GetUserName(buffer,&size); LENameUser->Text=buffer; //Версия ОС OSVERSIONINFO osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx((OSVERSIONINFO*)&osvi); int v=osvi.dwMajorVersion; String Version; switch (v) { case 5: { Version="Windows XP"; break; } case 6: { Version="Windows 7"; break; } default: ; } LEVersion->Text=Version; //Windows char WinDir[256]; GetWindowsDirectory(WinDir,256); LEWindows->Text=WinDir; //System char WinSysDir[256]; GetSystemDirectory(WinSysDir,256); LESystem->Text=WinSysDir; //Temp char WinTempDir[256]; GetTempPath(256, WinTempDir); LETemp->Text=WinTempDir; int temp=0; SystemParametersInfo(SPI_GETGRIDGRANULARITY,0,&temp,SPIF_SENDCHANGE); LabeledEdit1->Text=temp; SystemParametersInfo(SPI_GETMOUSEHOVERWIDTH,0,&temp,SPIF_SENDCHANGE); LabeledEdit2->Text=temp; SystemParametersInfo(SPI_GETWHEELSCROLLLINES,0,&temp,SPIF_SENDCHANGE); LabeledEdit3->Text=temp; temp=GetSystemMetrics(SM_CYDOUBLECLK); LabeledEdit7->Text=temp; bool kp; SystemParametersInfo(SPI_GETKEYBOARDPREF,0,&kp,SPIF_SENDCHANGE); LabeledEdit8->Text=BoolToStr(kp);
Так сразу не скажу, нужно смотреть описание API - функций. Быстрее всего набрать в google. Тут можно посмотреть www.codenet.ru |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13.06.2011, 10:38 | #3 |
Постоялец
Пол: Регистрация: 02.07.2009
Сообщений: 393
Репутация: 79
|
Re: Использование API
Информацию об установленных программах имеет смысл тянуть из реестра. Какие кусты/ключи нужны не знаю сейчас но наверняка всё хорошо ищется....
А вот про железо не знаю... есть подозрение что тоже из реестра может быть вытянута информация. Работа винапи не сильно отличается от работы с обычными функциями. Так же подключаешь хедер и используешь функции... в основном... Ключевое отличие, на мой взгляд - это большое количество не всегда понятных и удобных параметров. Кстати, если будешь тянуть из реестра - наверняка есть готовые компоненты для работы с ним. Ну а литература: я бы всё-таки начал с МСДН-а.
__________________
Каждый человек, которому вы ответили на форуме "гугл в помощь" - потенциальный "возвращенец" в винды. (ц) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование XP Unlimited | AndruKlad | Windows XP | 1 | 16.08.2009 11:53 |
Использование Инета | andreybkk | Скорая помощь | 4 | 08.04.2009 10:53 |
Использование юнитов | luivilla | Delphi | 6 | 24.03.2009 11:38 |
Эффективное использование ОЗУ | Yuric78 | Обсуждение программ | 15 | 21.07.2008 12:58 |
использование Zend_Rest_Server | Slach | PHP | 0 | 18.06.2007 10:39 |
|
|