Как использовать низкоуровневый winapi для автоматизации приложения
Build a console application that automates a Windows based application which adds , subtracts, multiplies and divides two integers.The automation should be able to launch the application, enter two integers and select an operation and click equals button
Что я уже пробовал:
Мне удалось закодировать приложение, которое выполняет операции между целыми числами. Не мог написать код для автоматизации его через консоль.Код, который я написал для первой части, таков:
private void btnTotal_Click(object sender,EventArgs e) { try { double firstnum= Convert.ToDouble(txtFirstNumber.Text); double secondnum=Convert.ToDoubletxtSeconNumber.Text); char operator; switch (operator) { case "+": { lblResult.visible=true; lblResult.text="Result is: " + (firstnum+secondnum).ToString(); break; } case "-": { lblResult.visible=true; lblResult.text="Result is: " + (firstnum-secondnum).ToString(); break; } case "*": { lblResult.visible=true; lblResult.text="Result is: " + (firstnum*secondnum).ToString(); break; } case "/": { if (secondnum != 0) { lblResult.visible=true; lblResult.text="Result is: " + (firstnum*secondnum).ToString(); } else { MessageBox.Show("Can't divide by zero"); } break; } default: { MessageBox.Show("Invalid Input"); break; } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
[no name]
Снова.... какой твой специфический вопрос?
Member 13097868
Мой вопрос заключается в том, как вызвать мою форму windows (которую я создал выше) из моего консольного приложения, используя функции WinAPI и User32.dll( это то, что упоминается в моем задании)
F-ES Sitecore
Это ваша домашняя работа для вашего курса, поэтому они хотят, чтобы вы использовали методы, которым вас научили. Мы не знаем, что это за техника, а если бы и знали, то все равно не будем делать за вас домашнее задание.
Member 13097868
Это задание, у меня нет никакого опыта в автоматизации. Я старался изо всех сил и работал над этим с четверга. Я ожидаю не кода, а скорее руководства. Если вы сможете вести меня, я буду вам очень признателен. У меня есть 0-летний опыт работы в dotnet, все еще пытался написать приведенный выше код. Так что, по крайней мере, не демотивируйте, если не помогайте.
Member 13097868
И да к вашему сведению я занимаюсь самообучением чтобы выучить dotnet и такие задания я стараюсь искать чтобы узнать больше
Dave Kreskowiak
Это очень специфическое применение. Что именно вы изучаете, что относится к такому конкретному приложению?
Member 13097868
Я изучаю WinAPI и как автоматизировать windows form
Dave Kreskowiak
Если вы спрашиваете" как мне это сделать " после того, как изучили, как это сделать, вы не очень хорошо учитесь.
Member 13097868
У меня нет материала для ссылки, я погуглил об API, и там не так уж много об этом. Да, я спрашиваю "как мне это сделать", потому что не смог, может быть, я не такой опытный и умный, как вы все, но я могу задать вопрос, ища какого-то руководства. Разве этот форум не для начинающих?
Member 13097868
Я пытаюсь понять автоматизацию windows. Я уже создал форму, в которой я выполняю различные арифметические операции над двумя числами. Эту же форму я хочу автоматизировать через свое консольное приложение( например: форма открывается, само приложение вводит 6 и 0(эти значения будут жестко закодированы) и выбирает деление из выпадающего списка и после нажатия кнопки "равно" выводится результат.
Dave Kreskowiak
Итак, вы изучаете "автоматизацию Windows", а это значит, что у вас должен быть какой-то материал, который Вы читаете, который учит вас этому и тому, что делают функции API, правильно? Если нет, то я понятия не имею, что вы изучаете.
Теперь ваши учебные материалы по "автоматизации Windows" должны были рассказать вам, как это сделать. Правда?
Member 13097868
Я изучаю через msdn, codeproject blog, StackOverflow blog, везде есть другой метод, упомянутый, когда я пытался использовать эти методы, я не мог получить результат.У меня нет ни одного наставника, к которому я мог бы обратиться, когда не смог бы решить это задание. Поэтому я попытался обратиться за советом к этому форуму. Это похоже на то, что если у меня есть какой-то материал для изучения, я определенно должен быть в состоянии решить его? Мне действительно нужно некоторое руководство здесь, как подойти к " автоматизации Windows"
Dave Kreskowiak
Ладно, поскольку у вас на самом деле нет никаких учебных материалов, откуда взялось это "задание"?
[no name]
Ты имеешь в виду https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153 (v=против 85). aspx?
К вашему сведению, раздел "Что я пробовал" используется для того, чтобы рассказать нам, что вы пытались сделать для себя, прежде чем спрашивать здесь.
Member 13097868
Я уже упоминал о написанном мною коде, а что касается второй части, то я мало что мог сделать, попробовал использовать [Dllimprt "user32.dll"] попробовал написать консольное приложение со следующим кодом:
[STAThread]
статический недействительным главная(){
Приложение.EnableVisualStyles();
Приложение.Выполнить (новая форма());
}
и несколько разных вещей, которые я нашел в нескольких блогах youtube и т. д.
[no name]
Да и это не имеет никакого отношения к вашему вопросу!
Member 13097868
Я думаю, что вы мало чем можете помочь в этой теме. Я ценю ваше "не очень полезное" руководство ЗДЕСЬ.
[no name]
Что ж, я ценю ваш туманный вопрос о том, как научить меня программировать здесь. Мы здесь не для того, чтобы учить вас программированию.
Member 13097868
Под "не мог сделать много" (прежде чем вы неправильно истолкуете) я имею в виду отсутствие работоспособного решения, которое я мог бы найти. везде приводится пример вызова блокнота и калькулятора, но я не мог соответствующим образом манипулировать своим кодом, потому что у меня нет опыта работы в dotnet.