![]() |
|
Модераторы: bartram, Akella |
![]()
|
|
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Надо программно изменить PATH для самого главного пользователя универчально в WinXP\2003\98\Vista.
|
|||
|
||||
| Kostyaxp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 19.7.2006 Репутация: 1 Всего: 1 |
В смысле поменять местоположение папки с аккаунтом админа? Уневирсально не выйдет (хотя бы потому что по-умолчанию путь для их хранения разный).
Это сообщение отредактировал(а) Kostyaxp - 12.3.2007, 18:30 |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Ну, чтобы после перезагрузки после команды "set PATH", я видел, то же, что установил перед перезагрузкой без дополнительных телодвижений.
Ну в 98м я для этого меняю autoexec.bat, в XP, 2000, 2003, ... меняю в реестре, а надо как-то программно найти общее решение. Делаю инсталляшку своей АИС, надо. Другие же программы делают. |
|||
|
||||
| Tectoder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 202 Регистрация: 13.3.2007 Репутация: нет Всего: 8 |
Это сообщение отредактировал(а) Tectoder - 16.3.2007, 20:22 |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Посмотрим
Добавлено @ 20:03 Не уже ли, если поменять в реестре 95\98 поменять PATH, то и в autoexec.bat изменится? |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
В 98м пути HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment не существует.
|
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: нет Всего: 8 |
Короче, раз ни кто ни чего не знает, пришлось самому справляться:
[code=perl]use IO::Handle; use Win32; use Win32::Registry; $|=1; sub registryValue { my($path, $rh, $result)=shift; ${'::'.$path}->Open(shift, $rh) && $rh->QueryValueEx(shift, undef, $result); +$result } sub addPath { my($str, $paths, $i)=(shift, shift, shift); $paths->{$_}=++$$i foreach grep /\S/, map{s{^"(.*?)"$}{$1}i;+exists $paths->{+uc} ? uc : $_}split/\s*;\s*/, $str; } sub setPath { my($path, $CRLF, $i)=(shift, "\r\n"); if((&Win32::GetOSVersion)[4]<2) { my$file=(($ENV{WINDIR} || $ENV{WINBOOTDIR})=~m{^([A-Z]:)}i)[0].'\AUTOEXEC.BAT'; open my$fh, '<'.$file;binmode $fh;my@in=<$fh>;close $fh; open my$fh, '>'.$file;binmode $fh; foreach(@in) { if(/^\s*SET\s+PATH\s*=\s*(.*?)\s*$/i) { &addPath($1, $path, \$i) } else { $fh->print(/^\s*(.*?)\s*$/?$1:$_, $CRLF) } } $fh->print('SET PATH=', join(';', map{s{\\?$}{}g;'"'.$_.'"'} sort{$path->{$a}<=>$path->{$b}}keys %$path), $CRLF); close $fh; } else { my($drv, $dir, $node, $rh)=( 'HKEY_LOCAL_MACHINE', 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'PATH' ); &addPath(®istryValue($drv, $dir, $node), $path, \$i); ${+'::'.$drv}->Open($dir, $rh); $rh->SetValueEx( $node, undef, REG_SZ, join(';', map{s{\\?$}{}g;'"'.$_.'"'}sort{$path->{$a}<=>$path->{$b}}keys %$p Это сообщение отредактировал(а) tishaishii - 18.3.2007, 12:36 |
|||
|
||||
![]()
|
| Правила форума "Windows" | |
|
|
Запрещается! 1. Обсуждать взлом и делиться кряками 2. Способствовать созданию и распространению вирусов
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Windows | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |