2016-08-18 42 views
0

我想找到並點擊托盤圖標按鈕(Windows 10)。 傭工從這裏開始了: https://blogs.msdn.microsoft.com/oldnewthing/20141013-00/?p=43863Windows用戶界面自動化:點擊托盤圖標按鈕

一切工作正常,但是當應用程序點擊按鈕名稱爲「Dropbox的」真的聽到喀嗒聲 名稱爲「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設置的機器上運行我的應用程序。在所有這些機器上,我安裝了目標應用程序。當然,此圖標的位置不應該是相同的,但似乎我的,爲什麼我的應用程序托盤button.Invoke不工作的原因:在DPI的情況下爲100%

有結果:

1.100% - 我的應用程序工作正常。

點擊= 1741,X = 1000

應用程序:
BoundingRectangle:L:1741噸:1000,寬度= 40,高度= 40

Inspector.exe: BoundingRectangle:{1:1741 T:1000轉:1781 b:1040}

2.150% - 我的應用程序不工作

應用程序: BoundingRectangle:X = 2464,Y = 1400,寬度= 60,高度= 60

Inspector.exe: BoundingRectangle:{1:3606噸:2040 R:3666 B:2100}

3.175% - 我的應用程序不能正常工作

應用: BoundingRectangle:L:1977年,T :1214,寬度= 70,身高= 70

Inspector.exe: BoundingRectangle:{1:3460噸:2020 R:3530 b:2090}

如何解決原有的任務:如何點擊任何DPI設置情況下的圖標?

回答