예제 #1
0
        /// <summary>
        /// Start a scan
        /// </summary>
        /// <param name="strAPIs"></param>
        /// <returns></returns>
        public bool Start(string [] strAPIs, string strPath, string[] strExts, frmMain frmMain)
        {
            this.strAPIs   = strAPIs;
            this.frmMaster = frmMain;
            ScanParams scanParams = new ScanParams(strPath, strExts);

            ThreadPool.SetMaxThreads(intMaxThreads, intMaxThreads * 2);
            trdEnum = new Thread(this.ThreadFunction);
            trdEnum.IsBackground = true;
            trdEnum.Start(scanParams);

            return(true);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="strObjPath"></param>
        private void ThreadFunction(Object strObjParams)
        {
            //Thread.CurrentThread.Priority = ThreadPriority.BelowNormal;

            try
            {
                ScanParams scanParams = (ScanParams)strObjParams;
                foreach (string strExt in scanParams.strExts)
                {
                    //Console.WriteLine("searching for " + strExt);
                    EnumerateFiles(scanParams.strPath, strExt);
                }

                frmMaster.ScanStopping();

                while (intQueue > 0)
                {
                    //Console.WriteLine(intQueue.ToString());
                    Thread.Sleep(1000);
                }


                //Console.WriteLine("Queue empty in main scan");

                frmMaster.ScanStopped();
            }
            catch (ThreadAbortException)
            {
                frmMaster.bScanStopped = true;
                frmMaster.ScanStopping();
                while (intQueue > 0)
                {
                    Console.WriteLine(intQueue.ToString());
                    Thread.Sleep(1000);
                }
                //Console.WriteLine("Queue empty in abort");
                frmMaster.ScanStopped();
            }
        }
예제 #3
0
파일: Scanner.cs 프로젝트: nccgroup/grepify
        /// <summary>
        /// Start a scan
        /// </summary>
        /// <param name="strAPIs"></param>
        /// <returns></returns>
        public bool Start(string [] strAPIs, string strPath, string[] strExts,frmMain frmMain)
        {
            this.strAPIs = strAPIs;
            this.frmMaster = frmMain;
            ScanParams scanParams = new ScanParams(strPath, strExts);
            ThreadPool.SetMaxThreads(intMaxThreads,intMaxThreads * 2);
            trdEnum = new Thread(this.ThreadFunction);
            trdEnum.IsBackground = true;
            trdEnum.Start(scanParams);

            return true;
        }