4

Есть ли способ получить доступ к дескриптору окна в окнах, используя WSH, WMI или аналогичный? Я просто хочу пометить окно как всегда сверху. В идеале я бы использовал хост сценариев Windows для этого.

(Также должен быть помечен как WSH).

С Уважением,

3 ответа3

3

Чтобы получить его с помощью WSH, вы можете использовать COM DLL, найденную в этой статье CodeProject. Используя это, вы можете получить дескриптор окна следующим образом:

Set obj = CreateObject("APIWrapperCOM.APIWrapper")
winHandle = obj.FindWindow("test.txt - Notepad")

Это также очень легко в PowerShell.

пример:

(Get-Process powershell).MainWindowHandle

Этот захват - дескриптор окна процесса PowerShell.


Хотя, если ваша главная цель - сделать окно верхним, есть много программ для этого, таких как DeskPins:

альтернативный текст

1

Я знаю, что это огромный некр и простите, если он уже был решен, но я боролся с этим в течение некоторого времени, и вот действительно простое решение, которое я написал:

function WinExist($winTitle, $instance = 0)
{
    $h = Get-Process | Where-Object { $_.MainWindowTitle -match $winTitle } | ForEach-Object { $_.MainWindowHandle }
    if ( $h -eq $null )
    {
        return 0
    }
    else
    {
        if ( $h -is [System.Array] )
        {

            $h = $h[$instance]
        }
        return $h
    }
}

Возвращает "0", если окно не найдено или дескриптор окна. Если найдено больше окон, соответствующих строке $ winTitle, возвращается номер экземпляра $ (0 означает первое окно, 1 секунду и т.д.).

Пример:

# WinExist str_WindowTitle int_WindowNumber
# returns the handle of second notepad window (if more than 1 opened)
$hwnd = WinExist "notepad" 1 
0

Я просто хочу пометить окно как всегда сверху.

взгляните на Eusing Auto Window Manager. Вы можете не только автоматически держать все окна, которые вы указали, всегда сверху, но вы также можете применять эффекты прозрачности от 0% (полностью прозрачный) до 100% (сплошной).

Auto Window Manager является бесплатной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .