{"id":12193,"date":"2019-09-25T12:00:56","date_gmt":"2019-09-25T03:00:56","guid":{"rendered":"https:\/\/www.ka-net.org\/blog\/?p=12193"},"modified":"2019-09-25T14:10:55","modified_gmt":"2019-09-25T05:10:55","slug":"powershellui-automation%e3%81%a7%e9%9b%bb%e5%8d%93%e3%82%92%e6%93%8d%e4%bd%9c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.ka-net.org\/blog\/?p=12193","title":{"rendered":"[PowerShell]UI Automation\u3067\u96fb\u5353\u3092\u64cd\u4f5c\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p><i>\u300cPowerShell UI Automation \u64cd\u4f5c\u300d<\/i>\u3068\u3044\u3063\u305f\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u304c\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\nPowerShell\u3067\u4f55\u304b\u3057\u3089\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u64cd\u4f5c\u3057\u305f\u3044\u65b9\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u5bfe\u8c61\u3068\u306a\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u4f55\u306a\u306e\u304b\u5206\u304b\u308a\u307e\u305b\u3093\u304c\u3001\u4e00\u4f8b\u3068\u3057\u3066\u3001\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u96fb\u5353<\/span>\u300d\u3092\u64cd\u4f5c\u3059\u308b\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: powershell; title: ; notranslate\" title=\"\">Add-Type -AssemblyName &quot;UIAutomationClient&quot;\r\nAdd-Type -AssemblyName &quot;UIAutomationTypes&quot;\r\n\r\n$uiAuto = &#x5B;Windows.Automation.AutomationElement]\r\n$tree = &#x5B;Windows.Automation.TreeScope]\r\n$pcnd = &#x5B;Windows.Automation.PropertyCondition]\r\n$acnd = &#x5B;Windows.Automation.AndCondition]\r\n$iptn = &#x5B;Windows.Automation.InvokePattern]::Pattern\r\n$root = $uiAuto::RootElement\r\n\r\n#\u96fb\u5353\u8d77\u52d5\r\nstart &quot;calc&quot;\r\n$elmApp = $null\r\n$cndAppName = New-Object $pcnd($uiAuto::NameProperty, &quot;\u96fb\u5353&quot;)\r\n$cndAppClassName = New-Object $pcnd($uiAuto::ClassNameProperty, &quot;ApplicationFrameWindow&quot;)\r\n$cndAppAnd = New-Object $acnd($cndAppName, $cndAppClassName)\r\ndo{\r\n  Start-Sleep -m 200\r\n  $elmApp = $root.FindFirst($tree::Children, $cndAppAnd)\r\n}while($elmApp -eq $null)\r\n\r\n#\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u304f\r\n$elmNav = $null\r\n$cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;TogglePaneButton&quot;)\r\n$cndNavAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;PaneRoot&quot;)\r\n$elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n$ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\ndo{\r\n  $ivkBtn.Invoke()\r\n  Start-Sleep -m 200\r\n  $elmNav = $elmApp.FindFirst($tree::Subtree, $cndNavAid)\r\n}while($elmNav -eq $null)\r\n\r\n#\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u9805\u76ee\u5217\u6319\r\n$cndItmClassName = New-Object $pcnd($uiAuto::ClassNameProperty, &quot;ListViewItem&quot;)\r\nforeach($itm in $elmNav.FindAll($tree::Subtree, $cndItmClassName)){\r\n  $itm.Current.Name\r\n}\r\n\r\n#&#x5B;\u6a19\u6e96]\u62bc\u4e0b\r\n$cndItmAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;Standard&quot;)\r\n$elmItm = $elmNav.FindFirst($tree::Subtree, $cndItmAid)\r\n$ivkItm = $elmItm.GetCurrentPattern($iptn)\r\n$ivkItm.Invoke()\r\n\r\n#&#x5B;1-9]\u30dc\u30bf\u30f3\u62bc\u4e0b\r\nfor($i=1; $i -le 9; $i++){\r\n  $cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;num${i}Button&quot;)\r\n  $elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n  $ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\n  $ivkBtn.Invoke()\r\n  Start-Sleep -m 200 #\u52d5\u4f5c\u78ba\u8a8d\u3057\u3084\u3059\u3044\u3088\u3046\u306bSleep\r\n}\r\n\r\n#&#x5B;-]\u30dc\u30bf\u30f3\u62bc\u4e0b\r\n$cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;minusButton&quot;)\r\n$elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n$ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\n$ivkBtn.Invoke()\r\n\r\n#\u9069\u5f53\u306b\u5f15\u304d\u7b97\r\n$cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;num1Button&quot;)\r\n$elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n$ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\n$ivkBtn.Invoke()\r\n$cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;num0Button&quot;)\r\n$elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n$ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\n$ivkBtn.Invoke();$ivkBtn.Invoke();$ivkBtn.Invoke();$ivkBtn.Invoke()\r\n$ivkBtn.Invoke();$ivkBtn.Invoke();$ivkBtn.Invoke();$ivkBtn.Invoke()\r\n\r\n#&#x5B;=]\u30dc\u30bf\u30f3\u62bc\u4e0b\r\n$cndBtnAid = New-Object $pcnd($uiAuto::AutomationIdProperty, &quot;equalButton&quot;)\r\n$elmBtn = $elmApp.FindFirst($tree::Subtree, $cndBtnAid)\r\n$ivkBtn = $elmBtn.GetCurrentPattern($iptn)\r\n$ivkBtn.Invoke()<\/pre>\n<p><a href=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/PowerShell_UIAutomation_Calc_01.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/PowerShell_UIAutomation_Calc_01.gif\" alt=\"\" width=\"615\" height=\"528\" class=\"alignnone size-full wp-image-12194\" \/><\/a><\/p>\n<p>\u5927\u307e\u304b\u306b\u306f\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u64cd\u4f5c\u3067\u304d\u307e\u3059\u304c\u3001\u53e4\u3044Win32\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u306f\u4e0b\u8a18\u30b5\u30a4\u30c8\u306e\u3088\u3046\u306a\u554f\u984c\u3082\u3042\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/qiita.com\/mima_ita\/items\/3f2aa49fceca7496c587\" target=\"_blank\" rel=\"external nofollow noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=qiita.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">Qiita<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/pz-linkcard\/cache\/02f4dfc39658231e4aaf63e85060d50c9ac23fde714f079834a2f46db760351c.jpeg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">PowerShell\u306eUIAutomation\u306f\u8907\u96d1\u602a\u5947\u306a\u308a - Qiita<\/div><div class=\"lkc-url\" title=\"https:\/\/qiita.com\/mima_ita\/items\/3f2aa49fceca7496c587\">https:\/\/qiita.com\/mima_ita\/items\/3f2aa49fceca7496c587<\/div><div class=\"lkc-excerpt\">#\u3069\u307c\u3062\u3067\u3046\u3054\u304b\u306a\u3044\u306e\u3049\u304a\u304a\u304a\u304a\uff01\uff01C#\u3067\u306f\u52d5\u3044\u305f\u3067\u3057\u3087\u3046\uff01\uff01\uff01\uff01\uff01PowerShell\u306eUIAutomation\u3092\u4f7f\u3063\u3066\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u64cd\u4f5c\u3057\u3066\u3044\u308b\u3068\u3001\u305f\u307e\u306b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u64cd\u4f5c\u306b\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002C#\u3084VB.NET,\u3055\u3089\u306b\u306fV...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>UI Automation\u306b\u9650\u3089\u305a\u3001\u5916\u90e8\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u64cd\u4f5c\u306f<span style=\"color: #ff0000; font-weight: bold;\">\u601d\u3063\u305f\u4ee5\u4e0a\u306b\u5927\u5909\u306a\u51e6\u7406<\/span>\u306b\u306a\u308a\u307e\u3059\u306e\u3067\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306f\u904b\u7528\u5074\u3067\u5bfe\u5fdc\u3059\u308b\u3053\u3068\u3092\u304a\u85a6\u3081\u3057\u307e\u3059\u3002<\/p>\n<div id=\"single_banner_area2\" class=\"clearfix one_banner\">\n<div class=\"single_banner single_banner_left\">\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- \u8a18\u4e8b\u4e2d(\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u5e83\u544a\u30e6\u30cb\u30c3\u30c8) -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-7306936664602087\"\r\n     data-ad-slot=\"5429724765\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<\/div>\n<div class=\"single_banner single_banner_right\">\n<a href=\"\" target=\"_blank\"><img decoding=\"async\" src=\"\" alt=\"\" title=\"\" \/><\/a>\n<\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"\u300cPowerShell UI Automation \u64cd\u4f5c\u300d\u3068\u3044\u3063\u305f\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u304c\u3042\u308a\u307e\u3057\u305f\u3002 PowerShell\u3067\u4f55\u304b\u3057\u3089\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u64cd\u4f5c\u3057\u305f\u3044\u65b9\u3060\u3068\u601d\u3044\u307e\u3059\u3002 \u5bfe\u8c61\u3068\u306a\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u4f55\u306a [&hellip;]","protected":false},"author":1,"featured_media":7127,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"[[PowerShell]UI Automation\u3067\u96fb\u5353\u3092\u64cd\u4f5c\u3059\u308b\u65b9\u6cd5]","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[94],"tags":[],"class_list":["post-12193","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/eyecatch-PowerShell.png","jetpack_shortlink":"https:\/\/wp.me\/p4UZZr-3aF","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12193"}],"version-history":[{"count":2,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12193\/revisions"}],"predecessor-version":[{"id":12196,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12193\/revisions\/12196"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/media\/7127"}],"wp:attachment":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}