Const MF_BYPOSITION = &H400
Const MF_REMOVE = &H1000
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Sub Disable_Close(Form_hWnd As Long)
Dim Menu_hWnd, Number_Of_MenuItems As Long 'Декларируем переменных
Menu_hWnd = GetSystemMenu(Form_hWnd, 0) 'Получения описателя системного меню
If Menu_hWnd Then 'Если получилось получить описатель системного меню, то выполнять код
Number_Of_MenuItems = GetMenuItemCount(Menu_hWnd) 'Получение количества пунктов меню
Call RemoveMenu(Menu_hWnd, Number_Of_MenuItems - 1, MF_BYPOSITION) 'Удаление меню Закрыть
Call RemoveMenu(Menu_hWnd, Number_Of_MenuItems - 2, MF_REMOVE)
Call DrawMenuBar(Form_hWnd) 'Перерисовка системного меню
End If 'Если не получилось получить описатель системного меню, то ничего не происходит
End Sub
corgi
поиском пользуемся атакже не забываем что кроме форума есть еще и сайт с исходниками
Сейчас этот форум просматривают: Yandex-бот и гости: 25