コード例 #1
0
ファイル: Program.cs プロジェクト: SGmuwa/ScrTilla
        private static async void PrtHooked(object sender, KeyEventArgs e)
        {
            PrtScr_Hook.StopHook(PrtHooked);                        // Во время обработки приостанавливаем перехват
            json_st.ResponsePost Resp = new json_st.ResponsePost(); // Хранилище ответа
            try
            {
                byte[] Scr = Combine.GetScreen(); // Шаг 2: получаем изображение
                if (Settings.Save)
                {
                    SaveScr.Save(Scr);                // Сохраняем при надобности на диск
                }
                Resp = await Combine.SendScreen(Scr); // Шаг 3: отправка изображения

                Scr = null;
            }
            catch
            {
                Resp.message = "Error"; // Если не удалось отправить изображение
            }
            if (Resp.filename.Length > 4 && Resp.code != 415 && Resp.code != 0)
            { // Шаг 4: Если результат положительный, то отправить его в буфер обмена
                Clipboard_s.ToClipboard(Settings.HTTP_ADDRESS + "/" + Resp.filename);
            }
            GC.Collect();                     // Вызываем сборщик мусора дважды
            PrtScr_Hook.StartHook(PrtHooked); // Возобновление шага 1
            GC.Collect();
        }
コード例 #2
0
ファイル: Settings.cs プロジェクト: SGmuwa/ScrTilla
        /// <summary>
        /// Установить PNGs и URI в зависимости от address.
        /// </summary>
        /// <param name="address">DNS или IP сервера.</param>
        /// <returns>true, если настройки применены успешно.</returns>
        public static async Task <bool> SetSettingsByAddress(string address)
        {
            if (address == null)
            {
                return(false);                //UPLOAD = HTTP_ADDRESS = ADDRESS = PNGs = "";
            }
            json_st.InfoGet info = await Combine.GetInfo("http://" + address);

            if (info.server_name == null || info.server_name.Length == 0 || info.upload_dir == null || info.upload_dir.Length == 0)
            {
                return(false);
            }
            cont.ADDRESS      = address;
            cont.HTTP_ADDRESS = "http://" + address;
            cont.UPLOAD       = HTTP_ADDRESS + info.upload_dir;
            cont.PNGs         = HTTP_ADDRESS;
            update();
            return(true);
        }