|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 26
|
|
Как запустить программу?16.05.2018, 01:23. Показов 2680. Ответов 7
Метки нет (Все метки)
Подскажите пожалуйста, у меня имеется программа на C#, так же есть другая программа Gausian.exe(программный пакет для расчета структуры и свойств молекулярных систем), для расчета в этой программе нужно открыть файл с z-матрицей, либо самому вписать ее в самой программе. Так вот, я хочу, чтобы можно было в моей программе написать или открыть z-матрицу после чего нажать на кнопку "Произвести расчеты в Gaussian" и все данные какие я ввел в своей программе передались в gaussian и начались бы расчеты. Подскажите пожалуйста, возможно ли это реализовать, а если да, то как? Заранее спасибо
0
|
|
| 16.05.2018, 01:23 | |
|
Ответы с готовыми решениями:
7
Как запустить свою программу на чужом ПК? Как запустить свою программу на чужом компе Как запустить программу, написанную на Ассемблере из приложения WindowsForms? |
|
21 / 21 / 22
Регистрация: 13.05.2018
Сообщений: 71
|
|
| 16.05.2018, 02:18 | |
|
gangster_man, Скорее всего можно.
В теории примерно так: Запускать Gausian.exe из программы на C#, (System.Diagnostics.Process.Start("name prog")) C помощью UI Automation перебирать окна ( с UI Automation можно также нажимать на кнопки), найти окно ввода, ввести текст и произвести расчет. Таким же образом делал. Программа была написана на смеси WPF и Qt, поэтому с помощью WinApi не получилось с ней взаимодействовать С UI Automation искал окна и нажимал в этой программе кнопки для расчетов. Но это было давно. На C# давно уже ничего не делал, что-то конкретно не подскажу )
1
|
|
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 26
|
|
| 22.05.2018, 16:16 [ТС] | |
|
Извини, а нет ли возможности как то через консольку это сделать или .bat файл?
0
|
|
|
21 / 21 / 22
Регистрация: 13.05.2018
Сообщений: 71
|
|
| 22.05.2018, 22:51 | |
|
Какую консольку? какой бат файл? И что сделать ? Не понимаю.
Консольное приложение, в смысле ? Ну можно конечно сделать консольное приложение и добавить ссылки на UI Automation. Так и делал первое время, было консольное приложение сначала. Но потом сделал на Win формах, особого интерфеса не было-- пара кнопочек и два текстбокса. Может не нужен никакой UI Automation и с помощью Win Api можно сделать. В сети много примеров как запустить приложение, найти его окна и отправлять им сообщения.Тут для решения хватит старинного проверенного метода Copy - Paste, потому-что всё уже давно написано.
0
|
|
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 26
|
|
| 23.05.2018, 13:10 [ТС] | |
|
А можно пожалуйста пример, как это сделать, а то облазил весь интернет и то что мне нужно не нашел. По идеи вот какой процесс должен произойти автоматически:
1. Запуститься программа 2. Открыться пункт подменю Open... 3. Выбраться нужный файл. 4. Нажаться кнопка Run
0
|
|
|
21 / 21 / 22
Регистрация: 13.05.2018
Сообщений: 71
|
||||||
| 23.05.2018, 20:22 | ||||||
Сообщение было отмечено gangster_man как решение
Решение
Ну там же ничего сложного.
Ладно , давайте тогда разбираться раз процесс поиска так затянулся. По пунктам 1. Запуститься программа Process.Start 2. Открыться пункт подменю Open... Для того чтобы открыть диалог выбора файла, нужно нажать комбинацию клавиш Ctrl + O Посылать сообщения о нажатии клавиш активному приложению можно SendKeys 3. Выбраться нужный файл. Вставить имя файла в буфер обмена (Clipboard.SetTex) и нажать Ctrl + V (SendKeys) 4.Нажаться кнопка Run Откроется окно "Existing File Job Edit", на этом окне нужно найти кнопку Run. Но тут трудность, у кнопки Run нет заголовка. . Можно перебрать все дочерние элементы окна функцией FindWindowEx и сложить в список. У меня получилось, подбором, что эта кнопка в списке пятнадцатая по счёту. Осталось нажать. Нажать на кнопку Run -- послать сообщение функцией SendMessage Для SendKeys нужно добавить ссылку на System.Windows.Forms.dll . Путь к программе Gausian.exe соответственно укажите свой. Время задержки Thread.Sleep возможно нужно увеличить.
1
|
||||||
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 26
|
|
| 24.05.2018, 20:49 [ТС] | |
|
Спасибо тебе большое!
Добавлено через 23 часа 5 минут Извини еще за один вопрос. Не знаешь, а можно ли как то выполнять эти действия без паузы по времени, просто компы у всех разные и загружает приложение по разному, у кого то программа раньше паузы в 2 секунды загрузится и будет ждать наборы этих команд, а у кого то и дольше этого времени грузить будет и вообще ничего не выполнит, и можно ли скрыть все эти действия от глаз, чтобы только результат был виден. Заранее спасибо.
0
|
|
|
21 / 21 / 22
Регистрация: 13.05.2018
Сообщений: 71
|
|
| 24.05.2018, 21:07 | |
|
Дальше попробуйте сами разобраться, пример вам привёл. Непонятно что это -"скрыть все эти действия от глаз, чтобы только результат был виден". И как без паузы, если необходимо ждать открытия и закрытия окон ?
Тут нужно знать все условия Распишите подробнее, кто знает ответит.
0
|
|
| 24.05.2018, 21:07 | |
|
Помогаю со студенческими работами здесь
8
Запустить программу из byte[]
Запустить файл через определенную программу Как запустить программу содержащую базу данных, не имея установленного SQL Server Как запустить программу, которая умеет общаться по OLE из под ASP и сделать ее видимой? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|