문제

나는 구현하려고 노력하고있다 iinternetzonemanager Webbrowser 컨트롤이있는 .NET에서는 무엇을 해야할지 전혀 알 수 없습니다.

이 구현에 대한 관리 코드 예제를 찾을 수 없었습니다. 나는 올레 물건에 대해 꽤 나쁘다.

누구든지 이것에 대한 샘플을 제공 할 수 있습니까? 나는 운이 없으면 약 2 일을 보냅니다.

도움이 되었습니까?

해결책

이것이 내가 그것을 변환 할 때 얻는 것입니다.

public class Constants
{
    public const int MAX_PATH = 260;
    public const int MAX_ZONE_PATH = 260;
    public const int MAX_ZONE_DESCRIPTION = 200;
}

[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct ZONEATTRIBUTES
{
    public uint cbSize;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.MAX_PATH)]
    public string szDizplayName;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.MAX_ZONE_DESCRIPTION)]
    public string szDescription;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.MAX_PATH)]
    public string szIconPath;
    public uint dwTemplateMinLevel;
    public uint dwTemplateRecommended;
    public uint dwTemplateCurrentLevel;
    public uint dwFlags;
}

public enum URLZONEREG
{
    URLZONEREG_DEFAULT = 0,
    URLZONEREG_HKLM,
    URLZONEREG_HKCU
}

[Guid("79eac9ef-baf9-11ce-8c82-00aa004ba90b")]
[ComImport]
public interface IInternetZoneManager
{
    void CopyTemplatePoliciesToZone(uint dwTemplate, uint dwZone, uint dwReserved);
    void CreateZoneEnumerator(ref uint pdwEnum, ref uint pdwCount, uint dwFlags);
    void DestroyZoneEnumerator(uint dwEnum);
    void GetZoneActionPolicy(uint dwZone, uint dwAction, IntPtr pPolicy, uint cbPolicy, 
        URLZONEREG urlZoneReg);
    void GetZoneAt(uint dwEnum, uint dwIndex, ref uint pdwZone);
    void GetZoneAttributes(uint dwZone, ref ZONEATTRIBUTES pZoneAttributes);
    void GetZoneCustomPolicy(uint dwZone, [In] ref Guid guidKey, ref IntPtr ppPolicy,
        ref uint pcbPolicy, URLZONEREG urlZoneReg);
    void LogAction(uint dwAction, [MarshalAs(UnmanagedType.LPWStr)] string pwszUrl, 
        [MarshalAs(UnmanagedType.LPWStr)] string pwszText, uint dwLogFlags);
    void PromptAction(uint dwAction, IntPtr hwndParent, [MarshalAs(UnmanagedType.LPWStr)] string pwszUrl,
        [MarshalAs(UnmanagedType.LPWStr)] string pwszText, uint dwPromptFlags);
    void SetZoneActionPolicy(uint dwZone, uint dwAction, IntPtr pPolicy, uint cbPolicy,
        URLZONEREG urlZoneReg);
    void SetZoneAttributes(uint dwZone, ref ZONEATTRIBUTES pZoneAttributes);
    void SetZoneCustomPolicy(uint dwZone, [In] ref Guid guidKey, IntPtr pPolicy,
        uint pcbPolicy, URLZONEREG urlZoneReg);
}

나는 또한 정의를 게시했습니다 pinvoke.net:

http://www.pinvoke.net/default.aspx/interfaces.iinternetzonemanager

일반적으로 인터롭 정의를 먼저 찾아야합니다 (존재하지 않으면 기여).

다른 팁

이것이 도움이 될지 모르겠지만 C ++ 앱에서 인터페이스를 사용하는 것으로 보입니다.

IE 설정의 변경 사항 모니터링

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top