Пример #1
0
        public void Stop()
        {
            if (overlayPipe != null && isConnected)
            {
                overlayPipe.Close();
            }

            if (overlayHookThread != null)
            {
                overlayHookThread.Abort();

                Stopwatch terminateCountdown = new Stopwatch();
                terminateCountdown.Start();
                while (overlayHookThread.IsAlive)
                {
                    if (terminateCountdown.ElapsedMilliseconds > 2000)
                    {
                        API.Instance.Log("Overlay hook thread unable to be terminated, 2000ms timeout exceeded; Giving up");
                        break;
                    }
                }
            }

            if (bitmap != null)
            {
                bitmap.Close();
                bitmap = null;
            }
        }
Пример #2
0
 public OverlayHook()
 {
     buffer      = new OverlayMsgBuffer();
     bitmap      = new SharedOverlayBitmap();
     stopwatch   = new Stopwatch();
     isConnected = false;
 }