Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > SetComputerName


Автор: Ripper 20.9.2004, 15:54
Непойму одну вещь. Вот:
Код

Function c_GetComputerName: string;
var
buffer: array[0..255] of char;
size: dword;
begin
size := 256;
if GetComputerName(buffer, size) then
  Result := buffer
else
  Result := 'Не определено'
end;

Из фака.
Вешаю на клик бутона такую вещь: SetComputerName(PChar(myedit.text));
А в одном лебеле есть mylabel.caption:=c_GetComputerName;
Кароче я меняю способом SetComputerName, а потом отображаю... но чего то не меняется эта вещь. Хотя вроде в другой проге (не моей) отображается изменения... а у меня нет. т.е. SetComputerName работает я так понимаю...

Автор: <Spawn> 20.9.2004, 16:36
Пожалуйсто точнее формулируйте вопросы. Вот это "но чего то не меняется эта вещь" мало о чем говорит. Какая вещь? Имя компьютера? Где оно не меняется. Как в другой проге это можеться измениться вроде? Функция либо работает либо нет и вроде быть не может. Еще раз говорю - точнее, пожалуйсто.

П.С. Попробуй посмотреть результат функции SetComputerName, наподобии этого:

Код
if SetComputerName(...) = 0 then
   ShowMessage(SysErrorMessage(GetLassError)));

Автор: Ripper 20.9.2004, 18:43
Извините просто обрадовался что инет появился и надо было быстро написать все.
Ну вот я в своей программе делаю тak: SetComputerName(PChar(edit.text));
Поидее имя компьютера должно менятся? А функция c_GetComputerName пишет все время старое значение. Вот было у меня имя компа Ripper, я его SetComputerName-om поменял.
Прога выдает старое значение. а ДРУГАЯ Прога не моя, ну просто утилитка - выдает верное.
Получается с_GetComputerName не правильно берет значение? Я сам ничего не пойму(
В итоге: Set - работает. Get- нет.

Автор: p0s0l 20.9.2004, 23:01
А после перезагрузки имя остаётся старым ? MSDN:
Цитата
The SetComputerName function stores a new NetBIOS name for the local computer. The name is stored in the registry and the name change takes effect the next time the user restarts the computer.

А утилита может читать имя компа из реестра:
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName
там подключи ActiveComputerName и ComputerName...

Автор: Ripper 21.9.2004, 15:34
аа.. меняется вроде)
Т.е. можно в реестре это все менять да?

Автор: p0s0l 21.9.2004, 21:51
Можешь в принципе, и в реестре менять значение...
Хотя быстрее было бы проверить, чем спросить...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)