public static bool Start(string sourceFile) { workThread = new Thread(GetIsfVoid); maskQueue = new Queue <LogMask>(); bool qxdm3Present = (Registry.ClassesRoot.OpenSubKey("QXDM.Application") != null); bool qxdm4Present = (Registry.ClassesRoot.OpenSubKey("QXDM.QXDMAutoApplication") != null); if (qxdm3Present) { qxdm = new QXDM3Processor(); if (qxdm.Start(sourceFile) == true) { return(true); } } if (qxdm4Present) { qxdm = new QXDM4Processor(); if (qxdm.Start(sourceFile) == true) { return(true); } } qxdm = null; return(false); }
public static void Stop() { if (workThread.IsAlive) { Debug.WriteLine("wait child thread"); workThread.Join(); Debug.WriteLine("child child end"); } if (qxdm != null) { qxdm.Stop(); qxdm = null; } }