IE 보안탭의 신뢰할 수 있는 사이트에 등록하는 함수를 만들어 보았습니다.
함수의 매개변수로 신뢰할 수 있느 사이트에 추가할 호스트 URL을 입력하면 됩니다.
function SetReliableSite(const strSite:string):boolean;
const
CLSID_InternetSecurityManager: TGUID = '{7b8a2d94-0ac9-11d1-896c-00c04fB6bfc4}';
CLSID_InternetZoneManager : TGUID = '{7B8A2D95-0AC9-11d1-896c-00C04FB6BFC4}';
var
AResult:HRESULT;
AInternetZoneManager:IInternetZoneManager;
AInternetSecurityManager:IInternetSecurityManager;
dwEnum,dwCount,dwZone:DWORD;
AZoneAttributes:ZONEATTRIBUTES;
begin
Result:=false;
if (Trim(strSite)='') then
Exit;
// 객체 생성
AResult:=CoCreateInstance(CLSID_IInternetZoneManager,
nil,
CLSCTX_ALL,
IID_IInternetZoneManager,
AInternetZoneManager);
if (Failed(AResult)) then
Exit;
AResult:=CoCreateInstance(CLSID_IInternetSecurityManager,
nil,
CLSCTX_ALL,
IID_IInternetSecurityManager,
AInternetSecurityManager);
if (Failed(AResult)) then
Exit;
// Creates a zone enumerator
AInternetZoneManager.CreateZoneEnumerator(dwEnum,dwCount,0);
// Retrieves the zone associated with the specified index on the given enumerator
AInternetZoneManager.GetZoneAt(dwEnum,URLZONE_TRUSTED,dwZone);
// 신뢰할 수 있는 사이트는 기본적으로 https를 요구하기 때문에 이 속성을 제거
AInternetZoneManager.GetZoneAttributes(dwZone,AZoneAttributes);
if ( (AZoneAttributes.dwFlags and ZAFLAGS_REQUIRE_VERIFICATION)>0 ) then
AZoneAttributes.dwFlags:=AZoneAttributes.dwFlags and not ZAFLAGS_REQUIRE_VERIFICATION;
AInternetZoneManager.SetZoneAttributes(dwZone,AZoneAttributes);
// 해당 도메인 등록
AResult:=AInternetSecurityManager.SetZoneMapping(dwZone,PWideChar(strSite),SZM_CREATE);
if (Failed(AResult)) then
begin
if (dwEnum<>0) then
AInternetZoneManager.DestroyZoneEnumerator(dwEnum);
Exit;
end;
if (dwEnum<>0) then
AInternetZoneManager.DestroyZoneEnumerator(dwEnum);
Result:=true;
end;
'프로그래밍 > 델파이' 카테고리의 다른 글
플래쉬에 값 설정하기 (0) | 2007.12.22 |
---|---|
원하는 프로세스 찾기 / 프로세스 경로 얻기 (0) | 2007.12.22 |
DLL에 버전 정보를 넣어 보자 (0) | 2007.12.21 |
StrToInt 함수에서, 16진수의 변환 (0) | 2007.12.21 |
PlaySound 함수 이용 소리 내기. (0) | 2007.12.21 |