コード例 #1
0
        private static Byte[] SignalObjToByte(SignalObj signalObj)
        {
            string jsonData = JsonConvert.SerializeObject(signalObj);

            Byte[] buffer = Encoding.Default.GetBytes(jsonData);

            return(buffer);
        }
コード例 #2
0
        private void Server_Load(object sender, EventArgs e)
        {
            isFinish = false;

            // Viewer 객체 생성
            clientsViewer             = new Viewer();
            clientsViewer.FormClosed += new FormClosedEventHandler(Viewer_FormClosed);

            // 작업 표시줄에서 제거
            this.ShowInTaskbar = false;

            // 표준 신호 객체 생성
            standardSignalObj = new SignalObj();

            // NotifyIcon에 메뉴 추가
            NotifyIconSetting();

            // JPEG 손실 압축 수준 설정
            codec          = GetEncoder(ImageFormat.Jpeg);
            param          = new EncoderParameters();
            param.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 30L);

            // 선택 가능한 스크린 설정
            sc = Screen.AllScreens;
            foreach (var mon in sc)
            {
                cbMonitor.Items.Add(Regex.Replace(mon.DeviceName, @"[^0-9a-zA-Z가-힣]", "").Trim());
            }
            cbMonitor.SelectedIndex = 0;
            selectedScreen          = cbMonitor.SelectedIndex;

            // 스크린 캡처에 필요한 변수 초기화
            bmp = null;
            g   = null;

            // 클라이언트 연결 대기
            SocketOn();

            // 스크린 캡처를 통한 이미지 생성 태스크 실행
            Task.Run(() => ImageCreate());
        }