|
|
|
Тема
|
registry edit проблем
|
|
| Автор |
lceHot (WindMaster) |
| Публикувано | 11.11.05 21:11 |
|
|
Здравейте.
искам в приложението си да отварям Уебстраници с TWebBrowser, но през proxy...
Тъй като немога да използвам Indy компонентите за тази цел( поне доколкото знам), се налага да едитвам регистъра на Windows.
Та на вапроса: Може ли някой да ми каже малко по-подробно( в смисал: код и дали е необходими добавяне на нещо в uses ) как да задам стойност на ключ от регистъра? Прочетох вече в няколко форума(на английски ) че това е начина, но небеше обяснено "как?" . Става въпрос за следните ключове:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\
и по-точно:
ProxyEnabled да приеме стойност 1
ProxyServer да приеме стойност IP:Port , например да приеме 195.175.37.7:80
Благодаря предварително
начинаещ съм, но всеки е започнал така
| |
|
Тема
|
Re: registry edit проблем
[re: lceHot]
|
|
| Автор |
Pechenia (нема лабаво ;-) |
| Публикувано | 11.11.05 21:26 |
|
|
http://www.latiumsoftware.com/en/delphi/00004.php
или още по-гот - пишеш в Delphi:
tregistry
и натискаш F1 върху него
чети и дишай по-леко
| |
|
Тема
|
Re: registry edit проблем
[re: lceHot]
|
|
| Автор |
TRN () |
| Публикувано | 12.11.05 10:14 |
|
|
Използването на TRegistry е доста сложно и опасно начинание, и затова е препоръчително да се работи с TRegIniFile (когато се работи с root key HKEY_CURRENT_USER, което при него е по подразбиране).
| |
|
Тема
|
Re: registry edit проблем
[re: Pechenia]
|
|
| Автор |
lceHot (WindMaster) |
| Публикувано | 12.11.05 19:49 |
|
|
мерси за линка. ето какво правя аз:
[quote="Code"]
procedure SetRegistryData(RootKey: HKEY; Key, Value: string;
RegDataType: TRegDataType; Data: variant);
var
Reg: TRegistry;
s: string;
begin
Reg := TRegistry.Create(KEY_WRITE);
try
Reg.RootKey := RootKey;
if Reg.OpenKey(Key, True) then begin
try
if RegDataType = rdUnknown then
RegDataType := Reg.GetDataType(Value);
if RegDataType = rdString then
Reg.WriteString(Value, Data)
else if RegDataType = rdExpandString then
Reg.WriteExpandString(Value, Data)
else if RegDataType = rdInteger then
Reg.WriteInteger(Value, Data)
else if RegDataType = rdBinary then begin
s := Data;
Reg.WriteBinaryData(Value, PChar(s)^, Length(s));
end else
raise Exception.Create(SysErrorMessage(ERROR_CANTWRITE));
except
Reg.CloseKey;
raise;
end;
Reg.CloseKey;
end else
raise Exception.Create(SysErrorMessage(GetLastError));
finally
Reg.Free;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
SetRegistryData(HKEY_CURRENT_USER,
'\Software\Microsoft\Windows\CurrentVersion\Internet Settings',
'ProxyServer', rdString, '195.175.37.7:80');
end;
, но не се получава( търсеният ключ неможе да бъде прочетен). Някой да знае защо? Мисля че е от това rdString, но не съм сигурен. по принцип, в regedit се води REG_SZ, а ProxyEnable е REG_DWORD- . на какви типове данни отговарят те?!( Стринг, Инт, ЛонгИнт, буулеан....)
начинаещ съм, но всеки е започнал така
| |
|
|
|
|