public static void StartBackgowndWorkProcess(IdentifyQueryBackground param) { try { if (m_BackgroundWorkerAsync != null) { m_BackgroundWorkerAsync.CancelAsync(); m_BackgroundWorkerAsync.Abort(); } m_BackgroundWorkerAsync = new WallpaperBgWorker(); m_BackgroundWorkerAsync.WorkerSupportsCancellation = true; m_BackgroundWorkerAsync.DoWork += new DoWorkEventHandler(BackgroundWorkerAsyncRequest_DoWork); m_BackgroundWorkerAsync.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BackgroundWorkerAsyncRequest_RunWorkerCompleted); m_BackgroundWorkerAsync.RunWorkerAsync(param); dictionaryBag.TryAdd(m_BackgroundWorkerAsync.Key, m_BackgroundWorkerAsync); } catch (Exception) { } }