sub SuperWork
frmUser.enabled=false ' Блокируем форму, в которой пользователь тыкает кнопки и все другое
doevents ' На всякий случай, чтобы это применилось к форме.
' .... Наши операции
frmUser.enabled=true ' Обратно разблокируем
end sub
Snussi писал(а):Делаем так
- Код: Выделить всё
sub SuperWork
frmUser.enabled=false ' Блокируем форму, в которой пользователь тыкает кнопки и все другое
doevents ' На всякий случай, чтобы это применилось к форме.
В VBScript - а зачем (по моему, это для ASP язык)
Кажись так
Tathagata писал(а):Тогда проще использовать dynwrap.dll
чем писать самому.
'У формы можно поставить BorderStyle = 0
'и Startup Position = 2
'А фоном картинку какую-нить красяфскую...
Private Declare Function BlockInput Lib "User32" (ByVal fBlock As Long) As Long
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Private Sub Form_Load()
Dim Lab As VB.Label
App.TaskVisible = False
Set Lab = Controls.Add("VB.Label", "Lab1", Me)
'сделаем окно постоянно активным
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Lab.Move 0, 0
Lab.Font.Size = 36
Lab.Caption = "Please wait..."
Lab.AutoSize = True
Lab.Visible = True
Me.Width = 5000
Me.Height = 1500
BlockInput True 'блокируем клавиатуру и мышку
'выполняем то, что нужно
'...
'
BlockInput False 'включаем клавиатуру и мышку
'End
End Sub
Работает до первого нажатия ALT+CTRL+DELETE. Т.е. пользователь жмет один раз 3 клавиши и продолжает хозяйнячать...BlockInput
Если окно диспетчера задач будет закрыто твоей программой, это будет проблематично сделать. )
А если у юзера стоит не диспетчер, а, скажем, ProcessExplorer от Sysinternals (довольно распространенное явление)?
Речь-то у вас ведь вроде шла о том, что не давать юзеру его _открыть_
Сейчас этот форум просматривают: AhrefsBot и гости: 65