Я хочу войти в приложение, чтобы программно щелкнуть один раз.
Я попробовал использовать следующий код.
Это приложение предназначено для торговли акциями, поэтому войдите в систему. требуется, чтобы открыть окно торговли.
Кроме того, в этом приложении есть задержка между «Показом диалогового окна проверки обновления ClickOnce» и «Открытием окна входа в систему» из-за clickonece.
Я хотел бы запустить код, который нужно ввести идентификатор пользователя и пароль после открытия окна входа в систему, поэтому я хочу обнаружить событие WindowOpened.
Но теперь ничего не происходит, даже добавляется обработчик событий.
Обратите внимание, что этот код работает на C# 9.0
using System.Diagnostics;
using System.Windows.Automation;
using System.Text;
void onWindowOpened(object sender, AutomationEventArgs e)
{
AutomationElement? element;
try
{
element = sender as AutomationElement;
if (element == null)
{
Console.WriteLine("Element is null");
} else
{
Console.WriteLine("onWindowOpened!!");
LoginKabucom();
}
}
catch (ElementNotAvailableException)
{
Console.WriteLine("ElementNotAvailableException is happened");
}
}
Automation.AddAutomationEventHandler(WindowPattern.WindowOpenedEvent, AutomationElement.RootElement, TreeScope.Subtree, new AutomationEventHandler(onWindowOpened));
KillKabuS(); // Ensure the stock trade software is killed before start.
var p = StartKabuS();
void KillKabuS()
{
var processes = Process.GetProcesses();
foreach (var process in processes)
{
if (process.ProcessName.Contains("KabuS"))
{
Console.WriteLine("KabuS is included");
process.Kill(true);
process.WaitForExit();
break;
}
}
}
Process? StartKabuS()
{
var psi = new ProcessStartInfo();
var appref = "C:\\Users\\yuya\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\kabu.com\\kabuステーション.appref-ms";
psi.FileName = appref;
psi.UseShellExecute = true;
var p = Process.Start(psi);
return p;
}
void LoginKabucom(AutomationElement? elem)
{
// do something related to login
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -not-fired
Почему событие UIAutomation WindowOpened не запускается? ⇐ C#
Место общения программистов C#
-
Anonymous
1735028155
Anonymous
Я хочу войти в приложение, чтобы программно щелкнуть один раз.
Я попробовал использовать следующий код.
Это приложение предназначено для торговли акциями, поэтому войдите в систему. требуется, чтобы открыть окно торговли.
Кроме того, в этом приложении есть задержка между «Показом диалогового окна проверки обновления ClickOnce» и «Открытием окна входа в систему» из-за clickonece.
Я хотел бы запустить код, который нужно ввести идентификатор пользователя и пароль после открытия окна входа в систему, поэтому я хочу обнаружить событие WindowOpened.
Но теперь ничего не происходит, даже добавляется обработчик событий.
Обратите внимание, что этот код работает на C# 9.0
using System.Diagnostics;
using System.Windows.Automation;
using System.Text;
void onWindowOpened(object sender, AutomationEventArgs e)
{
AutomationElement? element;
try
{
element = sender as AutomationElement;
if (element == null)
{
Console.WriteLine("Element is null");
} else
{
Console.WriteLine("onWindowOpened!!");
LoginKabucom();
}
}
catch (ElementNotAvailableException)
{
Console.WriteLine("ElementNotAvailableException is happened");
}
}
Automation.AddAutomationEventHandler(WindowPattern.WindowOpenedEvent, AutomationElement.RootElement, TreeScope.Subtree, new AutomationEventHandler(onWindowOpened));
KillKabuS(); // Ensure the stock trade software is killed before start.
var p = StartKabuS();
void KillKabuS()
{
var processes = Process.GetProcesses();
foreach (var process in processes)
{
if (process.ProcessName.Contains("KabuS"))
{
Console.WriteLine("KabuS is included");
process.Kill(true);
process.WaitForExit();
break;
}
}
}
Process? StartKabuS()
{
var psi = new ProcessStartInfo();
var appref = "C:\\Users\\yuya\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\kabu.com\\kabuステーション.appref-ms";
psi.FileName = appref;
psi.UseShellExecute = true;
var p = Process.Start(psi);
return p;
}
void LoginKabucom(AutomationElement? elem)
{
// do something related to login
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79305096/why-uiautomation-windowopened-event-does-not-fired[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия