Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение работы брандмауэра Windows 
V
    Опции темы
vanexe1
Дата 23.3.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Здравствуйте 
У меня возникла необходимость в программном определении состояния брандмауэра Windows XP, работает не работает. 
Например я нажимаю на кнопку и выскакивает сообщение следующего содержания, Брандмауэр Windows работает или не работает.
На http://msdn.microsoft.com/ нашёл  тему по сути как я понял скрип но не разобрался.
Verifying Windows Firewall is Enabled
********************************************************************
The following example shows a verification of the status of the Windows Firewall.
Copy Code
Option Explicit
'Create Shell object
Dim objShell
set objShell = CreateObject("Shell.Application")
'Declare Firewall variables
Dim fwMgr
Dim profile
'Verify that the SharedAccess service is running. If it isn't, then start it.
If objShell.IsServiceRunning("SharedAccess") = FALSE Then
    objShell.ServiceStart "SharedAccess", TRUE
    'Sleep 1 second to make sure the service is started
    ' before trying to create the objects below. If there
    ' is no sleep, then the script is too fast and the
    ' firewall objects can't be created.
    WScript.Sleep 1000
End If
WScript.Echo("SharedAccess is running: " & objShell.IsServiceRunning("SharedAccess"))
' Firewall objects have to be created after making sure
' the service is running. If the service isn't running,
' the script will fail.
' Create the firewall manager object.
Set fwMgr = CreateObject("HNetCfg.FwMgr")
' Get the current profile for the local firewall policy.
Set profile = fwMgr.LocalPolicy.CurrentProfile
'Verify that the Firewall is enabled. If it isn't, then enable it.
If profile.FirewallEnabled = FALSE Then
    profile.FirewallEnabled = TRUE
End If
WScript.Echo("Firewall Enabled: " & profile.FirewallEnabled)
WScript.Echo("Firewall Exceptions Not Allowed: " & profile.ExceptionsNotAllowed)
***********************************************************************
Есть еще параметры реестра, используя которые в рег файле можно отрубить брандмауэр. Можно ли проверять их судить о том что брандмауэр включен или отключен. Я включал отключал его так и не понял по этим параметрам.
*************************************************************************
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]      
"FirewallOverride"=dword:00000001        
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]  
"DisableThumbnailCache"=dword:00000001  
;Disable Firewall Notifications  
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]  
"FirewallDisableNotify"=dword:00000001  
;Disable Automatic Updates Notifications  
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]  
"UpdatesDisableNotify"=dword:00000001  
;Disable Anti-virus Notifications  
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]  
"AntiVirusDisableNotify"=dword:00000001
**********************************************************************
   

Это сообщение отредактировал(а) vanexe1 - 23.3.2009, 09:40
PM MAIL   Вверх
Quartz
Дата 23.3.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.6.2008

Репутация: 3
Всего: 4



Минимальный пример, переделанный на Delphi (требуется как минимум WinXP SP2):
Код

//...
uses
  ComObj, NetFwTypeLib_TLB;

procedure TForm1.FormCreate(Sender: TObject);
var
  fwMgr   : INetFwMgr;
  profile : INetFwProfile;
begin
  fwMgr := CreateOleObject('HNetCfg.FwMgr') as INetFwMgr;
  profile := fwMgr.LocalPolicy.CurrentProfile;
  if profile.FirewallEnabled = false then
    ShowMessage( 'Firewall disabled!' );
end;

Модуль NetFwTypeLib_TLB получаем так: Component \ Import Component \ Import a Type Library \ NetFwTypeLib (hnetcfg.dll\3).
На всякий случай прикрепляю и его...

Это сообщение отредактировал(а) Quartz - 23.3.2009, 16:00

Присоединённый файл ( Кол-во скачиваний: 36 )
Присоединённый файл  NetFwTypeLib_TLB.pas 31,38 Kb
PM MAIL   Вверх
vanexe1
Дата 23.3.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.3.2007

Репутация: нет
Всего: нет



Огромное спасибо! все работает. класс
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.