Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


Как программноо переключить режим шаринга Винды ХР


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеЧт, 08-Мар-2007 15:41    Заголовок сообщения: Как программноо переключить режим шаринга Винды ХР
Цитата

Есть компы ХР на которых установлен режим Simple File Sharing (он по умолчанию в ХР). Требуется переключить его из Делфи в нормальный. Это делается в настройках свойсва папки установкой соответсвюущего флажка. Ествесвенно, эти настройки храняться в реестре. Их отловить можно, но долго. Так вот, щас ищу как это реализовать. Может кто из знающих подскажет?

У меня задумка, такая, чтобы при запуске проги она перключала режим и просто делалa form1.close. :)
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеЧт, 08-Мар-2007 22:12 
Цитата

regmon
экспорт в блокнот
поиск по слову simple
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing\
3 минуты (2 на поиск regmon)

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеПт, 09-Мар-2007 6:43 
Цитата

Хм. Ну это то я знал...
Пробовал вручную менять 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

СообщениеПт, 09-Мар-2007 11:46 
Цитата

я не вникал)
тебе что конкретно надо? переключить на нормальный режим шаринг или просто создать шару с кучей параметров? второе ведь по другому делается...

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеСб, 10-Мар-2007 0:46 
Цитата

NikotiN писал(а):
я не вникал)
тебе что конкретно надо? переключить на нормальный режим шаринг или просто создать шару с кучей параметров? второе ведь по другому делается...


Да именно написать прогу, чтобы она переключала режимы сама. Ща объясну почему...
При включенном Simple File Sharing все юзеры ходят на винду ХР по сети в качестве гостя, это изменить нельзя и даже зная пароли админа к локальной ХР нельзя войти туда. При переключенни режима все в порядке. Вот мне и нужно пеереключать режимы не гиморно, а запуском одной проги.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 10-Мар-2007 11:52 
Цитата

хм.... может легче msdn помучить? или API? или программу какую-нить (net.exe и т.п.)?
_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеСб, 10-Мар-2007 12:42 
Цитата

Хм... В принципе без разницы... Но по моему нельзя из комадной строки перелючить режимы. А Апи я посмотрю...

У меня была идея создать ветки реестра отвечающие за это дело (переключение), но опять же, я не нашел все ключи которые отвечают за это. А искать гиморно, так как там по 10 тыщ строк токо в этой операции переключения регмон показывает.

Эх, жаль что никто не сталкивался с такой проблемой...
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 10-Мар-2007 18:58 
Цитата

есть ещё проги для сравнивания слепков реестра....
и в регмоне, там когда в блокнот сохранишь, импорт в эксель, а там фильтр поставить, чтобы показывать только команды изменения значений

_________________
Сила дурака в том, что умный перед ним бессилен.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСб, 10-Мар-2007 20:12 
Цитата

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-ом. Работает.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеВс, 11-Мар-2007 9:29 
Цитата

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


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеПн, 12-Мар-2007 14:54 
Цитата

Ага... Ларчик просто открывался
_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж LORgus
Новичок




Зарегистрирован: 09.02.2007
Сообщения: 8

СообщениеПн, 12-Мар-2007 17:54 
Цитата

Согласен. Вот что вышло окончательно:
Цитата:

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 =)
В начало
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100