Есть ли способ отключить кнопку сворачивания в Windows? Я не пользуюсь им, и когда кто-то другой использует мой компьютер, они стремятся свести все
2 ответа
после большого количества поисков в свободное время я наткнулся на 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
Технически это возможно. Но это требует знания C++. И это не рекомендуется, потому что любая программа, в которой вы работаете, рискует потерпеть крах. Я думаю, что правильным решением будет заблокировать ваш компьютер и не позволять другим использовать ваш компьютер.