protected override void WndProc(ref Message m) { base.WndProc(ref m); Console.WriteLine(m); if (m.Msg == 0x31d && wsclient != null && Properties.Settings.Default.autoset == CheckState.Checked) { var req = new CloudTextPackage(0, null, null, "Set", Clipboard.GetText()); wsclient.Send(JsonConvert.SerializeObject(req)); } }
private async void connectWs() { Console.WriteLine(Properties.Settings.Default.wsuri); var ws = new WebsocketClient(new Uri(Properties.Settings.Default.wsuri)); _ = Task.Run(async() => { await Task.Delay(1000); if (!ws.IsRunning) { new ConfigForm("无法连接到websocket").ShowDialog(); } }); ws.MessageReceived.Subscribe(action => { var message = action.Text; Console.WriteLine(message); var response = JsonConvert.DeserializeObject <CloudTextPackage>(message); switch (response.action) { case "Auth": if (response.data != "success") { new ConfigForm("账号登录失败").ShowDialog(); } else { this.wsclient = ws; } break; case "Set": var t = new Thread(() => { try { if (Clipboard.GetText() != response.data && Properties.Settings.Default.autoget == CheckState.Checked) { Clipboard.SetText(response.data); } } catch (Exception e) { } }); t.SetApartmentState(ApartmentState.STA); t.Start(); break; } }); var req = new CloudTextPackage(0, Properties.Settings.Default.username, Properties.Settings.Default.password, "Auth", null); await ws.Start(); await ws.Send(JsonConvert.SerializeObject(req)); }