Загрузка...

Защита процесса от закрытия в Диспетчер Задач

Тема в разделе C# создана пользователем miha14082 30 июн 2017. 515 просмотров

Загрузка...
  1. miha14082
    miha14082 Автор темы 30 июн 2017 ⎝_____ Caesar _____⎠ 694 10 окт 2016
    Пример в консоли​
    Создадим класс HwdTask:
    Код
    using System;

    public class HwdTask
    {
    static public IntPtr FindHWD(string title)
    {
    return DataImport.FindWindow(null, title);
    }
    static public IntPtr FindHWDEx(IntPtr main, IntPtr child, string title)
    {
    return DataImport.FindWindowEx(main, child, null, title);
    }
    }
    Создадим класс DataImport:
    Код
    using System;
    using System.Runtime.InteropServices;

    internal class DataImport
    {
    [DllImport("user32.dll", SetLastError = true)]
    public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle);
    [DllImport("user32.dll")]
    public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int cx, int cy, int uFlags);
    }
    Используем:
    Код
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace DataForceInvisible
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Title = "DataForceInvisible [|=|ack]";
    IntPtr task = HwdTask.FindHWD("Диспетчер задач Windows");
    if (!task.Equals(IntPtr.Zero))
    {
    IntPtr proc = HwdTask.FindHWDEx(task, IntPtr.Zero, "Процессы");
    if (!proc.Equals(IntPtr.Zero))
    {
    IntPtr kills = HwdTask.FindHWDEx(proc, IntPtr.Zero, "&Завершить процесс");
    if (!kills.Equals(IntPtr.Zero))
    DataImport.SetWindowPos(kills, 0, -1000, -1000, 300, 300, 0x44);
    }
    }
    Console.ReadKey();
    }
    }
    }
     
  2. Hangover_inactive59523
    Сори, ай эм фром ингленд
     
  3. Грач
    Грач 3 июл 2017 Developer 197 29 май 2016
    Получить системный язык не проблема.
    Проблема в том, что на версиях свыше *8 это может не работать.
     
Top