我正在嘗試進行PInvoke調用以註冊任何USB設備連接通知。Silverlight 5獲取Usercontrol的句柄
[DllImport("user32.dll", SetLastError = true)]
protected static extern IntPtr RegisterDeviceNotification(IntPtr hwnd, DeviceBroadcastInterface oInterface, uint nFlags);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
public class DeviceBroadcastInterface
{
public int Size;
public int DeviceType;
public int Reserved;
public Guid ClassGuid;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
public string Name;
}
窗口的句柄通常從Winforms應用程序的OnHandleCreated中獲得,用於進行這樣的PInvoke調用。有沒有辦法在silverlight 5中獲得usercontrol的句柄?
是什麼讓你決定使用'Pack = 1'?你確定這是正確的嗎? –