public override void ProcessWindowMessage(ref Message m) { if (m.Msg == MSG_SYSNOT || m.Msg == WM_COPYDATA) { if ((int)m.WParam == 97) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); cds = (COPYDATASTRUCT)m.GetLParam(typeof(COPYDATASTRUCT)); //Console.WriteLine(cds.cbData); //Console.WriteLine(cds.dwData); //Console.WriteLine(cds.lpData); TRAYINFO ti = new TRAYINFO(); ti = (TRAYINFO)Marshal.PtrToStructure(cds.lpData, typeof(TRAYINFO)); Console.WriteLine("_title: " + ti.nid.szInfoTitle); Console.WriteLine("_text: " + ti.nid.szInfo); if (!String.IsNullOrEmpty(ti.nid.szInfo)) { OnSystemBalloonIntercepted(ti.nid.szInfoTitle, ti.nid.szInfo, null); } m.Result = new IntPtr(1); } } else if (m.Msg == MSG_REPLACED) { if (HookReplaced != null) { HookReplaced(); } } }
public override void ProcessWindowMessage(ref Message m) { if (m.Msg == MSG_SYSNOT || m.Msg == WM_COPYDATA) { if ((int)m.WParam == 97) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); cds = (COPYDATASTRUCT) m.GetLParam(typeof(COPYDATASTRUCT)); //Console.WriteLine(cds.cbData); //Console.WriteLine(cds.dwData); //Console.WriteLine(cds.lpData); TRAYINFO ti = new TRAYINFO(); ti = (TRAYINFO)Marshal.PtrToStructure(cds.lpData, typeof(TRAYINFO)); Console.WriteLine("_title: " + ti.nid.szInfoTitle); Console.WriteLine("_text: " + ti.nid.szInfo); if(!String.IsNullOrEmpty(ti.nid.szInfo)) OnSystemBalloonIntercepted(ti.nid.szInfoTitle, ti.nid.szInfo, null); m.Result = new IntPtr(1); } } else if (m.Msg == MSG_REPLACED) { if (HookReplaced != null) HookReplaced(); } }