.NET에서 iinternetzonEmanager 구현
-
03-07-2019 - |
문제
나는 구현하려고 노력하고있다 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 ++ 앱에서 인터페이스를 사용하는 것으로 보입니다.
제휴하지 않습니다 StackOverflow