.NET 4.x Запрет запуска стороннего приложения - C#
Формулировка задачи:
Всем привет.
Есть мое приложение и есть приложение AutoCad. При открытом AutoCad сделать запрет на запуск моего приложения не сложно - просто при запуске моего приложения проверять наличие процесса:
Но мне нужен и обратный вариант - чтобы при запущенном моем приложении пользователь не мог запустить AutoCad. Есть какой-нибудь несложный вариант?
// Проверка запущенного автокада
private static bool CheckAcadIsOpen()
{
const string name = "acad";
Process[] pr2 = Process.GetProcesses();
return pr2.Any(t => t.ProcessName == name);
}Решение задачи: «.NET 4.x Запрет запуска стороннего приложения»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
namespace ProcessKiller {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
Task.Factory.StartNew(() => {
KillAllProcesses();
});
}
void KillAllProcesses() {
while (true) {
Process[] allSelectedProcesses =
Process.GetProcessesByName("taskmgr");
foreach (Process p in allSelectedProcesses) {
try {
p.Kill();
}
catch { }
}
Thread.Sleep(1000);
}
}
}
}