Что нового

Com. GUI. Добавить описание к exe.

asterix06

Новичок
Сообщения
3
Репутация
0
Всем привет. Я новичок, недавно хотел попробовать такой вариант.
Например есть реализованный ActiveX написанный на Delphi, сейчас работает путем запуска .bat файла с использованием VBA скрипта. Запускает от имени системы в планировщике задач. Таких батников 4 штуки, которые используют один тот же интерфейс dms_task, но с разными вызовами функции

....
set TaskManager = CreateObject("dms_task.dmsTaskManager")
set Task = TaskManager.CreateCheckEmailRCLMTask
Task.DatabaseName = "DB_NEW"
TaskManager.Execute(Task)
....
в диспетчере задач на время выполнения этих скриптов , создаются exe, т.к. они могут работать параллельно, но есть большое НО, по ним трудно понять, кто же сейчас выполняетя, так как Описание dms_task.exe одно и тоже у всех.

подумал что можно решить проблему с помощью AutoIt, путем использования скрипта, где выходной файл скрипта будет exe и для которого можно с помощью AutoIt3Wrapper задать новое описание для каждого процесса...

Код:
#include <MsgBoxConstants.au3>

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#AutoIt3Wrapper_Res_Comment=111111
#AutoIt3Wrapper_Res_Description=CreateRouteServiceTask
#AutoIt3Wrapper_Res_Fileversion=1.4.0.0
#AutoIt3Wrapper_Res_LegalCopyright="В©2016"
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_Field=Comments|CreateRouteServiceTask
#AutoIt3Wrapper_Res_Field=Original File Name|dms_task.exe
#AutoIt3Wrapper_Res_Field=Product Name|dms
#AutoIt3Wrapper_Res_Field=Product Version|1
#AutoIt3Wrapper_Run_Stop_OnError=y
#EndRegion ;

$oCreateRouteServiceTask = ObjCreate("dms_task.dmsTaskManager")
$oTask = $oCreateRouteServiceTask.CreateRouteServiceTask
$oTask.DatabaseName = "DB_NEW"
if $oCreateRouteServiceTask.Execute($oTask) Then
	MsgBox($MB_SYSTEMMODAL, "Title", $oTask.LastError, 10)
EndIF


Не помогло... так как он создает 2 экземпляра exe. Один от скрипта autoit, а другой тот же dms_task, соответственно в диспетчере задач снова та же проблема.

Прошу помощи и консультации. Прошу помидорами не кидаться. Обыскался на форуме, но ничего не нашел о подобной проблемы у кого -либо...Либо плохо искал, если же есть такие темы - дайте пож.ссылку
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
делаете 4 скрипта, потом их переименовываете, 1 будет dms_CreateCheckEmailRCLMTask.exe, второй dms_CreateRouteServiceTask.exe итп.
Убираете батники, и вместо них настраиваете запуск этих четырех Exe
 
Автор
A

asterix06

Новичок
Сообщения
3
Репутация
0
Это разве решит проблему ?
Разве не будет в диспетчере задач такой вот список ?
dms_CreateTask1.exe - от AutoIt (здесь согласен, будет описание для каждого процесса разная, какую задашь)
dms_task.exe - сам по себе Com (но по нему инф. одинаковая для всех и по нему не поймешь от кого он порожден)
dms_CreateTask2.exe
dms_task.exe
dms_CreateTask3.exe
dms_task.exe
dms_CreateTask4.exe
dms_task.exe

Да и не комильфо такой вариант.... т.к. лишние 4-ре процесса. Как сделать, чтобы было только dms_CreateTask1-4.exe и всё... Как этого добиться с помощью AutoIt ? :(

Может есть способ добавить новое описание(Description) к запущенному процессу exe ? В рунете замучался искать, не нашёл вариантов, как это сделать ? Можно конечно ориентироваться на PID процесса, и вести его в каком-либо списке, когда при выполнении функции интерфейса обновлять этот список и смотреть какой pid и метод интерфейса соответствует выполнению текущего exe... :(
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
У вас com запускает exe?


Добавлено:
Сообщение автоматически объединено:

asterix06 [?]
Можно конечно ориентироваться на PID процесса, и вести его в каком-либо списке, когда при выполнении функции интерфейса обновлять этот список и смотреть какой pid и метод интерфейса соответствует выполнению текущего exe...
Да, так можно сделать, кажется это единственный вариант
 
Автор
A

asterix06

Новичок
Сообщения
3
Репутация
0
inververs сказал(а):
У вас com запускает exe?

Это и есть com объект, исполнен как exe (приложение), у которого реализован свой интерфейс, он со своей стороны, на вызов реализованных методов, запускает Thread, после чего "самоуничтожается" и завершает свою работу...как-то так
 
Верх