Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 【タイトル】MouseIsOver
- 【 概要 】マウスカーソル下のウィンドウ/ClassNN判定
- 【 Type 】Lib(関数)
- 【 返値 】1 ※真
- 0 ※偽
- 【 Site 】http://pastebin.com/QC69R09p
- 【 更新日 】2018/08/08
- ┌----┐
- │関数│
- └----┘
- MouseIsOver("WinTitle") ;マウスカーソル下のウィンドウ判定
- MouseIsOver("WinTitle", "ClassNN") ;マウスカーソル下のClassNN判定
- MouseIsOver_1("WinTitle"[, "ClassNN"]) ;前方一致
- MouseIsOver_2("WinTitle"[, "ClassNN"]) ;部分一致
- MouseIsOver_3("WinTitle"[, "ClassNN"]) ;完全一致
- MouseIsOver_R("WinTitle"[, "ClassNN"]) ;正規表現
- ┌----------┐
- │How to Use│
- └----------┘
- ■使用例
- ;タスクバー上
- #If MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1")
- #If
- ;タスクトレイ上
- #If (MouseIsOver("ahk_class Shell_TrayWnd") && !MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1"))
- #If
- ;デスクトップ上
- #If MouseIsOver_R("ahk_class (Progman|WorkerW)")
- #If
- #If (MouseIsOver("ahk_class Progman") || MouseIsOver("ahk_class WorkerW"))
- #If
- */
- ;【MouseIsOver()】
- MouseIsOver(WinTitle, ClassNN:="") {
- MouseGetPos,,, hWnd, ControlNN
- return (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0
- : WinExist(WinTitle " ahk_id " hWnd) && InStr(ControlNN, ClassNN))
- }
- MouseIsOver_1(WinTitle, ClassNN:="") {
- MouseGetPos,,, hWnd, ControlNN ;マウスカーソル下のウィンドウハンドル、ClassNN取得
- SavedTMM := A_TitleMatchMode ;TitleMatchModeの設定を保存
- SetTitleMatchMode, 1 ;前方一致検索
- result := (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 ;ウィンドウ判定(ClassNNなし)
- : WinExist(WinTitle " ahk_id " hWnd) && InStr(ControlNN, ClassNN)) ; ClassNN判定(ClassNNあり)
- SetTitleMatchMode, %SavedTMM% ;TitleMatchModeの設定を復元
- return result
- }
- MouseIsOver_2(WinTitle, ClassNN:="") {
- MouseGetPos,,, hWnd, ControlNN ;マウスカーソル下のウィンドウハンドル、ClassNN取得
- SavedTMM := A_TitleMatchMode ;TitleMatchModeの設定を保存
- SetTitleMatchMode, 2 ;部分一致検索
- result := (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 ;ウィンドウ判定(ClassNNなし)
- : WinExist(WinTitle " ahk_id " hWnd) && InStr(ControlNN, ClassNN)) ; ClassNN判定(ClassNNあり)
- SetTitleMatchMode, %SavedTMM% ;TitleMatchModeの設定を復元
- return result
- }
- MouseIsOver_3(WinTitle, ClassNN:="") {
- MouseGetPos,,, hWnd, ControlNN ;マウスカーソル下のウィンドウハンドル、ClassNN取得
- SavedTMM := A_TitleMatchMode ;TitleMatchModeの設定を保存
- SetTitleMatchMode, 3 ;完全一致検索
- result := (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 ;ウィンドウ判定(ClassNNなし)
- : WinExist(WinTitle " ahk_id " hWnd) && InStr(ControlNN, ClassNN)) ; ClassNN判定(ClassNNあり)
- SetTitleMatchMode, %SavedTMM% ;TitleMatchModeの設定を復元
- return result
- }
- MouseIsOver_R(WinTitle, ClassNN:="") {
- MouseGetPos,,, hWnd, ControlNN ;マウスカーソル下のウィンドウハンドル、ClassNN取得
- SavedTMM := A_TitleMatchMode ;TitleMatchModeの設定を保存
- SetTitleMatchMode, RegEx ;正規表現検索
- result := (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 ;ウィンドウ判定(ClassNNなし)
- : WinExist(WinTitle " ahk_id " hWnd) && InStr(ControlNN, ClassNN)) ; ClassNN判定(ClassNNあり)
- SetTitleMatchMode, %SavedTMM% ;TitleMatchModeの設定を復元
- return result
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement