Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Borland C++ Builder

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 10.06.2011, 11:04   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 02.10.2009
Сообщений: 6
Репутация: 0
По умолчанию Использование API

Доброго времени суток!

Есть острая необходимость написать приложение под Windows для сбора данных о конфигурации ПК с последующей отправкой в БД (IB). С API раньше не работал, отсюда вопросы:

0. Что прочитать? (на русском, желательно)
1. Как использовать WinAPI?
2. Какие функции мне понадобятся для получения информации о комплектующих и установленных программах?


Если у кого-нибудь завалялось что-то подобное или Вы знаете где глянуть примеры реализации программ с использованием WinAPI, киньте ссылочку пожалуйста, буду очень признателен!
biatob вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: pz 40зеркало в раме настенноепривод клапана воздушной заслонкиИнтеграция IntellectDialog и Магазин ВКонтактеберже 3


Старый 10.06.2011, 19:02   #2
Pagon4eg
Постоялец
 
Аватар для Pagon4eg
 
Пол:Мужской
Регистрация: 17.07.2010
Адрес: Россия
Сообщений: 252
Репутация: 275
Post Re: Использование API

biatob, Привет!
Я по данной теме не стал заморачиваться с API и использовал EVEREST Корпоративную версию +bat-ник, который запускал ее с сервера с определенными параметрами и сохранял результат на сервер в указанную папку, в качестве имени файла был указан ПК.
А потом уже разработал БД и программу для нее, которая цепляла отчеты и добавляла в базу.
Если же именно API требуется, то тут 2 варианта:
1) использовать встроенные библиотеки компилятора;
2) подключать внешние dll-ки.

Цитата:
Сообщение от biatob Посмотреть сообщение
0. Что прочитать? (на русском, желательно)

Залил архив неплохих книг и справочников по API.
Скачать.
Содержание

Цитата:
Сообщение от biatob Посмотреть сообщение
1. Как использовать WinAPI?

Как уже говорил выше можно использовать встроенные функции или подключать внешние 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);
Цитата:
Сообщение от biatob Посмотреть сообщение
2. Какие функции мне понадобятся для получения информации о комплектующих и установленных программах?

Так сразу не скажу, нужно смотреть описание API - функций. Быстрее всего набрать в google.
Тут можно посмотреть www.codenet.ru
Pagon4eg вне форума
 
Ответить с цитированием Вверх
Старый 13.06.2011, 11:38   #3
Alan2006
Постоялец
 
Пол:Мужской
Регистрация: 02.07.2009
Сообщений: 393
Репутация: 79
По умолчанию Re: Использование API

Информацию об установленных программах имеет смысл тянуть из реестра. Какие кусты/ключи нужны не знаю сейчас но наверняка всё хорошо ищется....

А вот про железо не знаю... есть подозрение что тоже из реестра может быть вытянута информация.

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

Ну а литература: я бы всё-таки начал с МСДН-а.
__________________
Каждый человек, которому вы ответили на форуме "гугл в помощь" - потенциальный "возвращенец" в винды. (ц)
Alan2006 вне форума
 
Ответить с цитированием Вверх
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование XP Unlimited AndruKlad Windows XP 1 16.08.2009 12:53
Использование Инета andreybkk Скорая помощь 4 08.04.2009 11:53
Использование юнитов luivilla Delphi 6 24.03.2009 12:38
Эффективное использование ОЗУ Yuric78 Обсуждение программ 15 21.07.2008 13:58
использование Zend_Rest_Server Slach PHP 0 18.06.2007 11:39

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:10. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.14269 секунды с 13 запросами