我想找到并点击托盘图标按钮(Windows 10)。 帮手是从这里带来的: https://blogs.msdn.microsoft.com/oldnewthing/20141013-00/?p=43863
一切正常,但是当应用程序点击名称为" Dropbox"真的是点击了 另一个名为&#34的按钮; OneDrive"也在托盘区域:
foreach (var icon in EnumNotificationIcons())
{
var name = icon.GetCurrentPropertyValue(AutomationElement.NameProperty) as string;
Console.WriteLine(name);
if (name.StartsWith("Dropbox"))
{
Console.WriteLine(@"Click!");
icon.InvokeButton();
break;
}
}
有什么问题?
本机有2台显示器。 我已经测试了另一台电脑winth win7和1台显示器 - 它有效。
更新
我已在3台具有不同DPI设置的计算机上运行我的应用程序。在所有这些机器上我安装了目标应用程序。当然,图标位置不应该相同,但似乎我之所以托盘按钮。我的应用程序中的内容不起作用:在DPI的情况下!= 100%
有结果:
1.100% - 我的应用运行正常。
点击= 1741,x = 1000
应用:
BoundingRectangle:l:1741 t:1000,Width = 40,Height = 40
Inspector.exe: BoundingRectangle:{l:1741 t:1000 r:1781 b:1040}
2.150% - 我的应用无效
应用: BoundingRectangle:X = 2464,Y = 1400,宽度= 60,高度= 60
Inspector.exe: BoundingRectangle:{l:3606 t:2040 r:3666 b:2100}
3.175% - 我的应用不起作用
应用: BoundingRectangle:l:1977,t:1214,Width = 70,Height = 70
Inspector.exe: BoundingRectangle:{l:3460 t:2020 r:3530 b:2090}
如何解决原始任务:如何在任何DPI设置情况下单击图标?
答案 0 :(得分:1)
解决了,答案就在这里:原因是DPI。 如果DPI!= 96,UI自动化工作不正确。 需要添加清单代码或应用代码,如此处所述
How to configure an app to run correctly on a machine with a high DPI setting (e.g. 150%)?