예제 #1
0
        /// <summary>
        /// 발신자 표시 팝업
        /// </summary>
        /// <param name="ani"></param>
        /// <param name="name"></param>
        /// <param name="server_type"></param>
        private void PopUpOnCallRingingReceived(object sender, CustomEventArgs e)
        {
            try
            {
                string[] msg         = (string[])e.GetItem;
                string   ani         = msg[0];
                string   name        = msg[1];
                string   server_type = msg[2];

                Logger.info("Ringing : ani[" + ani + "]name[" + name + "]server_type[" + server_type + "]nopop[" + ConfigHelper.NoPop + "]");

                if (popform != null)
                {
                    popform.Close();
                }
                //getForegroundWindow();
                popform     = new PopForm();
                popform.Tag = name;
                if (name.Length > 0)
                {
                    popform.label1.Text = name + "\r\n" + ani;
                }
                else
                {
                    popform.label1.Text = ani;
                }

                if (isFormHidden == false && firstCall == false)
                {
                    popform.TopMost = true;
                    firstCall       = true;
                }
                else
                {
                    popform.TopMost = false;
                }

                this.TopLevel    = true;
                popform.TopLevel = true;
                popform.Show();
            }
            catch (Exception ex)
            {
                Logger.error(ex.ToString());
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: sanzor/ENPipe
        static async Task Main()
        {
            State   state = new State();
            PopForm form  = new PopForm(state);
            NamedPipeClientStream client = new NamedPipeClientStream(
                ".",
                "adiPipe",
                PipeDirection.InOut,
                PipeOptions.Asynchronous
                );

            char[] buf   = new char[1024];
            byte[] bytes = new byte[1024];


            try
            {
                Debugger.Launch();
                await client.ConnectAsync().ConfigureAwait(false);

                while (true)
                {
                    // var got = await reader.ReadToEndAsync().ConfigureAwait(false);
                    var read = client.Read(bytes, 0, bytes.Length);
                    var got  = bytes.ToChars(read).FromChars(read);
                    if (got != "pop")
                    {
                        continue;
                    }

                    form.ShowDialog();
                    var message = state.WasClosed ? "close" : "delay";
                    var tosend  = message.ToBytes();
                    client.Write(tosend, 0, tosend.Length);
                    // await writer.WriteAsync(message);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #3
0
        /// <summary>
        /// 발신자 표시 팝업
        /// </summary>
        /// <param name="ani"></param>
        /// <param name="name"></param>
        /// <param name="server_type"></param>
        private void PopUpOnCallRingingReceived(object sender, CustomEventArgs e)
        {
            try
            {
                string[] msg = (string[])e.GetItem;
                string ani = msg[0];
                string name = msg[1];
                string server_type = msg[2];

                Logger.info("Ringing : ani[" + ani + "]name[" + name + "]server_type[" + server_type + "]nopop[" + ConfigHelper.NoPop + "]");

                if (popform != null)
                {
                    popform.Close();
                }
                //getForegroundWindow();
                popform = new PopForm();
                popform.Tag = name;
                if (name.Length > 0)
                    popform.label1.Text = name + "\r\n" + ani;
                else
                    popform.label1.Text = ani;

                if (isFormHidden == false && firstCall == false)
                {
                    popform.TopMost = true;
                    firstCall = true;
                }
                else
                {
                    popform.TopMost = false;
                }

                this.TopLevel = true;
                popform.TopLevel = true;
                popform.Show();
            }
            catch (Exception ex)
            {
                Logger.error(ex.ToString());
            }
        }
예제 #4
0
        /// <summary>
        /// 발신자 표시 처리
        /// </summary>
        /// <param name="ani"></param>
        /// <param name="name"></param>
        /// <param name="server_type"></param>

        private void Ringing(string ani, string name, string server_type)
        {
            try
            {
                logWrite("Ringing : ani[" + ani + "]name[" + name + "]server_type[" + server_type + "]nopop[" + nopop + "]");

                CustomerList[ani] = name;
                if (popform != null)
                {
                    t1.Stop();
                    popform.Close();
                }
                //getForegroundWindow();
                popform = new PopForm();
                popform.Tag = name;
                if (name.Length > 0)
                {
                    popform.label1.Text = name + "\r\n" + ani;
                }
                else
                {
                    popform.label1.Text = ani;
                }

                if (isHide == false && firstCall == false)
                {
                    popform.TopMost = true;
                    firstCall = true;
                }
                else
                {
                    popform.TopMost = false;
                }
                this.TopLevel = true;
                popform.TopLevel = true;
                popform.Show();
                //getForegroundWindow();
                
                t1.Start();

            }
            catch (Exception ex)
            {
                logWrite(ex.ToString());
            }
        }