Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Enable/disable divice [D5, D6, Win2k, WinXP]


KPbIC ©   (2002-05-12 03:46:00) 

Люди! Помогите плз., завтра надо сдать проект а я в тупике, как можно сделать disable/enable устройство, по типу того как это делается через Device manager в 2000/XP? Конкретно мне нужно сделать софт резет сетевушки, с таким же эффектом как и после деактивации/активации в Device manager, т.е. что-бы сменился при этом IP карточки. Не пишите как сменить IP карточки Это следствие того что мне нужно сделать...


KPbIC   (2002-05-13 17:20:00) [1]

ПОпробовал, значение меняется но сеть продолжает работать. Или это только после перезагрузки работает?


PGM   (2002-05-13 11:07:00) [2]

Мне надо было отключить конкретные видеоадаптеры под W2K. Вот так это было сделано.

const
MDEnumKey = "SYSTEM\CurrentControlSet\Enum\PCI\VEN_100C&DEV_3208&SUBSYS_00000000&REV_70\";

function DisableAllTsengs : Boolean;
var r : TRegistry;
s : TStringList;
i : Integer;
sDriver : String;
Config : Integer;
begin
Result := True;
r := TRegistry.Create;
s := TStringList.Create;
r.RootKey := HKEY_LOCAL_MACHINE;
try
if not r.OpenKeyreadOnly(MDEnumKey) then raise Exception.Create("Absent Enum Key");
r.GetKeyNames(s);
r.CloseKey;
for i := 0 to s.Count-1 do begin
r.RootKey := HKEY_LOCAL_MACHINE;
if not r.OpenKeyReadOnly(MDEnumKey+s[i]+"\")
then raise Exception.Create("Absent Key: "+s[i]);

sDriver := r.ReadString("Service");
r.CloseKey;

if sDriver = "et4000" then begin
r.RootKey := HKEY_CURRENT_CONFIG;
r.Access := KEY_SET_VALUE or KEY_QUERY_VALUE;
r.OpenKey(MDEnumKey+s[i]+"\", True);
try
Config := r.ReadInteger("CSConfigFlags");
except
Config := 0;
end;
if Config = 0 then begin
r.WriteInteger("CSConfigFlags", 1);
Result := False;
end;
r.CloseKey;
end;
end;
except
end;
s.Free;
r.Free;
end;


KPbIC   (2002-05-12 19:11:00) [3]

Увы, ничего там не нашёл :( То-ли смотрел плохо, то-ли нет там подходящей функции...


Exception   (2002-05-12 16:55:00) [4]

Попробуй посмотреть в MSDN документацию на WMI (Windows Management Instrumentation) - там скорее всего есть, но для того, чтоб ответить тебе более подробно, мне нужно заглядывать туда самому :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо