Получить название окна программы exe
Здравствуйте
Подскажите пожалуйста, как при поиощи JS записать в переменную название окна программы Project1.exe. Окно программы будет скрыто (программа написана в Delphi и скрытие окна выглядит так: Application.ShowMainForm:=False;) Название окна программы будет меняться каждую минуту. JS будет работать в гаджете, который (кажется) использует IE8 (https://learn.microsoft.com/en-us/pr.../system-gadget) вот, нагуглил js, он работает, дальше, чтобы получить название окна, не знаю что можно сделать
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 - не запущена");
}
}
|
![]() |
если есть возможность, пожалуйста, напишите - возможно, то, что я хочу реализовать, или в принципе не возможно. Тогда я буду думать о реализации других вариантов
Гаджет (Windows Sidebar) использует модифицированный IE8, поддерживает ActiveXObject("WScript.Shell"), ActiveXObject("Scripting.FileSystemObjec"), javascript, jQuery, разметку-HTML, CSS-стили и тд. |
Увы красивого решения судя по беглому гуглу нет.
Ты можешь получить заголовок по процессу примерно так: tasklist /v /fi "IMAGENAME eq Project1.exe" /fo list(чтоб в utf 8, добавить в начало: cmd /c chcp 65001 && ) И выцепить примерно так: output.match(/^Window Title:\s*(.*)/m)[1] Но это требует вызова отдельного окна +с кодировками могут быть вопросы и т.д. и т.п. По хорошему если ты хочешь чтоб твой гаджет работал с твоей же программой - пусть твоя программ предоставляет COM интерфейс(или какой угодно ещё, вплоть тупо до записи в файлик), тогда ты сможешь с ней напрямую общаться без костылей. |
Цитата:
Затем гаджет легко считывает запись из файла .txt. Но есть нюанс, при сохранении программой записи в txt, рядом с курсором, на доли секунды возникает значок индикатора загрузки вот, как на картинке: ![]() На одном из форумов Delphi ответили - индикатор загрузки над курсором убрать нельзя, этот значок добавляет система в момент, когда видит, что ресурсы заняты. Попробую еще раз обратиться на форум Delphi, чтобы программа могла добавить запись сразу в див файла calendar.html, у которой путь, например, такой: C:\Users\sashka\AppData\Local\Microsoft\Windows Sidebar\Gadgets\CalendarPlus.gadget\calendar.html |
sashgera, GPT говорит чтоб курсора не было надо писать файл в background thread используя TThread.CreateAnonymousThread . Но я хз, delphi и палкой не трогал.:)
|
| Часовой пояс GMT +3, время: 05:35. |