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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 00:53   #11
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

всё разобрался!
И последний вопрос может кто сталкивался .
Правило создаёт строковой параметр в реестре с такими данными в нутри

параметр : {EB182C93-25A8-486F-86BC-FFEAE35EE2A5}

значение : v2.10|Action=Block|Active=TRUE|Dir= In|App=F:\Games\World_of_Tanks\Worl dOfTanks.exe|Name=world игры|

со значением тут всё ясно а параметр в каждой виндовс особый или его можно переименовать как мне захочется ?
Gudzik11 вне форума Ответить с цитированием
Старый 09.11.2012, 05:28   #12
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Насчет КАЖДОЙ - хз, возможно, и нет. Драйвера устройств же одинаковые. А вот переименовать... ни-ни.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 11.11.2012, 12:21   #13
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

Всё сделал в реестре меняю значения а блок на снимается .
В чём может быть причина?
А может есть какой то другой способ более эффективный ?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Registry;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  reg:TRegistry;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 // Ïåðåìåííàÿ õðàíèò çíà÷åíèå êëþ÷à ðååñòðà
 S : string;
begin
  // Èíèöèàëèçàöèÿ ïåðåìåííîé ðååñòðà
Reg := TRegIniFile.Create();
// Âûáèðàåì êîðíåâîé êàòàëîã
Reg.RootKey := HKEY_LOCAL_MACHINE;
// Îòêðûâàåì ðàçäåëû
Reg.OpenKey('SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', False);
// ×èòàåì çíà÷åíèå êëþ÷à è ïðèñâàèâàåì ïåðåìåííîé
 S := Reg.ReadString('29F4BC8F-609A-4382-97D5-ABE9ACC2D298');
// Åñëè êëþ÷ îòñóòñòâóåò, òî ïîêàçûâàåì ñîîáùåíèå

  if reg.ValueExists('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}')
    then
    begin

      if reg.ReadString('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}')='v2.10|Action=Block|Active=TRUE|Dir=Out|App=F:\Games\World_of_Tanks\WorldOfTanks.exe|Name=WorldOfTanks(1)|'
        then
        begin
         Button1.Caption:='FALSE';
         reg.WriteString('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}','v2.10|Action=Block|Active=FALSE|Dir=Out|App=F:\Games\World_of_Tanks\WorldOfTanks.exe|Name=WorldOfTanks(1)|');
        end               
        else
        begin
        Button1.Caption:='TRUE';
        reg.WriteString('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}','v2.10|Action=Block|Active=TRUE|Dir=Out|App=F:\Games\World_of_Tanks\WorldOfTanks.exe|Name=WorldOfTanks(1)|');
        end
     end
      else
      ShowMessage('íåò');
// Çàêðûâàåì êëþ÷
Reg.CloseKey;
// Îñâîáîæäàåì ïàìÿòü
Reg.Free;
end;
   //WorldOfTanks
   //v2.10|Action=Block|Active=FALSE|Dir=Out|App=F:\Games\World_of_Tanks\WorldOfTanks.exe|Name=WorldOfTanks(1)|


procedure TForm1.FormCreate(Sender: TObject);
var
 // Ïåðåìåííàÿ õðàíèò çíà÷åíèå êëþ÷à ðååñòðà
 S : string;
begin
  // Èíèöèàëèçàöèÿ ïåðåìåííîé ðååñòðà
Reg := TRegIniFile.Create();
// Âûáèðàåì êîðíåâîé êàòàëîã
Reg.RootKey := HKEY_LOCAL_MACHINE;
// Îòêðûâàåì ðàçäåëû
Reg.OpenKey('SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', False);
// ×èòàåì çíà÷åíèå êëþ÷à è ïðèñâàèâàåì ïåðåìåííîé
 S := Reg.ReadString('29F4BC8F-609A-4382-97D5-ABE9ACC2D298');
// Åñëè êëþ÷ îòñóòñòâóåò, òî ïîêàçûâàåì ñîîáùåíèå

  if reg.ValueExists('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}')
    then
    begin

      if reg.ReadString('{29F4BC8F-609A-4382-97D5-ABE9ACC2D298}')='v2.10|Action=Block|Active=TRUE|Dir=Out|App=F:\Games\World_of_Tanks\WorldOfTanks.exe|Name=WorldOfTanks(1)|'
        then
        Button1.Caption:='TRUE'
        else
        Button1.Caption:='FALSE'
     end
      else
      ShowMessage('íåò');
// Çàêðûâàåì êëþ÷
Reg.CloseKey;
// Îñâîáîæäàåì ïàìÿòü
Reg.Free;
  end;
end.
Gudzik11 вне форума Ответить с цитированием
Старый 11.11.2012, 19:34   #14
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Всё сделал в реестре меняю значения а блок на снимается .
Я ж говорил - после установки некоторых параметров нужна перезагрузка. Реестр все-таки...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правила пунктуации ДеТкА Паскаль, Turbo Pascal, PascalABC.NET 2 22.10.2012 12:30
Продукционные правила Vasek_ Microsoft Office Access 13 06.06.2010 23:03
Правила разделов/главные правила Alex Cones О форуме и сайтах клуба 1 30.09.2009 17:49