public void BuildListOfMsgFromWindow(bool useCache, bool searchChildren) { EventMsgData msgData = new EventMsgData(); msgData.msgType = EventMsgType.msgMessageBulidList; AddMsgToQueue(msgData); }
//메세지 후킹 작업종료 public void Uninitialize() { // 메시지 후킹쓰레드를 종료하기 위한 Msg큐 저장 if (threadHookMessage != null) { EventMsgData msgData = new EventMsgData(); msgData.msgType = EventMsgType.msgCloseDown; AddMsgToQueue(msgData); } }
private void AddMsgToQueue(EventMsgData msgData) { // 요청에대한 Lock 처리 Monitor.Enter(msgQueue); try { // LOCK 처리 후 해당msg 큐에삽입 msgQueue.Enqueue(msgData); } finally { // Lock 해제 Monitor.Exit(msgQueue); } // 큐에 삽인된 MSG처리 요청 autoEventMsg.Set(); }