Ejemplo n.º 1
0
        /// <summary>
        /// 窗口操作
        /// </summary>
        /// <param name="info">窗口操作信息</param>
        /// <param name="cmd">控制命令</param>
        /// <returns>TRUE:成功 FALSE:失败</returns>
        public static bool WallWinControl(WinCtrlInfo info, WinControlCmd cmd)
        {
            uint m_dwPlatNum  = info.WallNo;
            uint m_dwSubWinNo = info.SubWinNo;
            uint m_dwWinNo    = info.WinNo;
            //子窗口号(组号):1字节电视墙号+1字节子窗口号+2字节窗口号
            uint dwDispChanNum = ((m_dwPlatNum & 0xff) << 24) + ((m_dwSubWinNo & 0xff) << 16) + (m_dwWinNo & 0xff);
            bool b             = NET_DVR_MatrixDiaplayControl(info.UserId, dwDispChanNum, (uint)cmd, m_dwSubWinNo);

            if (!b)
            {
                iLastErr = NET_DVR_GetLastError();
                strErr   = "NET_DVR_MatrixDiaplayControl failed, error code= " + iLastErr;
            }
            return(b);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 窗口置顶置底
        /// </summary>
        /// <param name="info">窗口操作信息</param>
        /// <param name="cmd">命令类型</param>
        /// <returns>TRUE:成功 FALSE:失败</returns>
        public static bool WallSetWinDisplay(WinCtrlInfo info, WinControlCmd cmd)
        {
            uint m_dwWallNo = info.WallNo;
            uint m_dwRes    = 0;
            uint m_dwWinNo  = info.WinNo;

            //窗口号(组合):1字节电视墙号+1字节保留+2字节窗口号
            uint dwWinNum = ((m_dwWallNo & 0xff) << 24) + ((m_dwRes & 0xff) << 16) + (m_dwWinNo & 0xff);

            //窗口相关参数
            IntPtr lpInBuffer = Marshal.AllocHGlobal(4);

            Marshal.StructureToPtr(dwWinNum, lpInBuffer, false);
            bool b = NET_DVR_RemoteControl(info.UserId, (uint)cmd, lpInBuffer, 4);

            if (!b)
            {
                iLastErr = NET_DVR_GetLastError();
                strErr   = "NET_DVR_SWITCH_WIN_BOTTOM failed, error code= " + iLastErr;
                //窗口置底失败,输出错误号 Failed to set the window down to bottom and output the error code
            }
            Marshal.FreeHGlobal(lpInBuffer);
            return(b);
        }