Защита приложения от выключения через ctrl+alt+del - VB

Узнай цену своей работы

Формулировка задачи:

Как генерировать чтоб приложение нельзя было выключить при помощи клавиш ctrl+alt+del? помогите кто может.

Решение задачи: «Защита приложения от выключения через ctrl+alt+del»

textual
Листинг программы
  1. Private Declare Function SystemParametersInfo Lib
  2. "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
  3.  
  4. Sub DisableCtrlAltDelete(bDisabled As Boolean)
  5.  
  6. Dim X As Long
  7.  
  8. X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
  9.  
  10. End Sub
  11.  
  12. 'Usage:
  13.  
  14. 'To disable Ctrl-Alt-Delete:
  15.  
  16. Call DisableCtrlAltDelete(True)
  17.  
  18. 'To enable Ctrl-Alt-Delete:
  19.  
  20. Call DisableCtrlAltDelete(False)
  21. ---------------------------------
  22. Вот ещё пример, как заблокировать крестик (X)  и др. на форме
  23. ----------------------------
  24. Option Explicit
  25.  
  26. Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
  27. Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
  28.  
  29. Private Const MF_BYPOSITION = &H400&
  30.  
  31. Private ReadyToClose As Boolean
  32. Private Sub RemoveMenus(frm As Form, _
  33.     remove_restore As Boolean, _
  34.     remove_move As Boolean, _
  35.     remove_size As Boolean, _
  36.     remove_minimize As Boolean, _
  37.     remove_maximize As Boolean, _
  38.     remove_seperator As Boolean, _
  39.     remove_close As Boolean)
  40. Dim hMenu As Long
  41.    
  42.     ' Get the form's system menu handle.
  43.    hMenu = GetSystemMenu(hwnd, False)
  44.    
  45.     If remove_close Then DeleteMenu hMenu, 6, MF_BYPOSITION
  46.     If remove_seperator Then DeleteMenu hMenu, 5, MF_BYPOSITION
  47.     If remove_maximize Then DeleteMenu hMenu, 4, MF_BYPOSITION
  48.     If remove_minimize Then DeleteMenu hMenu, 3, MF_BYPOSITION
  49.     If remove_size Then DeleteMenu hMenu, 2, MF_BYPOSITION
  50.     If remove_move Then DeleteMenu hMenu, 1, MF_BYPOSITION
  51.     If remove_restore Then DeleteMenu hMenu, 0, MF_BYPOSITION
  52. End Sub
  53.  
  54. Private Sub cmdClose_Click()
  55.     ReadyToClose = True
  56.     Unload Me
  57. End Sub
  58.  
  59. Private Sub Form_Load()
  60.     ' Remove the Close system menu item and the
  61.    ' menu separator.
  62.    RemoveMenus Me, False, False, _
  63.         False, False, False, True, True
  64. End Sub
  65.  
  66. ' Cancel if ReadyToClose is false.
  67. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  68.     Cancel = Not ReadyToClose
  69. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы