PDA

Показать полную графическую версию : Помогите написать на Delphi маленькую программу! ИМХО, будет интересна многим!


AlexKan
20-08-2006, 16:21
Создаю win xp Full Unattended.
Прописал в winnt.sif Имя пользователя, Название организации, Название компьютера (автоматическая генерация).
Ведь если запрос на ввод этих параметров будет появляться в середине установки - будет крайне неудобно.

Идея маленькой программы следующая - она вызывается из RunOnce (к примеру) или вообще вручную. В ней есть поля Имя пользователя, Название организации, Название компьютера.
Да, все это можно поменять в реестре (или, как вариант - в reg файле, а после импортировать его в реестр), да, можно зайти в свойства системы и там поменять название компьютера, но это долго.
Поэтому я мечтаю о маленькой программе, в которой будет 3 label, 3 edit, 2 button. Сам от программирования, к сожалению, далек. Форму сделать смог (см. аттач). Еще смог прописать функции для кнопки Закрыть (Close;).

Возможно, будет полезна следующая статья - Реестр чтение/запись - alex-co.com.ru/delphi/Documents/Papers/Registri.php (http://alex-co.com.ru/delphi/Documents/Papers/Registri.php)


Программа должна читать следующие параметры:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"RegisteredOrganization"="Название организации"
"RegisteredOwner"="Имя пользователя"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName]
"ComputerName"="compname"


Писать должна туда же, за исключением CompName - его записывать надо в 4ре ключа:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName]
"ComputerName"="COMPNAME"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters]
"NV Hostname"="compname"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]
"ComputerName"="COMPNAME"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"NV Hostname"="compname"

Заранее огромное спасибо!!!

Ivan1986
20-08-2006, 19:52
Программы, перезалил из-за того, что криво залились.

desperate
20-08-2006, 19:52
AlexKan
дельфи....дык это ж мерзость...... могу реализовать на С++ в понедельник вечером отпишусь.

Ivan1986
20-08-2006, 21:22
desperate, я на С++ ее и реализовывал. (билдер)
Поддерживает интерфейсик похожий на вложение первого поста и коммандную строку.

DaDe
21-08-2006, 08:24
дельфи....дык это ж мерзость...... могу реализовать на С++ в понедельник вечером отпишусь.
Давайте не будем писать, что есть мерзость, а что нет. Я уверен, что найдется много людей за "мерзость" и против неё.

AlexKan
21-08-2006, 10:02
Большое спасибо AlexandrS (http://alex-co.org/) за то, что реализовал идею.
Большое спасибо Ivan1986 за информацию и программы!

Программу см. в аттаче. Поддержки ключей нет, но это и не требуется.
А если требуется - то великолепная программа, указанная Ivan1986, находится тут - http://mystuff.clarke.co.nz/wsname.asp

P.S. Архив перезалил и проверил. Хотя и выдает сообщение при разархивировании - все работает нормально, файл весит столько, сколько и должен. Непонятно только, почему форум вносит такие изменения в аттачи (то же было и выше, с файлами Ivan1986)

Dirk Diggler
21-08-2006, 12:49
а чем Wihu не устроил?

S1NTEZ
22-08-2006, 01:09
Желательно было бы интерфейс сделать поприятней, покрасивше.
+ счетчик времени, т.е. если в течении допустим 60 сек не проявится никакой активности со стороны юзера, то программа завершалась с параметрами по умолчанию.

AlexKan
22-08-2006, 02:12
а чем Wihu не устроил?
Для текущей задачи он мне не понравился.

Желательно было бы интерфейс сделать поприятней, покрасивше.
+ счетчик времени, т.е. если в течении допустим 60 сек не проявится никакой активности со стороны юзера, то программа завершалась с параметрами по умолчанию.
Над фейсом подумаю, сегодня, когда тестировал при установке ОС тоже об этом подумал.
По поводу счетчика - а смысл ? Далее ведь все равно ничего долгого по времени не проиходит, поэтому потери времени нет. Или есть другие аргументы ?

S1NTEZ
22-08-2006, 17:59
По поводу счетчика - а смысл ? Далее ведь все равно ничего долгого по времени не проиходит, поэтому потери времени нет. Или есть другие аргументы ?

Пока процесс не будет завершон, установка не продолжится. Так и будет висеть на 12 минутах.

AlexKan
24-08-2006, 19:48
Пока процесс не будет завершон, установка не продолжится. Так и будет висеть на 12 минутах.
Я запускаю программу из GuiRunOnceEx - поэтому программа появляется в самом начале установки. Кстати, логичнее было бы (замечание самому себе) запускать ее в конце, чтобы программы ставились (DotNetFX, Java и т.п. - то, что нельзя интегрировать в дистрибутив. Или можно ?!), а потом уже UserData.




© OSzone.net 2001-2012