protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); IntPtr handle = (new WindowInteropHelper(this)).Handle; HwndSource.FromHwnd(handle).AddHook(new HwndSourceHook(WindowProc)); taskBarCreatedMsg = WinAPIWrapper.RegisterWindowMessage("TaskbarCreated"); uCallBackMsg = WinAPIWrapper.RegisterWindowMessage("APPBARMSG_CSDN_HELPER_USTC.Software.hanyizhao.NetSpeedMonitor"); RegisterAppBar(true); }
public void RegisterAppBar(bool register) { APPBARDATA abd = new APPBARDATA(); abd.cbSize = Marshal.SizeOf(abd); WindowInteropHelper helper = new WindowInteropHelper(this); abd.hWnd = helper.Handle; if (register) { //register uCallBackMsg = WinAPIWrapper.RegisterWindowMessage("APPBARMSG_CSDN_HELPER_USTC.Software.hanyizhao.NetSpeedMonitor"); abd.uCallbackMessage = uCallBackMsg; uint ret = WinAPIWrapper.SHAppBarMessage((int)ABMsg.ABM_NEW, ref abd); } else { WinAPIWrapper.SHAppBarMessage((int)ABMsg.ABM_REMOVE, ref abd); } }
public void RegisterAppBar(bool register) { APPBARDATA abd = new APPBARDATA(); abd.cbSize = Marshal.SizeOf(abd); WindowInteropHelper helper = new WindowInteropHelper(this); abd.hWnd = helper.Handle; desktopHandle = WinAPIWrapper.GetDesktopWindow(); shellHandle = WinAPIWrapper.GetShellWindow(); if (register) { //register uCallBackMsg = WinAPIWrapper.RegisterWindowMessage("APPBARMSG_CSDN_HELPER"); abd.uCallbackMessage = uCallBackMsg; uint ret = WinAPIWrapper.SHAppBarMessage((int)ABMsg.ABM_NEW, ref abd); } else { WinAPIWrapper.SHAppBarMessage((int)ABMsg.ABM_REMOVE, ref abd); } }