|
Система 64 -х. Принудительный вывод на экран необходимого загруженного приложения
|
|||
---|---|---|---|
#18+
Здравствуйте, Уважаемые! Итак, вопрос такой. Из какого-то приложения, будь то Excel, Outlool, Accesss и т.д. программный код должен сообщить компьютеру требование необходимости вывести на экран окно какого-то определенного приложения, которое уже загружено и учитывается в панели задач. При этом кодом уже активирован это необходимое Application и ему передан фокус. Предварительные параметры отображения окна установлены соответствующим кодом, например кодом из макроса Outlook: Код: vbnet 1. 2. 3. 4.
Задача теперь его лишь принудительно вывести поверх всех открытых окон. Как это сделать в 64-х битной системе? Для 32-х битной решение видел через API Какие библиотеки надо задействовать, какие константы требуется учесть? Сразу предупреждаю, что вариант использования метода SendKeys не подходит, поскольку, если в этом приложении результатом его процессов будет некий MsgBox с выбором вариантов, то это только усложнит возможные последствия. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2020, 20:07 |
|
Система 64 -х. Принудительный вывод на экран необходимого загруженного приложения
|
|||
---|---|---|---|
#18+
Вот код выводит окно поверх всех, на 32 или 64 винде Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2020, 18:21 |
|
Система 64 -х. Принудительный вывод на экран необходимого загруженного приложения
|
|||
---|---|---|---|
#18+
WinAPI SetForegroundWindow ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 05:41 |
|
Система 64 -х. Принудительный вывод на экран необходимого загруженного приложения
|
|||
---|---|---|---|
#18+
Eolt, Большое спасибо за предоставленный вариант кода! Внимательно поизучал справочные материалы, в том числе и о функциях API, таких как SetWindowPos, FindWindowA, SetForegroundWindow, ShowWindow и т.д. и, в результате, получился вот такой код, который корректно решает поставленную задачу: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2020, 17:29 |
|
Система 64 -х. Принудительный вывод на экран необходимого загруженного приложения
|
|||
---|---|---|---|
#18+
Chula, Там емнип отдача списка объектов из коллекции Items сделана както своеобразно, с динамической модификацией содержимого коллекции налету. Циклы For/For each в итоге могут валиться налету. Нужно ID сообщений коллекции перекладывать ну например в строковый массив, и циклом по нему добывать из системы объект-сообщение по конкретному ID. Както так примерно, спотыкался на подобном в Оутлуке 2003, очень удивлялся тоже. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2020, 15:02 |
|
|
start [/forum/topic.php?fid=60&fpage=3&tid=2154776]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 274ms |
total: | 384ms |
0 / 0 |