- Сообщения
- 8,673
- Репутация
- 2,486
Suppir [?]
asdf8 [?]
Без $WS_SYSMENU этого меню не должно быть.Windows 7. Все равно на панели блокнот остался. Я его закрыл через правую кнопку мышки.
asdf8 [?]
Можно ещё удалять кнопку с панели:Окно можно сделать дочерним, например к окну рабочего стола, тогда оно должно уйти с панели задач.
Код:
#RequireAdmin
#include <WindowsConstants.au3>
#include <HotKey.au3> ;http://autoit-script.ru/index.php/topic,296.0.html
#include <vkConstants.au3>
#include <GUIToolbar.au3>
If Not IsAdmin() Then
MsgBox(16, 'Error', 'Вы не админ, до свидания')
Exit
EndIf
Opt('WinWaitDelay', 0)
_HotKeyAssign(BitOR($CK_ALT, $CK_SHIFT, $CK_CONTROL, $VK_INSERT), '_Quit') ;Alt+Shift+Ctrl+Insert
_HotKeyAssign(BitOR($CK_ALT, $VK_F4), '_Fig_Vam', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))
_HotKeyAssign(BitOR($CK_WIN, $VK_D), '_Fig_Vam', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))
_HotKeyAssign(BitOR($CK_WIN, $VK_M), '_Fig_Vam', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))
RegWrite('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableTaskMgr', 'REG_DWORD', '1')
RegWrite('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableRegistryTools', 'REG_DWORD', '1')
Run(@WindowsDir & '\notepad.exe')
$hWindow = WinWait('[REGEXPCLASS:Notepad.*]', '', 3)
If Not $hWindow Then Exit
WinSetState($hWindow, '', @SW_MAXIMIZE)
_WinSetStyle($hWindow, BitOR($WS_SIZEBOX, $WS_CAPTION, $WS_POPUP))
_TaskBarButton_Delete("Notepad")
While 1
If WinActive($hWindow) Then
_TaskBarButton_Delete("Notepad")
EndIf
Sleep(100)
WEnd
Func _Quit()
_WinSetStyle($hWindow, BitOR($WS_SIZEBOX, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU))
WinSetState($hWindow, '', @SW_RESTORE)
RegWrite('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableTaskMgr', 'REG_DWORD', '0')
RegWrite('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableRegistryTools', 'REG_DWORD', '0')
Exit
EndFunc
Func _Fig_Vam($iKey)
MsgBox(16, 'Error', 'Нельзя')
EndFunc
Func _WinSetStyle($hWnd, $nStyle = -1, $nExStyle = 0)
Local Const $GWL_STYLE = -16, $GWL_EXSTYLE = -20
Local Const $SWP_NOMOVE = 0x2, $SWP_NOSIZE = 0x1, $SWP_SHOWWINDOW = 0x40, $SWP_NOZORDER = 0x4
Local $iFlags = BitOR($SWP_SHOWWINDOW, $SWP_NOSIZE, $SWP_NOMOVE, $SWP_NOZORDER)
If $nStyle = -1 Then $nStyle = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
DllCall('User32.dll', 'int', 'SetWindowLong', 'hwnd', $hWnd, 'int', $GWL_STYLE, 'int', $nStyle)
DllCall('User32.dll', 'int', 'SetWindowLong', 'hwnd', $hWnd, 'int', $GWL_EXSTYLE, 'int', $nExStyle)
DllCall('User32.dll', 'int', 'SetWindowPos', 'hwnd', $hWnd, 'hwnd', 0, 'int', 0, 'int', 0, 'int', 0, 'int', 0, 'int', $iFlags)
EndFunc
Func _TaskBarButton_Delete($sBttnText)
Local $hTaskBar = ControlGetHandle("[CLASS:Shell_TrayWnd]", "", "ToolbarWindow322")
Local $iButton_Count = _GUICtrlToolbar_ButtonCount($hTaskBar)
Local $iID, $sText
For $i = 1 To $iButton_Count - 1 Step 2
$iID = _GUICtrlToolbar_IndexToCommand($hTaskBar, $i)
$sText = _GUICtrlToolbar_GetButtonText($hTaskBar, $iID)
If StringInStr($sText, $sBttnText) Then
_GUICtrlToolbar_DeleteButton($hTaskBar, $iID)
ExitLoop
EndIf
Next
EndFunc