Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2008, 16:15   #1
ActiveX
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 14
По умолчанию Чтение данных из реестра на WinAPI...

Добрый день. Написал функцию которая определяет версию браузера IE из реестра:

Код:
Uses Registry;

Function GetIEVersion: String;
Var
Reg: TRegistry;
Begin
Reg:=TRegistry.Create;
Try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Internet Explorer\', False);
Result:=Reg.ReadString('Version');
If Length(Result)=0 then
Result:='Неопределена';
Finally
Reg.Free;
End;
End;
Вопрос такой - как реализовать тоже самое, только на WinAPI - т.е. без модуля Registry. Если у кого есть пример - скиньте пожалуйста - полюбому ведь кто-то уже занимался чем-то подобным. Заранее спасибо.
ActiveX вне форума Ответить с цитированием
Старый 27.06.2008, 17:57   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
program Project1;

uses windows;

{$R *.res}

var typ, buf_size: PDword;
      key: Hkey;
      buf: array[0..255] of char;

Begin
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,                      // handle of open key
               'SOFTWARE\Microsoft\Internet Explorer\', // address of name of subkey to open
               0,	                                      // reserved
               KEY_ALL_ACCESS,	                        // security access mask
               key                                      // address of handle of open key
             );

  RegQueryValueEx(key,                               	// handle of key to query
                 'Version',	                          // address of name of value to query
                  0,	                                // reserved
                  @typ,	                              // address of buffer for value type
                  @buf,	                              // address of data buffer
                  buf_size                            // address of data buffer size
                );

  MessageBox(0, buf, 'Версия IE', mb_ok+mb_iconinformation);
end.
MSDN всех победит
пыщь
JTG вне форума Ответить с цитированием
Старый 27.06.2008, 20:14   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

по-моему, так лучше:
Код:
var
  typ, buf_size: DWORD;
  key: Hkey;
  buf: array[0..255] of char;

Begin
  buf_size:=254;

  RegOpenKeyEx(HKEY_LOCAL_MACHINE,                      // handle of open key
               'SOFTWARE\Microsoft\Internet Explorer\', // address of name of subkey to open
               0,                                         // reserved
               KEY_ALL_ACCESS,                          // security access mask
               key                                      // address of handle of open key
             );

  RegQueryValueEx(key,                                  // handle of key to query
                 'Version',                           // address of name of value to query
                  0,                                    // reserved
                  @typ,                               // address of buffer for value type
                  @buf,                               // address of data buffer
                  @buf_size                            // address of data buffer size
                );

  MessageBox(0, buf, 'Версия IE', mb_ok+mb_iconinformation);
end;
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтение из тяжелой базы данных? Sanek777 Общие вопросы Delphi 1 02.09.2008 23:51
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Чтение данных с портов PS/2 и USB Hutch Win Api 10 02.06.2008 15:46
Копирование данных из реестра delphin100 Общие вопросы Delphi 5 06.05.2008 16:36
Мониторинг реестра AidarBik Безопасность, Шифрование 4 30.09.2007 15:31