| Автор
| Сообщение |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
Есть компы ХР на которых установлен режим Simple File Sharing (он по умолчанию в ХР). Требуется переключить его из Делфи в нормальный. Это делается в настройках свойсва папки установкой соответсвюущего флажка. Ествесвенно, эти настройки храняться в реестре. Их отловить можно, но долго. Так вот, щас ищу как это реализовать. Может кто из знающих подскажет?
У меня задумка, такая, чтобы при запуске проги она перключала режим и просто делалa form1.close.  |
|
| В начало |
|
 |
|
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
regmon
экспорт в блокнот
поиск по слову simple
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing\
3 минуты (2 на поиск regmon) _________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
Хм. Ну это то я знал...
Пробовал вручную менять regedit'ом. Но не работало...
Буду еще пробовать.
Добавлено спустя 2 часа 25 минут 28 секунд:
Хм... Вот что надумал:
procedure TForm1.FormCreate(Sender: TObject);
var
h:TRegistry;
z:integer;
begin
z:=0;
h:=TRegistry.Create;
h.RootKey:=HKEY_LOCAL_MACHINE;
h.OpenKey('\System\CurrentControlSet\Control\Lsa',true);
h.WriteBinaryData('forceguest', z, sizeof(z));
h.CloseKey;
h.Free;
end;
Код переключает просто вид шаринга. Но сам механизм не меняет. А мне нужно чтобы программа полностью делала то что делает нажатие и применение параметров в переключении.
Никотин, а то что ты указал не работает вобще. И работы там с нетмоном, к сожалению намного больше. |
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
я не вникал)
тебе что конкретно надо? переключить на нормальный режим шаринг или просто создать шару с кучей параметров? второе ведь по другому делается... _________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
| NikotiN писал(а): | я не вникал)
тебе что конкретно надо? переключить на нормальный режим шаринг или просто создать шару с кучей параметров? второе ведь по другому делается... |
Да именно написать прогу, чтобы она переключала режимы сама. Ща объясну почему...
При включенном Simple File Sharing все юзеры ходят на винду ХР по сети в качестве гостя, это изменить нельзя и даже зная пароли админа к локальной ХР нельзя войти туда. При переключенни режима все в порядке. Вот мне и нужно пеереключать режимы не гиморно, а запуском одной проги. |
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
хм.... может легче msdn помучить? или API? или программу какую-нить (net.exe и т.п.)? _________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
Хм... В принципе без разницы... Но по моему нельзя из комадной строки перелючить режимы. А Апи я посмотрю...
У меня была идея создать ветки реестра отвечающие за это дело (переключение), но опять же, я не нашел все ключи которые отвечают за это. А искать гиморно, так как там по 10 тыщ строк токо в этой операции переключения регмон показывает.
Эх, жаль что никто не сталкивался с такой проблемой... |
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
есть ещё проги для сравнивания слепков реестра....
и в регмоне, там когда в блокнот сохранишь, импорт в эксель, а там фильтр поставить, чтобы показывать только команды изменения значений _________________ Сила дурака в том, что умный перед ним бессилен. |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| LORgus писал(а): | | я не нашел все ключи которые отвечают за это. А искать гиморно, так как там по 10 тыщ строк токо в этой операции переключения регмон показывает. |
| NikotiN писал(а): | | есть ещё проги для сравнивания слепков реестра.... |
Отследить изменения несложно подручными средствами
1. Запускается regedit
Сохнаяются корневые ветки реестра
Выподняется операция (изменение опций в Проводнике)
Сохнаяются корневые ветки реестра ещё раз
2. Сравниваем файлы. Например из коммандной строки:
FC /u /n File1.ref File2.reg >dif.txt
Отбрасываем несущественные изменения,
Если сравнивали через FC, ищем различающиеся
места через текстовый редактор
3. У меня вышло вот что:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"forceguest"=dword:00000001
Попробовал изменить это значение regedit-ом. Работает. _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
|
|
 |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
Епть. Точно! Все в порядке. При изменини ВСЕГО лишь одного этого параметра, менятеся режим. 0 - Не симпле, 1 - симпле.
Всем пасибо за помощь. |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
Ага... Ларчик просто открывался _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
 LORgus
Новичок

Зарегистрирован: 09.02.2007
Сообщения: 8
|
|
|
Цитата |
|
Согласен. Вот что вышло окончательно:
| Цитата: |
procedure TForm1.FormCreate(Sender: TObject);
var
h:TRegistry;
begin
h:=TRegistry.Create;
h.RootKey:=HKEY_LOCAL_MACHINE;
h.OpenKey('\System\CurrentControlSet\Control\Lsa',true);
h.WriteInteger('forceguest', StrToInt('0'));
h.CloseKey;
h.Free;
end;
|
(с) LORgus =) |
|
| В начало |
|
 |
|