---
title: 'PowerShellでUI Automationを使い、マウスオーバー中の要素情報を取得する方法'
url: 'https://automationse.net/powershell-ui-automation-get-element-under-cursor'
markdown: 'https://automationse.net/powershell-ui-automation-get-element-under-cursor.md'
date: '2025-09-26'
description: 'Windows環境で「いまマウスカーソルが乗っているUI要素の情報」を取得したいケースがあります。例えば、ブラウザ上でリンクにマウスオーバーしているときに、その要素のテキストやヒント情報を取得したい場合です。 ここでは UI Automation API をPowerShellから利用して、カーソル直下の要素を定期的に取得・表示する…'
taxonomy:
  category:
    - IT関連
  tag:
    - PowerShell
    - RPA
---

# PowerShellでUI Automationを使い、マウスオーバー中の要素情報を取得する方法

## [PowerShellでUI Automationを使い、マウスオーバー中の要素情報を取得する方法](https://automationse.net/powershell-ui-automation-get-element-under-cursor)

  公開日 2025.09.26 更新日 2025.09.26  [PowerShell](https://automationse.net/tag:PowerShell#body-wrapper) [RPA](https://automationse.net/tag:RPA#body-wrapper)  

 Windows環境で「いまマウスカーソルが乗っているUI要素の情報」を取得したいケースがあります。例えば、ブラウザ上でリンクにマウスオーバーしているときに、その要素のテキストやヒント情報を取得したい場合です。

ここでは UI Automation API をPowerShellから利用して、カーソル直下の要素を定期的に取得・表示する方法を紹介します。

---

手順概要

1. UI Automationを使えるようにする

PresentationCore / PresentationFramework / WindowsBase / UIAutomationClient を読み込みます。

2. カーソル座標を取得する

user32.dll の GetCursorPos を呼び出し、スクリーン上のカーソル位置を取得します。

3. その座標からAutomationElementを取得

AutomationElement.FromPoint() を使うことで、UI Automation要素を取得できます。

4. 要素の情報を表示する

ControlType（ボタン、テキストなど）

Name（ユーザーに見えるラベルやテキスト）

HelpText（ヒントや追加情報）

LegacyIAccessible.Value（古いアプリで使われる値。URLなどが入ることもある）

---

実際のコード

以下のコードをPowerShellコンソールに貼り付けて実行すると、マウスを動かすたびにカーソル下の要素情報が出力されます。

---

実行例

ボタンにカーソルを合わせると：

Type=ControlType.Button
Name=OK
HelpText=

LegacyValue=

ブラウザのリンクにカーソルを合わせると：

場合によっては Name にリンクテキストが入り、LegacyValue や HelpText にURLが入ることもあります。

ただし、Chromium系ブラウザ（Edge, Chromeなど）はセキュリティの関係で href を直接取れないことが多いです。

---

注意点

取得できる情報はアプリによって異なる

IEや古いアプリではURLなどが取れる場合があります。

Edge/Chrome/FirefoxはURLを返さないことが多いです。

補助的な用途に向く

「テキストラベルやボタンのキャプションを取得する」には有効です。

「ブラウザのリンク先URLを正確に取る」には別の方法（DevTools Protocolなど）が必要です。

---

まとめ

UI Automationを利用すると、マウスオーバー中の要素情報をPowerShellで簡単に取れる。

テキストやボタン情報の収集に便利。

ただし、モダンブラウザのリンクURL取得には向かないので、確実にURLが必要ならブラウザのデバッグAPIを検討しましょう。

 [ Previous Post](https://automationse.net/powershell-modern-card-ui-xaml) [Next Post ](https://automationse.net/powershell-url-popup-script)

---

## Navigation

- Parent: [WordPress Import](https://automationse.net/wordpress-import.md)
- Previous: [ブラウザ上のリンク先URLをポップアップ表示するPowerShellスクリプト](https://automationse.net/powershell-url-popup-script.md)
- Next: [PowerShell でモダンなカード型UIを作る方法（Windows PowerShell 5.x 対応）](https://automationse.net/powershell-modern-card-ui-xaml.md)
