Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541

Узнать название окна программы exe в Windows

19.10.2025, 20:59. Показов 4189. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте
Вот так я проверяю, запущена ли программа Project1.exe или нет

JavaScript
1
2
3
4
5
6
7
8
function test(){
    var process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'Project1.exe'");
    if(process.Count > 0){
        $("#xxx1").html("Project1.exe - запущена");
    }else{
        $("#xxx1").html("Project1.exe - не запущена");
    }
}
Подскажите, пожалуйста, как получить и записать в переменную название заголовка окна (Caption) Project1.exe
- Project1.exe скрыт и работает в фоне (программа написана в Delphi и скрытие окна выглядит так: Application.ShowMainForm:=False;)
- название заголовка окна изменяется каждую минуту
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.10.2025, 20:59
Ответы с готовыми решениями:

Создать скрипт,который создаст папку с названием Март,а в ней 31 файл с названием от 1 до 31
Помогите пожалуйста,нужен код к заданию Создать скрипт,который создаст папку с названием March,а в...

Как в Windows XP выполнить вызов окна "Добавить задание" Планировщика заданий из окна "Выполнить"?
Необходимо вызвать окно "Мастер планирования заданий", которое вызывается через "Добавить задание"...

AutoIt работает с Java-окнами или только с окнами Windows?
AutoIt работает с Java окнами или только с Видовскими ?

57
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
28.10.2025, 16:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sashgera Посмотреть сообщение
javascrript не запускается
Для js бэкслеши надо сдваивать. Так:
JavaScript
3
    var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
или
JavaScript
3
    var oProcs = GetObject('winmgmts:\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
или
JavaScript
3
    var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
29.10.2025, 00:38  [ТС]
FlasherX, нет, все три варианта не помогли, получаю - 'Project1.exe - не запущена'
JavaScript
1
2
3
4
5
var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
//или
var oProcs = GetObject('winmgmts:\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
//или
var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
29.10.2025, 01:26
sashgera, тогда я отказываюсь понимать, как срабатывал по сути тот же код из первого поста...
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
29.10.2025, 05:46  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
sashgera, тогда я отказываюсь понимать, как срабатывал по сути тот же код из первого поста...
FlasherX, под первым постом вы имеете ввиду этот код (который я выложил в самом начале)?
JavaScript
1
2
3
4
5
6
7
8
function test(){
    var process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'Project1.exe'");
    if(process.Count > 0){
        $("#xxx1").html("Project1.exe - запущена");
    }else{
        $("#xxx1").html("Project1.exe - не запущена");
    }
}
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
29.10.2025, 12:56
Да, первый пост он и в Африке первый.
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
29.10.2025, 14:25  [ТС]
FlasherX, эту функцию javascript, я загуглил и скопипастил, но она реально работает. В функции для меня понятно только условие if, что находится в переменной var process - для меня 'темный лес '
Спасибо, что уделили мне время, попытаюсь получчить заголовок проги сам..
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
29.10.2025, 15:29
sashgera, да замените мой GetObject(..) на свой и проверьте. Это реально странно. Должно всё работать и с моими вариантами.

Только перед тестами уберите из гаджета "Project1.exe - не запущена", если есть. Да и первый код имело смысл тестировать только так.
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
29.10.2025, 19:21  [ТС]
FlasherX, убрать добавление текста в див - Project1.exe - не запущена
или убрать else и все что в нем?
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
29.10.2025, 19:46
sashgera, просто обнулите сообщение в гаджете. Если через скрипт, то в этих местах убрать текст: $("#xxx1").html("");

Проверяем сперва ваш:
JavaScript
1
2
3
4
5
6
7
8
function test(){
    var process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'Project1.exe'");
    if(process.Count > 0){
        $("#xxx1").html("1");
    }else{
        $("#xxx1").html("0");
    }
}
Потом мой:
JavaScript
1
2
3
4
5
6
7
8
function test(){
    var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "Project1.exe"')
    if(oProcs.Count > 0){
        $("#xxx1").html("1");
    }else{
        $("#xxx1").html("0");
    }
}
0 или 1 покажет?
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
29.10.2025, 19:54  [ТС]
FlasherX, я сейчас на работе, проверю только в пятницу.
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
31.10.2025, 16:57  [ТС]
FlasherX, проверяю:
JavaScript
1
2
3
4
5
6
7
8
function test(){
    var process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'Project1.exe'");
    if(process.Count > 0){
        $("#xxx1").html("1");
    }else{
        $("#xxx1").html("0");
    }
}
если Project1.exe запущен, в див записывается '1', если не запущен - тогда '0'

проверяю ваш JS:
JavaScript
1
2
3
4
5
6
7
8
function test(){
    var oProcs = GetObject('winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "Project1.exe"')
    if(oProcs.Count > 0){
        $("#xxx1").html("1");
    }else{
        $("#xxx1").html("0");
    }
}
в вашем js также - если Project1.exe запущен, в див записывается '1', если не запущен - тогда '0'

как теперь узнать название окна программы Project1.exe?
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
31.10.2025, 17:49
Цитата Сообщение от sashgera Посмотреть сообщение
в вашем js также
Но это не согласуется с вашим прежним заявлением:
Цитата Сообщение от sashgera Посмотреть сообщение
нет, все три варианта не помогли, получаю - 'Project1.exe - не запущена'
Не может такого быть, если сделано всё верно.
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
31.10.2025, 18:12
Даже ради интереса: распакуйте папку из test.7z и запустите js по Enter.
Должен показать "C:".
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
31.10.2025, 18:54  [ТС]
FlasherX, я не знаю как запустить js по Enter.
вот, запускаю так:
HTML5
1
<button onclick="test();">go</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
new ActiveXObject('Wscript.Shell').run('sort.exe', 2)
WSH.Sleep(100)
 
test('sort.exe', 'ConsoleWindowClass')
 
function test(pName, pClass){
    var oProcs = GetObject('winmgmts:\\\\.\\root\\cimv2').ExecQuery('SELECT handle FROM Win32_Process WHERE Name = "' + pName + '"')
    if(oProcs.count > 0){
        with(new ActiveXObject('Wscript.Shell')){
            currentDirectory = WSH.scriptFullName.replace(/[^\\]+$/, '')
            run('%comspec% /q/c enumwin.exe ' + new Enumerator(oProcs).item().handle + '|find "\t' + pClass + '\\">%temp%\\xxxxxx', 0, 1)   
        }
        with(new ActiveXObject('Scripting.FileSystemObject')){
            var f = getSpecialFolder(2)+'\\xxxxxx'
            with(openTextFile(f)){ name = readline().split('\\')[1]; close()}
            deleteFile(f,1)
        }
        WSH.echo(name)
        //$("#xxx1").html(name);
    } else {
        WSH.echo("Project1.exe не запущена")
    }
    oProcs = null
}
в итоге получаю вот это
Кликните здесь для просмотра всего текста
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
31.10.2025, 19:29
Цитата Сообщение от sashgera Посмотреть сообщение
я не знаю как запустить js по Enter.
Это шутка такая? Вы компьютером вообще давно пользуетесь?
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
31.10.2025, 20:22  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Это шутка такая?
Нет, не шутка, я, не знаю как запустить js по Enter и никогда не запускал и запускать не собираюсь. И зачем запускать js по Enter - не вижу никакого смысла, от слова совсем. По кнопке - да, по событию - да.
Цитата Сообщение от FlasherX Посмотреть сообщение
Вы компьютером вообще давно пользуетесь?
Конечно пользуюсь, буквы как-то набираю, и даже заграничные буквы набираю
И да, мне 61, наверное, компом все таки давно пользуюсь..

Добавлено через 2 минуты
чем вам запуск js по кнопке не понравился??????
0
7691 / 2888 / 1110
Регистрация: 06.06.2017
Сообщений: 9,823
01.11.2025, 01:43
Цитата Сообщение от sashgera Посмотреть сообщение
и запускать не собираюсь
Тогда се ля ви. Ничем помочь не могу.

Цитата Сообщение от sashgera Посмотреть сообщение
И зачем запускать js по Enter - не вижу никакого смысла, от слова совсем. По кнопке - да, по событию - да.
Неважно, видите ли вы смысл или нет. Если разработчик просит что-то сделать для тестов (в адаптивных условиях, т. е. вне гаджета в данном случае), то вот такие вот "не хочу и не буду" тут работают разве что в сторону посыла за тридевять земель.
Не всё, что работает в гаджете, согласуется с файловой средой. И наоборот.
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 541
01.11.2025, 13:32  [ТС]
FlasherX, спасибо за потраченное вами время на решение моего вопроса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2025, 13:32

Написание VBS скрипта: чтобы при появлении определённого окна с названием "Window1" оно сразу же закрывалось
Добрый вечер! Заранее оговорюсь - в скриптах не бум-бум. Подскажите пожалуйста как написать...

Нет общего доступа между Windows XP и Windows 2008R2\Windows 7
Прощу помощи разобраться в проблеме: ПК с установленной windows XP не может открыть папку общего...

Загрузка Uefi Windows 7-11 минуя Windows boot manager через "\Windows\System32\Winload.efi"
Мне нужен способ как можно загружать винду напрямую минуя WBM через сторонний загрузчик с помощью...

Как присвоить свои названия кнопкам в MsgBox и определить разрядность windows x86-x64
Как переделать кнопки или свои назвать вместо да сделать x64 вместо нет сделать x86 если не...

Узнать, сколько времени прошло после установки Windows
Как узнать сколько времени прошло с инсталляции Windows через батник?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
58
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru