1

Есть ли способ отключить кнопку сворачивания в Windows? Я не пользуюсь им, и когда кто-то другой использует мой компьютер, они стремятся свести все

2 ответа2

4

после большого количества поисков в свободное время я наткнулся на autoit. Этот превосходный инструмент позволяет мне писать скрипты в графическом интерфейсе Windows и скрывать кнопки сворачивания, разворачивания и закрытия. Я оставлю источник и ссылки на соответствующие страницы здесь для дальнейшего использования:

#include <WinAPI.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
#include <GuiMenu.au3>

$windows = WinList()

For $i =1 To $windows[0][0]
    $windowState =  WinGetState($windows[$i][1])
    $isVisible = BitAND($windowState,2) = 2
    If $windows[$i][0] = '' Or not $isVisible Then ContinueLoop

    $h = $windows[$i][1]
    $iOldStyle = _WinAPI_GetWindowLong($h, $GWL_STYLE)
    $iNewStyle = BitXOr($iOldStyle, $WS_SYSMENU)
    _WinAPI_SetWindowLong($h, $GWL_STYLE, $iNewStyle)
    _WinAPI_ShowWindow($h, @SW_SHOW)
Next

оригинальный сценарий: http://www.autoitscript.com/forum/topic/147424-disable-or-remove-close-minimize-maximize-buttons-on-any-window-in-runtime/#entry1045390

перечисление окон и получение их состояния и hwnds: https://stackoverflow.com/questions/18456091/get-a-list-of-all-open-windows-autoit/18457587?noredirect=1#18457587

3

Технически это возможно. Но это требует знания C++. И это не рекомендуется, потому что любая программа, в которой вы работаете, рискует потерпеть крах. Я думаю, что правильным решением будет заблокировать ваш компьютер и не позволять другим использовать ваш компьютер.

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