AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 12.07.2011, 17:36   #1  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
? Как из X++ запустить клиента AX 2009 с минимизированным окном?
Есть ядро AX 2009 SP1 RU7, хочется научиться запускать из кода X++ клиента этой сборки ядра под текущим пользователем в текущей сессии с минимизированным окном, чтобы он не мелькал на экране. Запускаю через System.Diagnostics.Process с использованием System.Diagnostics.ProcessStartInfo. Что уже перепробовал:
  • параметр командной строки -minimize (в ядре клиента есть такой, но, может, он к окнам не имеет отношения);
  • processStartInfo.set_CreateNoWindow( true );
  • processStartInfo.set_WindowStyle( System.Diagnostics.ProcessWindowStyle::Minimized ) вместе с set_UseShellExecute( false );
  • processStartInfo.set_WindowStyle( System.Diagnostics.ProcessWindowStyle::Hidden ) вместе с set_UseShellExecute( false );
  • WinAPI::shellExecute() c _show == #SW_HIDE/#SW_SHOWMINIMIZED/#SW_SHOWNOACTIVATE/#SW_SHOWMINNOACTIVE;
Все равно, зараза, всплывает, мелькает, фокус ввода перехватывает и дико этим раздражает. Может, есть еще какие варианты "внешнего воздействия"?.. Ловить момент запуска процесса клиента, искать его окошко и прятать принудительно не хочется, равно как и не хочется дописывать какую-то логику в info.startupPost(), чтобы клиент при определенных условиях сам минимизировал свое окно. Или клиент Аксапты совсем в этом плане "невменяем", и помогут только такие средства?..
Совсем скрывать окно клиента, скажем, запуская его в другой виндовой сессии, не хочется, потому что он запускается не просто так, а для работы - мало ли, отладчик вылезет на точке останова или сообщение о том, что он че-то там где-то куда-то не может.

PS. Использовать Business Connector - не вариант: он кое-чего не умеет как раз из-за отсутствия "морды".

Geändert von gl00mie (12.07.2011 um 17:54 Uhr)
Alt 12.07.2011, 20:36   #2  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.343 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
Немного не в тему - но запуск в отдельном Thread тоже не рассматривается (пример: Ошибка времени выполнения в ComExcelDocument_RU.findRange()) ? Из плюсов - лицензии не жрет и не мешает работать основному клиенту (а-ля пакетник).
Т.е. мой вопрос звучит так: А нельзя ли исходную задачу решить другим способом? Возможно что и нет, раз бизнес-коннектор не подходит. Но тем не менее.
__________________
Возможно сделать все. Вопрос времени
Alt 12.07.2011, 20:40   #3  
Daiver ist offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Registriert seit: 19.07.2005
Ort: Москва
А такой вариант
X++:
WinApi::minimizeWindow(infolog.hWnd());
пробовали?
Alt 12.07.2011, 21:28   #4  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von sukhanchik Beitrag anzeigen
запуск в отдельном Thread тоже не рассматривается?
У меня несско АОСов; задача - с клиента, запущенного на одном АОСе, запустить клиента на другом АОСе, что-то там сделать и завершиться (но так, чтобы окно запускаемого клиента не мельтешило перед глазами, ибо бесит). Поэтому отдельный поток на том же самом АОСе не катит.
Zitat:
Zitat von Daiver Beitrag anzeigen
А такой вариант
X++:
WinApi::minimizeWindow(infolog.hWnd());
пробовали?
Это условно вариант прописывания чего-то в info.starupPost(), т.е. чтобы запускаемый клиент каким-то боком просек, что ему нужно "свернуться". Я хотел бы этого избежать, потому что сейчас запускаемый клиент довольствуется штатным классом разбора xml-файла с параметрами того, что надо делать, без каких-то лишних дописок...
Alt 12.07.2011, 21:54   #5  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Попробуйте передать ключик для ax32.exe -minimize
Alt 12.07.2011, 23:37   #6  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.343 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
Zitat:
Zitat von gl00mie Beitrag anzeigen
задача - с клиента, запущенного на одном АОСе, запустить клиента на другом АОСе, что-то там сделать и завершиться
Я попробовал порыть в другом направлении - а можно ли запустить код, указав ему на каком АОСе нужно исполняться. С ходу ничего не нашел, однако - идея-то по сути уже реализована - в АХ 2009 пакетные задания могут исполняться на тех АОСах, которые указаны в настройках. MSDN молчит. Не знаю - может это конечно может и скрыто глубоко в ядре ... Я пока не нашел какого-то системного класса - который с ходу так умеет запускать код на различных АОСах
__________________
Возможно сделать все. Вопрос времени
Alt 13.07.2011, 00:15   #7  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Zitat:
Zitat von sukhanchik Beitrag anzeigen
С ходу ничего не нашел, однако - идея-то по сути уже реализована - в АХ 2009 пакетные задания могут исполняться на тех АОСах, которые указаны в настройках.
Там просто есть ассоциация пакетной группы и аоса в настройке. Движок пакетов с заднной периодичностью сканирует очередь своей пакетной группы и выполняет задания из нее. Никакой магии.
Alt 13.07.2011, 00:18   #8  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Zitat:
Zitat von gl00mie Beitrag anzeigen
Это условно вариант прописывания чего-то в info.starupPost()
Можно отоправить сообщение вот сюда из запускающего процесса: http://msdn.microsoft.com/en-us/libr...dowhandle.aspx
Alt 13.07.2011, 00:36   #9  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.343 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
Zitat:
Zitat von belugin Beitrag anzeigen
Там просто есть ассоциация пакетной группы и аоса в настройке. Движок пакетов с заднной периодичностью сканирует очередь своей пакетной группы и выполняет задания из нее. Никакой магии.
Правильно. А как он выполняет задания на конкретном АОСе?

А ... имеется в виду - что каждый конкретный АОС сканирует эту табличку и в зависимости от пакетной группы берет или не берет задание на себя? Если так - то тогда да, я рыл в неправильном направлении
__________________
Возможно сделать все. Вопрос времени
Stichworte
ax2009

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 19:38 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.