Закрытие сторонней программы через определенное время - C#

Узнай цену своей работы

Формулировка задачи:

Может кто нибудь скинуть рабочий пример таймера, который закрывает стороннее приложение?

Решение задачи: «Закрытие сторонней программы через определенное время»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.Drawing.Printing;
using System.Printing;
using PdfSharp.Pdf.Printing;
using System.Threading;
 
 
namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private static string GetDefaultPrinterName()
        {
            String[] printers = PrinterSettings.InstalledPrinters.Cast<string>().ToArray();
            for (int i = 0; i < printers.Length; i++)
                if (new PrinterSettings() { PrinterName = printers[i] }.IsDefaultPrinter)
                    return printers[i];
            return null;
        }
 
        public void kill()
        {
            foreach (Process proc in Process.GetProcesses())
            {
                if (proc.ProcessName.StartsWith("Acro"))
                {
                    string proname = proc.ProcessName.ToString();
                    if (proc.HasExited == false)
                    {
                        proc.WaitForExit(6000);
                        string title = proc.MainWindowTitle.ToString();
                        if (title == "Adobe Acrobat Pro" && proname == "Acrobat")
                        {
                            proc.Kill();
                            break;
                        }
                        else
                        {
                            string title2 = proc.MainWindowTitle.ToString();
                            if (title2 == "Adobe Reader" && proname == "AcroRd32")
                            {
                                proc.Kill();
                                break;
                            }
                        }
                    }
                    else
                    {
                        try
                        {
                            proc.Kill();
                            break;
                        }
                        catch
                        {
                            break;
                        }
                    }
                }
            }
        }
 
        public void print()
        {
            PdfFilePrinter.AdobeReaderPath = @"Reader 10.0\Reader\AcroRd32.exe";
            PdfFilePrinter printer = new PdfFilePrinter(@"C:\Users\Slonik\Desktop\Binder2.pdf", @"" + GetDefaultPrinterName());
            printer.Print(5000);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            print();
            kill();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы