예제 #1
0
 private void Form1_Load(object sender, EventArgs e)
 {
     if (!this.ipe.available)
     {
         Application.Exit();
         return;
     }
     RemoteControllerReceiver.RunWorkerAsync();
 }
예제 #2
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     RemoteControllerReceiver.CancelAsync();
     ipe.keyUp(InputEmu.VK_C);
     ipe.keyUp(InputEmu.VK_Z);
     ipe.keyUp(InputEmu.VK_X);
     ipe.keyUp(InputEmu.VK_P);
     ipe.keyUp(InputEmu.VK_UP);
     ipe.keyUp(InputEmu.VK_ESC);
     ipe.keyUp(InputEmu.VK_DOWN);
     ipe.keyUp(InputEmu.VK_LEFT);
     ipe.keyUp(InputEmu.VK_SHIFT);
     ipe.keyUp(InputEmu.VK_ENTER);
     ipe.keyUp(InputEmu.VK_RIGHT);
     ipe.forceStop = true;
 }
예제 #3
0
        private void RemoteControllerReceiver_DoWork(object sender, DoWorkEventArgs e)
        {
            Socket     receiver = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint ip       = new IPEndPoint(IPAddress.Any, 0x3389);

            receiver.Bind(ip);
            receiver.ReceiveTimeout = 1000;
            while (true)
            {
                SocketError code = SocketError.Success;
                receiver.Receive(OperateStruct.result, 0, 2, SocketFlags.None, out code);
                if (code == SocketError.Success)
                {
                    OperateStruct.parse();
                    RemoteControllerReceiver.ReportProgress(20);
                }
                else
                if (code == SocketError.TimedOut)
                {
                    OperateStruct.reset();
                    RemoteControllerReceiver.ReportProgress(54);
                }
                else
                {
                    OperateStruct.reset();
                    RemoteControllerReceiver.ReportProgress(99);
                    Console.WriteLine(code);
                }
                System.Threading.Thread.Sleep(2);
                if (RemoteControllerReceiver.CancellationPending)
                {
                    receiver.Close();
                    receiver.Dispose();
                    return;
                }
            }
        }