void CListener_ClipboardChange(object sender, RawClipboardEventArgs args)
 {
     if (CSender != null)
     {
         if (!CSender.justReceivedContent)
         {
             Thread t = new Thread(() => CSender.SendClipboard());
             t.SetApartmentState(ApartmentState.STA);
             t.Start();
         }
         else
         {
             CSender.justReceivedContent = false;
         }
     }
 }
 private void ActivateControl(object sender, EventArgs e)
 {
     if (connected && firstTimeActivated)
     {
         firstTimeActivated = false;
         InitHooks();
         try
         {
             string restartMessage = "<Restart>";
             byte[] restartToByte  = Encoding.Unicode.GetBytes(restartMessage);
             int    bytesSend      = controlSocket.Send(restartToByte);
         }
         catch (ObjectDisposedException) {}
         Thread t = new Thread(() => CSender.SendClipboard());
         t.SetApartmentState(ApartmentState.STA);
         t.Start();
     }
 }