Как перехватить переименование папки или файла пользователем?

Тема в разделе "WASM.BEGINNERS", создана пользователем XshStasX, 23 ноя 2008.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Как перехватить переименование папки или файла пользователем?
    Но в тот момент когда он токо вводит имя файла, и если нам это имя не понравилось заменить на другое, но опять же токо в том поле где вводиться имя файла/папки...тоесть чтоб пользователь мог решить нравиться ли ему предложенное имя файла....программа которая это делает не имет окон.
     
  2. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    XshStasX
    Ну это уже нужно курить программу с помощью которой переименовывается файл и встраивать в него свою программу/часть кода или отпатчить оригинал. К примеру далеко не все используют только Explorer, могут и работать с far/total commander/и д. р.
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Arthur
    А чё, нотификация уже не канает?
     
  4. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Aspire
    про Notify? Это к файлу или к Visual Control'у? Насколько я понял XshStasX нужен тот самый прямоугольник куда вписывается имя? Или я не вьехал?
     
  5. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Arthur
    А какая разница, если он сохранить файл с именем, которое нам не нравится все равно не сможет?

    [add] Или я ошибаюсь?
     
  6. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Да именно тот
    будет считать что это токо в Explorer...мне вот интересно возможно ли такое))) и хотябы в общих чертах...для любопытства
     
  7. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Aspire
    Если я не ошибаюсь, то это типа фича для комфорта, не надо двадцать раз нажимать на клаву или кнопку "Переименовать фаил" :) Или вирус из разряда "Я тебе помогу переименовать файл или не дам нормально работать за компом" :)
     
  8. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    идейка прикольная))
    былоб не плохо включить в свою программку с набором разных шуток:)
    так же можна сделать что программка в этом окошке предлагала имена файлов наиболее часто вводимих с клавиатуры...думаю удобно...мне вот часто приходиться с почти одинаковыми именами работать файлов и папок, вот леньки иногда в ручную писать их а тут раз и выбрал))))
     
  9. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    XshStasX
    Вообщем тот самый прямоугольник ни что иное, как Edit - стандартный визуальный орган Windows для ввода и обработки простого текста :)
     
  10. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Хорошо, допустим ми кинем хук на клаву, то потом как отличить Edit , этого прямоугольника в эксплорере от Edit того который вверху...там можна ввсти имя файла и его запустить и посмотреть список папок/файлов(возле этого Edit еще надпись адрес).....))))
     
  11. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    XshStasX
    Проверяем на ком сидит фокус (HWND GetFocus();). Фокус может быть только у одного контрола в данный момент.
     
  12. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Arthur
    ну и....
    и что нам даст хендл Edit получений GetFocus, если пользователь будет вводить вверху тоесть там где напись адрес тоже через фокус получим хендл Edit.а нам ведь надо узнать то ли это поле в каком файл переименовывают или я не прав? ведь там где надпись есть тоже Edit и СomboBox токо что проверял
     
  13. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    XshStasX
    wndExtra в размере с двойным словом у него интересный (смещение - 0, четыре байта). Вроде уникальный идентификатор.
     
  14. Coderess

    Coderess New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2008
    Сообщения:
    41
    FindFirstChangeNotification, FindNextChangeNotification, FindCloseChangeNotification
    http://forum.sources.ru/index.php?showtopic=250016