Как изменить имя приложения в диспетчере задач
абсолютно неверное утверждение
и ни делфи ни иная среда разработки приложений для Win32 здесь абсолютно ни при чем
> Если ты считаешь
я считаю, что коль ты не объяснил цели решаемой задачи, то это - при отсутствии элдементарных знаний Win32-платформы - просто блажь
Все мои выводы основывались на экспериментах. Например, как не обзови EXE"шник FlashGet"а - процесс все равно будет называться flashget. Наприме, если обозвать файл, созданный Dephi не Project1.exe, а GGG.exe, то все равно в диспетчере задач он будет отображен как Project1.exe
А коли оно так - логично же сделать вывод, что
>вообще никакой зависимости между именем файла и именем процесса нету
?
не факт. начнем с того.
процесс, прежде всего, - объект ядра ОС
сведения о процессе содержатся далеко не в каком-то одном месте. а фигурируют как в гллоб.сист.таблицах, так и в лок.сист.таблицах данного процесса
хм. Это ведь простой эксперимент, который я проделал два раза. Что значит не факт? И про FlashGet, что он в диспетчере задач всегда называется FlashGet независимо от названия EXE файла - тоже факт. Против эксперимента же не попрешь.
Почему мои эксперименты этого не потверждают?
Если тебе надо изменить название задачи - это очень просто. Для этого (скорее всего) будет достаточно заменить заголовок главного окна процесса (не всегда, как всегда - ч-з API не знаю, для своего процесса в VCL это Application.Title := ". ").
Есть допустим пустое приложение Project1.exe
Я переименовываю файл в DDD.exe
Так вот, сторонняя программа Starter действительно начинает отображать процесс как DDD.exe. Но диспетчер задач по прежнему пишет Project1.exe. Откуда он узнает тогда?
Я пошел дальше. Залез HEX редактором в EXE"шник, нашел там единственную строку project1.exe. Переправил ее на что-то типа fbjkbct1.exe. Все равно диспетчер задач показывает Project1.exe
Есть допустим пустое приложение Project1.exe
Я переименовываю файл в DDD.exe
Я же сам EXE"шинк переименовываю (естесственно, когда приложение не запущено). А в диспетчере задач оно все равно по прежнему отображается. Я даже HEX редактором. в общем, читай тот пост
Оказывается, он запоминает в текущем сеансе имена процессов.
потому что Диспетчер выполняет по таймеру обычные снэпшоты и не задействует никакие иные системные механизмы, которые позволили бы отслеживать старты и завершения всех процессов асинхронно.
Читайте также: