Запрет на изменение внешнего вида системного курсора
    
  ![]()  | 
Наши проекты:
 Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту  | 
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS | 
| [216.73.216.5] | 
 
 | 
		
  | 
    Правила раздела C/C++: Системное программирование и WinAPI
  
 FAQ Сайта (C++)  
 FAQ Форума 
 Наши Исходники 
 Поиск по Разделу 
 MSDN Library Online (Windows Driver Kit) 
 Google
    Запрет на изменение внешнего вида системного курсора
    
  | 
         
         
         
          
           Сообщ.
           #1
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Добрый день! 
        
      Пожалуйста, помогите идеей или решением. Нужно реализовать выбор окна так, как это сделано в программах Window Detective или Process Explorer, когда выбирается окно при помощи курсора-мишени. Курсор меняется функцией SetSystemCursor, а восстанавливается SystemParametersInfo(SPI_SETCURSORS, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE) А вот между вызовами этих методов, пока не выбрано нужное окно, нужно запретить изменять курсор. Но другие окна меняют курсор по своему усмотрению. Как можно это реализовать (запретить курсору меняться)? Прикреплённая картинка 
		 | 
    
| 
         
         
         
          
           Сообщ.
           #2
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Зачем менять системные курсоры. Мне было достаточно просто захватить его SetCapture() и менять у себя SetCursor(LoadCursor())   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #3
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Такой финт проходит, если не прятать основное окно (захватившее мышь). А если окно прячется, это уже не работает   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #4
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
         Цитата estra @  Пожалуйста, помогите идеей или решением.  Делаешь снимок всего экрана, блитишь на полноэкранное своё окно с заданным тобой курсором, окна отслеживаешь тем же WindowFromPoint с предварительной обработкой WM_NCHITTEST и возвратом HTTRANSPARENT  |