Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Заблокировать Alt+Tab и кнопку Пуска
     
    
Добавлено: 28.09.08 09:42
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 busha
      
       
  
Как заблокировать Alt+Tab и кнопку Пуска, чтобы программа
 
    
не сворачивалась?
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 7
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 @lex
![]()
![]()
![]()
Вопросов: 14
Ответов: 262
      
 Профиль |  | #1
       
Добавлено:  28.09.08 12:37
       
    
       
  
Перехватить нажатие и развернуть обратно  
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Jasmin
![]()
![]()
![]()
![]()
Вопросов: 23
Ответов: 417
      
 Профиль |  | #2
       
Добавлено:  28.09.08 14:04
       
    
       
  
Пример, как перехватить команды Вырезать, Копировать, Вставить, Специальная вставка и Формат по образцу, а также горячих клавиш CTRL+X, CTRL+C, CTRL+V. По аналогии попробуй свою комбинацию.
 
    
    ChangeEnvironment 
End Sub 
Private Sub Workbook_Deactivate() 
    RestoreEnvironment 
End Sub 
Private Sub ChangeEnvironment() 
Dim iCommandBar As CommandBar 
Dim iFindControl As CommandBarButton 
With Application 
     .OnKey Key:="^x", Procedure:="No_Copy" 
     .OnKey Key:="^c", Procedure:="No_Copy" 
     .OnKey Key:="^v", Procedure:="No_Copy" 
     .CellDragAndDrop = False 'Снятие опции перетаскивать ячейки 
     For Each iControlID In Array(19, 21, 22, 108, 369, 370, 755) 
         For Each iCommandBar In .CommandBars 
             Set iFindControl = iCommandBar.FindControl _ 
             
Id:=iControlID, Visible:=False, Recursive:=True) 
             If Not iFindControl Is Nothing Then 
                 iFindControl.OnAction = "No_Copy" 
                 If (iCommandBar.Protection And msoBarNoCustomize) = 0 Then _ 
                 iCommandBar.Protection = msoBarNoCustomize 
             End If 
         Next 
     Next 
End With 
End Sub 
Private Sub RestoreEnvironment() 
Dim iCommandBar As CommandBar 
Dim iFindControl As CommandBarButton 
With Application 
     .OnKey Key:="^x": .OnKey Key:="^c": .OnKey Key:="^v" 
     .CellDragAndDrop = True 'Установка опции перетаскивать ячейки 
     For Each iControlID In Array(19, 21, 22, 108, 369, 370, 755) 
         For Each iCommandBar In .CommandBars 
             Set iFindControl = iCommandBar.FindControl _ 
             
Id:=iControlID, Visible:=False, Recursive:=True) 
             If Not iFindControl Is Nothing Then 
                 iFindControl.Reset 
                 If (iCommandBar.Protection And msoBarNoCustomize) <> 0 Then _ 
                 iCommandBar.Protection = msoBarNoProtection 
             End If 
         Next 
     Next 
End With 
End Sub 
Private Sub No_Copy(): End Sub 'В любом стандартном модуле
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 busha
![]()
![]()
Вопросов: 22
Ответов: 18
      
 Профиль |  | #3
       
Добавлено:  28.09.08 14:14
       
    
       
  
Этот код я так понимаю для работы с офисными приложениями, а я ведь не работаю с ними,
 
    
этот код не принимается
Set iFindControl = iCommandBar.FindControl _ 
Id:=iControlID, Visible:=False, Recursive:=True) 
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 
![]()
![]()
![]()
![]()
Администратор
ICQ: 278109632 
Вопросов: 42
Ответов: 3949
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  28.09.08 19:26
       
    
       
  
Ну кнопку пуск вырубить просто. Находим хэндл и делаем EnableWindow(hwnd, false)
 
    
По поводу альт-таба... Регистрируем свою горячую клавишу в системе. Регистрируем, естественно, этот самый Альт+Таб. И все.
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Boconon
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 216390557 
Вопросов: 25
Ответов: 71
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  28.09.08 21:33
       
    
       
  
...offtop or not offtop, what is a question...
 
    
если заблокировать пуск через EnableWindow(hwnd, false) то по нажатии пуска на клаве менюшка все-равно вылезет 
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 
![]()
![]()
![]()
![]()
Администратор
ICQ: 278109632 
Вопросов: 42
Ответов: 3949
      
 Web-сайт:  
 Профиль |  | #6
      
Добавлено:  29.09.08 02:19
       
    
       
  
Ах да. Тогда искать окно по классу и убивать его. Я так делал, помнится.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #7
       
Добавлено:  02.10.08 22:15
       
    
       
  
можно глоб хук на клаву повесить, и ловить алт+там, да и win помойму тоже.. вместо сан кода кнопки просто ноль возвращать, типо подавление.. Гуглить по "MouseHook"