예제 #1
0
        static void Main(string[] args)
        {
            CallBackPtr callBackPtr = new CallBackPtr(EnumReport.Report);

            EnumReport.EnumWindows(callBackPtr, 0);
            EnumReport.PrintDict();
        }
예제 #2
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Process pr = RI();

            if (pr != null)
            {
                pid = pr.Id;
                CallBackPtr callBackPtr = new CallBackPtr(EnumReport.Report);
                EnumReport.EnumWindows(callBackPtr, 0);
                if (win.Count != 0)
                {
                    DisplayWindow(win[0]);
                }
                else if (UnvWin.Count != 0)
                {
                    //MessageBox.Show("Пожалуйста, подождите...", "Енот");
                    foreach (IntPtr item in UnvWin)
                    {
                        if (GetWindowText(item).Contains(Process.GetCurrentProcess().ProcessName))
                        {
                            DisplayWindow(item);
                        }
                    }
                }
            }
            else
            {
                Application.Run(new MainForm(args));
            }
        }
예제 #3
0
 static void Main()
 {
     do
     {
         Console.Clear();
         CallBackPtr callBackPtr = new CallBackPtr(EnumReport.Show);
         EnumReport.EnumWindows(callBackPtr, 0);
         Console.WriteLine("\n\nPress Enter to refresh results or any button to exit");
     } while (Console.ReadKey(false).Key == ConsoleKey.Enter);
 }
예제 #4
0
    public void Perform()
    {
        Process[] myProcesses;
        myProcesses        = Process.GetProcesses();
        MyFormPoster       = new FormPoster();
        MyConsoleLogger    = new ConsoleLogger();
        MyNTEventLogLogger = new NTEventLogLogger();
        myDiscovery        = new ToolSpecificEvent();

        myDiscovery.ActionEvent += new ToolSpecificEventHandler(MyConsoleLogger.handler);
        myDiscovery.ActionEvent += new ToolSpecificEventHandler(MyNTEventLogLogger.handler);
        myDiscovery.ActionEvent += new ToolSpecificEventHandler(MyFormPoster.handler);
        configuration_from_xml   = new ConfigRead();
        configuration_from_xml.LoadConfiguration("Configuration/ProcessDetection/Process", "ProcessName");
        string process_detector_expression = configuration_from_xml.DetectorExpression;
        Regex  process_detector_regex      = new Regex(process_detector_expression, RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);

        foreach (Process myProcess in myProcesses)
        {
            string res    = String.Empty;
            string sProbe = myProcess.ProcessName;
            //  myProcess.StartInfo.FileName - not accessible
            if (Debug)
            {
                Console.WriteLine("Process scan: {0}", process_detector_expression);
            }
            MatchCollection m = process_detector_regex.Matches(sProbe);
            if (sProbe != null && m.Count != 0)
            {
                try
                {
                    DialogDetected       = true;
                    process_command_line = new ProcessCommandLine(myProcess.Id.ToString());
                    if (Debug)
                    {
                        Console.WriteLine("{0}{1}", myProcess.Id.ToString(), process_command_line.CommandLine);
                    }
                    CommandLine = process_command_line.CommandLine;
                    // CommandLine = myProcess.ProcessName;
                    Console.WriteLine("--> {0} {1} {2} {3}", sProbe, myProcess.ProcessName, myProcess.Id, DateTime.Now - myProcess.StartTime);
                }
                catch (Win32Exception e) {
                    System.Diagnostics.Trace.Assert(e != null);
                }
            }
        }
        CallBackPtr callBackPtr = new CallBackPtr(EnumReport.Report);

        if (DialogDetected)
        {
            EnumReport.evt         = myDiscovery;
            EnumReport.CommandLine = CommandLine;
            EnumReport.EnumWindows(callBackPtr, 0);
        }
    }