C# Winforms доступ к диалогу печати, который открылся с другой программой
Могу ли я получить доступ к диалоговому окну печати и программно закрыть его из Winforms? Этот диалог печати будет открыт другой программой, такой как веб-браузер, блокнот или рисование.
Например, человек работает в Internet Explorer и нажимает Ctrl+ P на любом веб-сайте, после чего открывается диалоговое окно печати. Моя консоль /winform-приложение найдет его и ударит в порядке или отменит автоматически.
2 ответа
Если вы хотите выполнить только простое действие, программа, такая как AutoHotkey, может быть идеальной для этой ситуации. Это разработано, чтобы помочь с маленькими задачами, такими как это. Он может выполнять различные действия в зависимости от того, какие окна видны. Он может выполнять нажатия клавиш, которые в этом случае могут быть Enter, Escape или Alt-K. Если вы хотите больше интеграции с вашим приложением, это может быть неправильным решением. Но если вы просто пытаетесь увеличить автоматизацию, я думаю, что это (или подобное решение) идеально.
Возможно. Однако вам придется использовать неуправляемый код, для этого я рекомендую использовать WinDows API. Вы можете найти дескриптор окна, используя FindWindow
функции, а затем вы можете отправить соответствующее сообщение в этом окне. Или вы можете получить координаты этой кнопки и нажать ее после активации этого окна.