public static string ReciveMessage(ref Message m) { COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); string data = mystr.lpData; Debug.WriteLine("WM_COPYDATA message:" + data); return data; }
protected override void DefWndProc(ref Message message) { if (message.Msg == WMA_InterPro) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type t = cds.GetType(); cds = (COPYDATASTRUCT)message.GetLParam(t); string receiveInfo = cds.lpData; listBox1.Items.Add(receiveInfo); } else { base.DefWndProc(ref message); } }
//获取传递过来的字符串 private string getCopyMessage(ref System.Windows.Forms.Message m) { COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); int flag = (int)mystr.dwData; byte[] bt = new byte[mystr.cbData]; Marshal.Copy(mystr.lpData, bt, 0, bt.Length); string m2 = System.Text.Encoding.Unicode.GetString(bt); Console.WriteLine(m2); return(m2); }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); this.textBox1.Text = mystr.lpData; break; default: base.DefWndProc(ref m); break; } }
protected override void WndProc(ref Message message) { switch (message.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)message.GetLParam(mytype); if (mystr.lpData.Length > 3) { MessageBox.Show(mystr.lpData); } break; } base.WndProc(ref message); }
protected override void DefWndProc(ref System.Windows.Forms.Message m) //copydata接收消息 { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); Serial_SendProcess(mystr.lpData); break; default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { string token = ""; COPYDATASTRUCT mystr; Type mytype = null; //MessageBox.Show(m.Msg.ToString()); switch (m.Msg) { case WM_MESSAGE: mystr = new COPYDATASTRUCT(); mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); token = mystr.bstrData; eterm_bga.is_eterm_status = mystr.bstrData; eterm_bga.ib_connect_status = false; eterm_bga.ib_dataflag = false; // MessageBox.Show(this, mystr.bstrData, mystr.bstrCategory); break; case WM_DATA: mystr = new COPYDATASTRUCT(); mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); token = mystr.bstrData; ShowData(token); break; case WM_CTX: mystr = new COPYDATASTRUCT(); mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); token = mystr.bstrToken; CreatingCtx((int)m.WParam, token); break; default: base.DefWndProc(ref m); if (eterm_bga.ib_connect_status) { eterm_bga.is_eterm_status = "Host system down"; eterm_bga.ib_connect_status = false; eterm_bga.ib_dataflag = false; } break; } }
public static IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { if (msg == WM_COPYDATA) { var data = new COPYDATASTRUCT(); data = (COPYDATASTRUCT)Marshal.PtrToStructure(lParam, data.GetType()); MessageBox.Show("Received command: " + Marshal.PtrToStringUni(data.lpData)); switch (Marshal.PtrToStringUni(data.lpData)) { case "UpdateAvailablesModpacks": form.ChooseAvailableModpacks_Event(form, null); break; } } return(IntPtr.Zero); }
//接收传递的消息 protected override void DefWndProc(ref Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); receiveMsg = mystr.lpData; displayMessage(receiveMsg); break; default: base.DefWndProc(ref m); break; } }
public void AddToQueue(Message m) { try { COPYDATASTRUCT CopyStruct = new COPYDATASTRUCT(); CopyStruct = (COPYDATASTRUCT)m.GetLParam(CopyStruct.GetType()); var tup = CConsoleContent.GetConsoleContent(CopyStruct.dwData.ToInt32(), CopyStruct.lpData); if (tup.Item1) { lock (_Queue) { _Queue.Enqueue(tup.Item2); } } } catch (Exception ex) { MessageBox.Show("AddToQueue:" + ex.Message); } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { const int WM_COPYDATA = 0x004A; switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type cdsType = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(cdsType); if (cds.dwData == IntPtr.Zero) { // URWPGSim2DServer程序中按下的是End按钮则结束录像 btnStop_Click(null, null); System.Diagnostics.Process.GetCurrentProcess().Kill(); } else { // URWPGSim2DServer程序中按下的是Video按钮则将发送的参数设置到Screencast界面 // 从收到的字符串分离录像区域左上角坐标/宽度高度/ // URWPGSim2D主窗口句柄/录像保存完整文件名 int x = Convert.ToInt32(cds.lpData.Substring(0, 6)); int y = Convert.ToInt32(cds.lpData.Substring(6, 6)); int w = Convert.ToInt32(cds.lpData.Substring(12, 6)); int h = Convert.ToInt32(cds.lpData.Substring(18, 6)); txtX.Text = x.ToString(); txtY.Text = y.ToString(); txtWidth.Text = w.ToString(); txtHeight.Text = h.ToString(); hWndURWPGSim2D = Convert.ToInt32(cds.lpData.Substring(24, 10)); txtFileName.Text = cds.lpData.Substring(34); if (txtFileName.Text.LastIndexOf('.') != (txtFileName.Text.Length - 4)) { // 倒数第4个字符不是'.'则表明发送过来的文件名超长被截掉了一部分采用默认文件名 txtFileName.Text = Application.StartupPath + "\\test.wmv"; } this.Location = new Point(x + (w - this.Width) / 2, y + (h - this.Height) / 2); } // 显示Screencast程序主窗口 this.WindowState = FormWindowState.Normal; this.TopMost = true; break; default: base.DefWndProc(ref m); break; } }
protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_HOTKEY: //窗口消息-热键ID switch (m.WParam.ToInt32()) { case AppHotKey.HotKeyID: //热键ID HotKeyPressedHandler(); break; default: break; } break; case WM_DESTROY: //窗口消息-销毁 AppHotKey.UnRegKey(Handle, AppHotKey.HotKeyID); //销毁热键 break; case WM_COPYDATA: COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type t = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(t); string strResult = cds.lpData; string strType = cds.dwData.ToString(); if (strResult == "GN_EXIT") { Environment.Exit(0); } break; default: break; } base.WndProc(ref m); }
//捕获消息 protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_COPYDATA: //处理消息 COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); string content = mystr.lpData; Console.WriteLine("hcc>>recvCopyData: ", content); this.label1.Text = this.label1.Text + content; break; default: break; } base.WndProc(ref m); }
protected override void DefWndProc(ref Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); string receiveMsg = mystr.lpData; this.sendContent(receiveMsg); //MessageBox.Show(receiveMsg); break; default: base.DefWndProc(ref m); break; } }
/// <summary> /// window MSG for receiver below.. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WindowMsg_recevierWndProc(object sender, MessageEventArgs e) { // Debug.WriteLine("receive crvc200 msg ..........{0}.", e.Message); if (e.Message == MatrixCMD.RVA200_MSG_Transfer) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type t = cds.GetType(); cds = (COPYDATASTRUCT)Marshal.PtrToStructure(e.lParam, t); int chindex = cds.preWpl; //low param switch (cds.preWph) //highcmd { case MatrixCMD.F_Ack: { Debug.WriteLine("rva200 msg ack receive now....................."); refreshAesLed(); } break; case MatrixCMD.F_RdDevInfo: { Debug.WriteLine("read msg device info now..................."); if (moduleType == Module_Type.Mod_RIO100) { lbDevName.Text = CMatrixData.matrixData.nameofRIODev(); } else if (moduleType == Module_Type.Mod_RVC100) { lbDevName.Text = CMatrixData.matrixData.nameofRVCDev(); } else { lbDevName.Text = CMatrixData.matrixData.nameofRVADev(); } CMDSender.sendMSG_note_ChangeDevName(MatrixCMD.F_PCGetDeviceInfo, 0); //stop rotating } break; } } }
// 重载消息处理 protected override void WndProc(ref Message m) { switch (m.Msg) { case USER_TEXT_MSG: // 用户文本消息 COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); string str = mystr.lpData; Txb_Receiver.AppendText(str + "\n"); break; default: // 系统处理其它消息 base.DefWndProc(ref m); break; } }
private IntPtr MainWindowProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { switch (msg) { case WM_COPYDATA: { COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); COPYDATASTRUCT MyKeyboardHookStruct = (COPYDATASTRUCT)Marshal.PtrToStructure(lParam, typeof(COPYDATASTRUCT)); this.ContentBox.Text = MyKeyboardHookStruct.lpData; break; } default: { break; } } return(IntPtr.Zero); }
protected override void DefWndProc( ref System.Windows.Forms.Message m ) { switch ( m.Msg ) { case Win32API.WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam( mytype ); String op = mystr.lpData; switch ( op ) { case SecuruStikMessageType.Show: this.Visible = true;break; case SecuruStikMessageType.Hiden: this.Visible = false;break; } break; default: base.DefWndProc( ref m ); break; } }
private void ContainerForm_DefWndProcEvent(ref Message msg) { switch (msg.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)msg.GetLParam(mytype); WndProcAgreement comm = StrToObject(mystr.lpData); if (comm.Identifier == WndProcAgreement_Identifiter.Activate) { this.ContainerForm.Activate(); } else if (comm.Identifier == WndProcAgreement_Identifiter.Close) { this.Close(); } else if (comm.Identifier == WndProcAgreement_Identifiter.FlipScreens) { } break; } }
/// <summary> /// 消息接受处理函数 /// </summary> /// <param name="m"></param> protected override void DefWndProc(ref Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type t = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(t); string strResult = cds.dwData.ToString() + ":" + cds.lpData; //强制退出 if (strResult == "1:SelfKill") { this.notifyIcon1.Dispose(); System.Environment.Exit(0); } break; default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: var mystr = new COPYDATASTRUCT(); var myType = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(myType); if (!string.IsNullOrEmpty(mystr.IpData)) { if (_receviers.Count == 0 && _mainForm != null) { Console.WriteLine("timer控件开始计时"); timer1.Enabled = true; } _receviers.Add(mystr.IpData); } break; default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m)//心跳命令 { if (m.Msg == WM_COPYDATA) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type t = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(t); string receiveInfo = cds.lpData; //接收心跳命令 if ((receiveInfo == "CmdServerStart") || (receiveInfo == "CmdServerStop")) //命令服务器——CmdServerStart启动——CmdServerStop停止 命令 { //启动 stu.strName = "命令服务器"; stu.strCmd = receiveInfo; stu.strDateTime = DateTime.Now.ToString(); } else if (receiveInfo == "监控头_1")//监控模块的心跳命令 { for (int i = 0; i < MonOpt.Tree.IniMonitor.Count; i++) { if ((MonOpt.Tree.IniMonitor[i].strName == receiveInfo) || (MonOpt.Tree.IniMonitor[i].strName == receiveInfo)) { MonOpt.Tree.IniMonitor[i].strName = receiveInfo; //赋 MonOpt.Tree.IniMonitor[i].dateTine = DateTime.Now; //心跳时间 MonOpt.Tree.IniMonitor[i].MoState = 1; } } } else if ((receiveInfo == "") || (receiveInfo == "")) //数据分析服务器心跳命令 { } } else { base.DefWndProc(ref m); } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case Win32API.WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); String op = mystr.lpData; switch (op) { case SecuruStikMessageType.Show: this.Visible = true; break; case SecuruStikMessageType.Hiden: this.Visible = false; break; } break; default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); string[] messColl = mystr.lpData.Split(new char[] { '=' }); if (messColl[0] == "D00") { //MessageBox.Show(mystr.lpData); FileWorker.LogHelper.WriteLog("接受车底信息记录D00:" + mystr.lpData); MessCommand messComm = Utils.ParseCarScanMess(messColl); string jsonMess = messComm.toJson(); KafkaWorker.sendCarRecordMessage(jsonMess); Task.Run(() => { //在上传图片之前先进行压缩,保存到本地上,然后拿到压缩后的路径,进行FTP的上传 //string path = string.Format("/{0}/{1}", DateTime.Now.ToString("yyyy.MM.dd"), Path.GetFileName(messComm.body.vechicleInUvssPicpath)); FtpStatus ftpStatus = FtpHelper.upload(messColl[4], messComm.body.vechicleInUvssPicpath); if (ftpStatus == FtpStatus.Success) { FileWorker.LogHelper.WriteLog("上传文件" + messColl[4] + "成功"); } else if (ftpStatus == FtpStatus.Skipped) { FileWorker.LogHelper.WriteLog("上传文件" + messColl[4] + "在服务端已存在,跳过传输"); } else { FileWorker.LogHelper.WriteLog("上传文件" + messColl[4] + "失败"); string txtPath = Application.StartupPath + "\\imageErrorMess.txt"; string txt = string.Format("{0}|{1}", messColl[4], messComm.body.vechicleInUvssPicpath); WriteLogFile(txtPath, txt); } //string txtPath = Application.StartupPath + "\\imageErrorMess.txt"; //string txt = string.Format("{0}|{1}", messComm.body.vechicleInUvssPicpath, path); //WriteLogFile(txtPath, txt); }); } else if (messColl[0] == "D01") { //FileWorker.LogHelper.WriteLog("基本工作状态D01:" + mystr.lpData); //WorkingState work = Utils.ParseWorkMess(messColl); //string jsonMess = work.toJson(); //KafkaTest.SendMessCommand(jsonMess); } else if (messColl[0] == "D02") { FileWorker.LogHelper.WriteLog("第3方自定义功能D02:" + mystr.lpData); if (messColl[1] == "0") { this.Close(); } else if (messColl[1] == "1") { this.TopMost = true; } else if (messColl[1] == "2") //D02 = 2 = N = EOF { //N 最大接入许可数量 //MessageOrder work = Utils.ParseMessOrder(messColl); //上行,发送"U02=2=EOF" SendResponOrder(); } else { } } else { FileWorker.LogHelper.WriteLog("未知命令:" + mystr.lpData); //MessageBox.Show(mystr.lpData); } break; default: base.DefWndProc(ref m); break; } }
protected override void WndProc(ref Message m) { if (m.Msg == 0x004A) { try { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type cdsType = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(cdsType); uint flag = (uint)cds.dwData; byte[] data = new byte[cds.cbData]; Marshal.Copy(cds.lpData, data, 0, cds.cbData); if (flag == 1) { UpdateMessage(Encoding.Unicode.GetString(data)); } else if (flag == 2) { int size = Marshal.SizeOf(typeof(ROOM)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(data, 0, ptr, size); ROOM room = (ROOM)Marshal.PtrToStructure(ptr, typeof(ROOM)); Marshal.FreeHGlobal(ptr); UpdatePlayerList(room); this.panelInRoom.Visible = true; this.panelOutRoom.Visible = false; } else if (flag == 3) { int size = Marshal.SizeOf(typeof(ADVLIST)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(data, 0, ptr, size); ADVLIST advList = (ADVLIST)Marshal.PtrToStructure(ptr, typeof(ADVLIST)); Marshal.FreeHGlobal(ptr); UpdateAdvList(advList); this.panelInRoom.Visible = false; this.panelOutRoom.Visible = true; if (this.checkBoxAutoJoin.Checked) { for (int i = 0; i < advList.count; ++i) { if (advList.adv[i].title.IndexOf(this.textBoxTitleContain.Text, StringComparison.OrdinalIgnoreCase) >= 0 && advList.adv[i].map.IndexOf(this.textBoxMapContain.Text, StringComparison.OrdinalIgnoreCase) >= 0) { JoinGame(advList.adv[i].title); } } } } else if (flag == 4) { //W3_NOTHING 0 //W3_LOBBY 1 //W3_FAKE 2 // i don't know what is this... //W3_LOADING 3 //W3_INGAME 4 //W3_PAUSEDGAME 6 int backupGameState = GameState; GameState = BitConverter.ToInt32(data, 0); if (backupGameState == 1 && GameState == 0) // 从房间中退出 { UpdateMessage("[已离开房间]"); ActiveWC3(); } else if (GameState == 1) // 进入房间 { this.listBoxMessage.Items.Clear(); this.panelInRoom.Visible = true; this.panelOutRoom.Visible = false; this.checkBoxAutoJoin.Checked = false; this.checkBoxAutoTry.Checked = false; ActiveWC3(); } else if (GameState == 3) // 开始载入 { UpdateMessage("[已开始载入]"); } else if (GameState == 4) // 开始游戏 { UpdateMessage("[已开始游戏]"); ActiveWC3(); } } } catch (Exception e) { //MessageBox.Show(e.ToString()); } } else if (m.Msg == 0x0112) { if (m.WParam.ToInt32() == 0x123) { IntPtr hMenu = GetSystemMenu(this.Handle, false); CheckMenuItem(hMenu, 0x123, this.TopMost ? (uint)0 : 0x00000008); this.TopMost = !this.TopMost; } else if (m.WParam.ToInt32() == 0x124) { System.Diagnostics.Process.Start("http://blog.nxun.com/2011/war3-bn-helper/"); } else { base.WndProc(ref m); } } else { base.WndProc(ref m); } }
protected override void WndProc(ref Message ThisMsg) { if (ThisMsg.Msg == WM_COPYDATA) { COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)ThisMsg.GetLParam(mytype); string msg = GetMPCCommand((MPCAPI_COMMAND)mystr.dwData); string param = GetMPCCommandParamStr((MPCAPI_COMMAND)mystr.dwData, mystr.lpData); Debug.WriteLine(msg + " " + param); MPCAPI_COMMAND command = (MPCAPI_COMMAND)mystr.dwData.ToInt32(); switch (command) { case MPCAPI_COMMAND.CMD_CONNECT: MediaPlayerHandle = Convert.ToInt32(mystr.lpData); NotifyConnected(); break; case MPCAPI_COMMAND.CMD_STATE: MPC_LOADSTATE loadState = (MPC_LOADSTATE)int.Parse(mystr.lpData); switch (loadState) { case MPC_LOADSTATE.MLS_CLOSED: VideoFileName = ""; VideoDurationMs = 0; VideoCurrentlyPlaying = false; VideoCurrentlyOpen = false; NotifyClosed(); break; case MPC_LOADSTATE.MLS_LOADING: NotifyLoading(); break; case MPC_LOADSTATE.MLS_LOADED: VideoCurrentlyOpen = true; PausedPositionMs = 0; NotifyLoaded(); // SendGetNowPlaying(); // request title info break; case MPC_LOADSTATE.MLS_CLOSING: VideoCurrentlyPlaying = false; NotifyClosing(); break; default: break; } break; case MPCAPI_COMMAND.CMD_PLAYMODE: MPC_PLAYSTATE playState = (MPC_PLAYSTATE)int.Parse(mystr.lpData); switch (playState) { case MPC_PLAYSTATE.PS_PLAY: VideoCurrentlyPlaying = true; LastReportedPositionMs = -1; // invalidate the reported position; paused position is better for now ResyncTime(); NotifyPlay(); break; case MPC_PLAYSTATE.PS_PAUSE: PausedPositionMs = CurrentPositionMs; // set the paused position VideoCurrentlyPlaying = false; SendGetCurrentPosition(); NotifyPause(); break; case MPC_PLAYSTATE.PS_STOP: VideoCurrentlyPlaying = false; PausedPositionMs = 0; NotifyStop(); break; case MPC_PLAYSTATE.PS_UNUSED: break; default: break; } break; case MPCAPI_COMMAND.CMD_NOWPLAYING: // Par 1 : title // Par 2 : author // Par 3 : description // Par 4 : complete filename (path included) // Par 5 : duration in seconds string[] parms = mystr.lpData.Split('|'); int duration = (int)(double.Parse(parms[4]) * 1000); VideoFileName = System.IO.Path.GetFileName(parms[3]); VideoDurationMs = duration; NotifyNowPlaying(parms[0], parms[1], parms[2], parms[3], duration); ResyncTime(); break; case MPCAPI_COMMAND.CMD_LISTSUBTITLETRACKS: break; case MPCAPI_COMMAND.CMD_LISTAUDIOTRACKS: break; case MPCAPI_COMMAND.CMD_CURRENTPOSITION: { try { int currentPos = int.Parse(mystr.lpData) * 1000; ContinueResync(currentPos); } catch { LastReportedPositionMs = (int)(double.Parse(mystr.lpData) * 1000); LastReportedDateTime = DateTime.UtcNow; PausedPositionMs = LastReportedPositionMs; needToDoResyncs = false; } } break; case MPCAPI_COMMAND.CMD_NOTIFYSEEK: { try { int currentPos = int.Parse(mystr.lpData) * 1000; LastReportedDateTime = DateTime.UtcNow; LastReportedPositionMs = currentPos; PausedPositionMs = currentPos; ResyncTime(); } catch { LastReportedPositionMs = (int)(float.Parse(mystr.lpData) * 1000); LastReportedDateTime = DateTime.UtcNow; PausedPositionMs = LastReportedPositionMs; needToDoResyncs = false; } } break; case MPCAPI_COMMAND.CMD_NOTIFYENDOFSTREAM: break; case MPCAPI_COMMAND.CMD_PLAYLIST: break; case MPCAPI_COMMAND.CMD_DISCONNECT: VideoFileName = ""; VideoDurationMs = 0; VideoCurrentlyPlaying = false; VideoCurrentlyOpen = false; MediaPlayerHandle = 0; NotifyDisconnected(); break; default: Debug.WriteLine("Unhandled Command"); break; } return; } base.WndProc(ref ThisMsg); }
protected override void WndProc(ref Message m) { if (m.Msg == 0x004A) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type type = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(type); //无效信息拦截 if (cds.dwData != 0 && cds.dwData != 2) { return; } if (tb_MsgBox.Text.Length > 10000) { tb_MsgBox.Text = string.Empty; } if (cds.dwData == 0) { //不再是传值的方式了,通过文件的方式,所以这里注释 ////接受到的群消息 //var content = Marshal.PtrToStringAnsi(cds.lpData); ////处理接受到的消息 //new HandleReceiveMessage().HandleMessage(content, _log); //tb_MsgBox.Text += content; //回复消息 //var chatroomId = content.Split(new string[] { "|&|" }, StringSplitOptions.RemoveEmptyEntries)[0]; //ChatRoomMember.SendRoomAtMsg(Pid, chatroomId); #region 注释 //拆分字符串并拼json //var arrContent = content.Split(new string[] { "|&|" }, StringSplitOptions.RemoveEmptyEntries); //var center = ConfigurationManager.AppSettings["MessageCenter"]; //如果不是文字、图片消息,就直接返回 //if (arrContent[3].IndexOf("no") > -1) //{ // return; //} //Task.Run(() => //{ // string msgContent = ""; // if (arrContent[3].IndexOf("image") > -1) // { // string u1 = GetImageBaseDir() + arrContent[4]; // u1 = u1.Substring(0, u1.LastIndexOf(".dat") + 4);//防止后面有乱码 // try // { // _log.Info(u1 + "\r\n"); // 解密图片 // msgContent = DecryptImageHelper.Decrypt(u1); // } // catch (Exception ex) // { // _log.Error("解密图片时候报错:" + ex.Message + u1); // } // } // else // { // msgContent = arrContent[2]; // } // var jsonObj = new // { // GroupId = arrContent[0], // MemberId = arrContent[1], // MsgTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff"), // MsgContent = msgContent, // MsgType = arrContent[3] // }; // var jsonContent = JsonSerializeHelper.JsonSerialize(jsonObj); // 显示日志 // tb_MsgBox.Text += jsonContent; // 发送到数据接口 // new WebHelper().PostMessage(center, jsonContent, _log); // 调用微信群组接口 // ChatRoomMember.GetChatRoomUser(Pid, jsonObj.GroupId); //}); #endregion } else if (cds.dwData == 2) { //获取到的群成员列表 var content = Marshal.PtrToStringUni(cds.lpData); try { //群组信息与成员列表切分开 var chatRoomIdandMember = content.Split(new string[] { "_&&_" }, StringSplitOptions.RemoveEmptyEntries); //群组id var chatRoomId = chatRoomIdandMember[0].Split(new string[] { "|&|" }, StringSplitOptions.RemoveEmptyEntries)[0]; _log.Debug("响应一次微信群组调用:" + chatRoomId); //群组名称 var chatRoomName = chatRoomIdandMember[0].Split(new string[] { "|&|" }, StringSplitOptions.RemoveEmptyEntries)[1]; //群的成员列表。 var chatRoomMembers = chatRoomIdandMember[1].Split(new string[] { "_&_" }, StringSplitOptions.RemoveEmptyEntries); List <object> memberList = new List <object>(); chatRoomMembers.ToList().ForEach(p => { var member = p.Split(new string[] { "|&|" }, StringSplitOptions.None); if (member.Length == 3) { memberList.Add(new { MemberId = member[0], MemberNickName = member[2], MemberAreas = "", MemberNumber = member[1], MemberGroupName = member[2] }); } }); var JsonObj = new { GroupId = chatRoomId, GroupName = chatRoomName, MemberList = memberList }; var JsonString = JsonSerializeHelper.JsonSerialize(JsonObj); tb_MsgBox.Text += JsonString; var center = ConfigurationManager.AppSettings["ChatRoomMemberListCenter"]; Task.Run(() => { new WebHelper().PostMessage(center, JsonString, _log); }); } catch (Exception ex) { _log.Error("获取到的群成员列表,请求过程中程序报错:" + ex.Message + "content为:" + content); } } } else { base.WndProc(ref m); } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); //MessageBox.Show(mystr.lpData); Jid openJid = new Jid(mystr.lpData, XmppCon.Server,null); //MessageBox.Show(openJid.ToString()); Friend item=null; if (listView_fd.Rosters.ContainsKey(openJid.Bare)) { item = listView_fd.Rosters[openJid.Bare]; if (!Util.ChatForms.ContainsKey(item.Ritem.Jid.Bare)) { try { string nickName = listView_fd.GetFriendNickName(openJid.Bare); ChatFromMsg chat = new ChatFromMsg(openJid, XmppCon, nickName); chat.UpdateFriendOnline(item.IsOnline);//设置好友在线状态 chat.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { try { ChatFromMsg chatform = Util.ChatForms[item.Ritem.Jid.Bare] as ChatFromMsg; chatform.WindowState = FormWindowState.Normal; chatform.Activate(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } else { if (!Util.ChatForms.ContainsKey(openJid.Bare)) { listView_fd.UpdateFriendFlicker(openJid.Bare); string nickName = listView_fd.GetFriendNickName(openJid.Bare); ChatFromMsg chat = new ChatFromMsg(openJid, XmppCon, nickName); Friend friend; if (listView_fd.Rosters.ContainsKey(openJid.Bare)) { friend = listView_fd.Rosters[openJid.Bare]; } else { friend = null; } if (friend != null) { chat.UpdateFriendOnline(listView_fd.Rosters[openJid.Bare].IsOnline); } if (msgBox.ContainsKey(openJid.Bare.ToString())) { chat.FristMessage(msgBox[openJid.Bare.ToString()]); msgBox.Remove(openJid.Bare.ToString()); } try { chat.Show(); } catch (Exception) { } } else { try { ChatFromMsg chatform = Util.ChatForms[openJid.Bare.ToString()] as ChatFromMsg; chatform.WindowState = FormWindowState.Normal; chatform.Activate(); } catch (Exception ex) { MessageBox.Show("打开窗体错误:"+ex.Message); } } } break; default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: { COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); TransferTask currentTask = transferTaskListControl1.GetTaskByID(new Guid(mystr.lpData.Substring(0, mystr.cbData))); if (currentTask != null) { transferTaskListControl1.CompleteTask(currentTask); //写入元数据 TemplateMetaData metaData; MetaDts.TryGetValue(currentTask.ID, out metaData); if (currentTask.Type == TaskType.Upload) { switch (metaData.MetaDataType) { case EnumMetaDataType.Raster: { Demo.Entities.RasterLayer rstLyr = metaData.LayerData as Demo.Entities.RasterLayer; rstLyr.LAYERSIZE = (long)currentTask.Size; if (Demo.Entities.RasterLayer.ImportRasterIndex(rstLyr) == 1) { //MessageBox.Show("元数据保存成功!"); } else { MessageBox.Show("元数据保存失败!"); } break; } case EnumMetaDataType.Features: { VectorLayer vecLyr = metaData.LayerData as VectorLayer; vecLyr.LAYERSIZE = (long)currentTask.Size; if (VectorLayer.ImportVectorIndex(vecLyr) == 1) { //MessageBox.Show("元数据保存成功!"); } else { MessageBox.Show("元数据保存失败!"); } break; } case EnumMetaDataType.Files: { FileLayer fileLyr = metaData.LayerData as FileLayer; fileLyr.LAYERSIZE = (long)currentTask.Size; if (FileLayer.ImportFileIndex(fileLyr) == 1) { //MessageBox.Show("元数据保存成功!"); } else { MessageBox.Show("元数据保存失败!"); } break; } } } else { } } break; } default: base.DefWndProc(ref m); break; } }
protected override void DefWndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); var musicName = Path.GetFileName(mystr.lpData); var name = musicName.Split('.'); if (mystr.type == 0) { string str = string.Format("有人分享了一首:{0} 给你,要去听听吗?", name[0]); DialogResult dr = MessageBox.Show(str, "音乐分享", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { try { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = @"C:\Users\ychi\source\repos\music\musicApp\musicApp\bin\Debug\musicApp.exe"; startInfo.Arguments = mystr.lpData; startInfo.WindowStyle = ProcessWindowStyle.Normal; Process.Start(startInfo); } catch (Exception ex) { throw; } } else if (dr == DialogResult.No) { return; } } else if (mystr.type == 1) { string str = string.Format("有人分享视频:{0} 给你,要去看看吗?", name[0]); DialogResult dr = MessageBox.Show(str, "视频分享", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { try { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = @"C:\Users\ychi\source\repos\music\musicApp\musicApp\bin\Debug\musicApp.exe"; startInfo.Arguments = mystr.lpData + " " + 1; startInfo.WindowStyle = ProcessWindowStyle.Normal; Process.Start(startInfo); } catch (Exception ex) { throw; } } else if (dr == DialogResult.No) { return; } } // chatListBox.Items.Add(content + "\r\n"); // this.textBox1.Text = mystr.lpData; break; default: base.DefWndProc(ref m); break; } }
protected override void WndProc(ref Message m) { // Listen for operating system messages. switch (m.Msg) { case WM_USER: //MessageBox.Show("Message recieved: " + m.WParam + " – " + m.LParam); break; case WM_COPYDATA: COPYDATASTRUCT mystr = new COPYDATASTRUCT(); Type mytype = mystr.GetType(); mystr = (COPYDATASTRUCT)m.GetLParam(mytype); if (mystr.lpData.Equals("exit;")) { sendmsgclose = true; Application.Exit(); } // MessageBox.Show(mystr.lpData); Splashtext.Text = mystr.lpData; Splashtext.Left = (this.Width / 2) - (Splashtext.Width / 2); Splashtext.Top = (this.Height / 2) - (Splashtext.Height / 2); break; } base.WndProc(ref m); }
protected override void WndProc(ref Message m) { if (m.Msg == 0x004A) { try { COPYDATASTRUCT cds = new COPYDATASTRUCT(); Type cdsType = cds.GetType(); cds = (COPYDATASTRUCT)m.GetLParam(cdsType); uint flag = (uint)cds.dwData; byte[] data = new byte[cds.cbData]; Marshal.Copy(cds.lpData, data, 0, cds.cbData); if (flag == 1) { UpdateMessage(Encoding.Unicode.GetString(data)); } else if (flag == 2) { int size = Marshal.SizeOf(typeof(ROOM)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(data, 0, ptr, size); ROOM room = (ROOM)Marshal.PtrToStructure(ptr, typeof(ROOM)); Marshal.FreeHGlobal(ptr); UpdatePlayerList(room); this.panelInRoom.Visible = true; this.panelOutRoom.Visible = false; } else if (flag == 3) { int size = Marshal.SizeOf(typeof(ADVLIST)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(data, 0, ptr, size); ADVLIST advList = (ADVLIST)Marshal.PtrToStructure(ptr, typeof(ADVLIST)); Marshal.FreeHGlobal(ptr); UpdateAdvList(advList); this.panelInRoom.Visible = false; this.panelOutRoom.Visible = true; if (this.checkBoxAutoJoin.Checked) { for (int i = 0; i < advList.count; ++i) { if (advList.adv[i].title.IndexOf(this.textBoxTitleContain.Text, StringComparison.OrdinalIgnoreCase) >= 0 && advList.adv[i].map.IndexOf(this.textBoxMapContain.Text, StringComparison.OrdinalIgnoreCase) >= 0) { JoinGame(advList.adv[i].title); } } } } else if (flag == 4) { //W3_NOTHING 0 //W3_LOBBY 1 //W3_FAKE 2 // i don't know what is this... //W3_LOADING 3 //W3_INGAME 4 //W3_PAUSEDGAME 6 int backupGameState = GameState; GameState = BitConverter.ToInt32(data, 0); if (backupGameState == 1 && GameState == 0) // 从房间中退出 { UpdateMessage("[已离开房间]"); ActiveWC3(); } else if (GameState == 1) // 进入房间 { this.listBoxMessage.Items.Clear(); this.panelInRoom.Visible = true; this.panelOutRoom.Visible = false; this.checkBoxAutoJoin.Checked = false; this.checkBoxAutoTry.Checked = false; ActiveWC3(); } else if (GameState == 3) // 开始载入 { UpdateMessage("[已开始载入]"); } else if (GameState == 4) // 开始游戏 { UpdateMessage("[已开始游戏]"); ActiveWC3(); } } } catch (Exception e) { //MessageBox.Show(e.ToString()); } } else if (m.Msg == 0x0112) { if (m.WParam.ToInt32() == 0x123) { IntPtr hMenu = GetSystemMenu(this.Handle, false); CheckMenuItem(hMenu, 0x123, this.TopMost ? (uint)0 : 0x00000008); this.TopMost = !this.TopMost; } else if (m.WParam.ToInt32() == 0x124) { System.Diagnostics.Process.Start("http://blog.nxun.com/2011/war3-bn-helper/"); } else { base.WndProc(ref m); } } else { base.WndProc(ref m); } }