15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как показать диалогово окно "Найти: Все файлы" (Find: All Files)

Когда Вы выбираете "Файлы или Папки...(Files or Folders...) из стартового меню "Найти" (Find), то появляется диалоговое окошко "Найти: Все файлы" (Find: All Files), позволяющее Вам найти определённый файл. Данная статья показывает, как показать такое окно из приложения Visual Basic.

Чтобы показать такое диалоговое окошко, используется API функция ShellExecute с параметром Find.

Результаты поиска будут отображены в диалоговом окне "Найти: Все файлы" (Find All Files).

Итак, создадим демонстрационный проект по шагам

  1. Создайте новый стандартный проект (Standard EXE project). Поумолчанию создастся Form1.

  2. Добавьте на форму кнопку, ListBox для буквы диска, и ListBox для директории.

  3. Скопируйте следующий код в окно с кодом в Form1:
          Private Declare Function ShellExecute Lib "shell32.dll" _
                Alias "ShellExecuteA" _
                (ByVal hwnd As Long, _
                ByVal lpOperation As String, _
                ByVal lpFile As String, _
                ByVal lpParameters As String, _
                ByVal lpDirectory As String, _
                ByVal nShowCmd As Long) As Long
    
          Private Const SW_SHOWNORMAL = 1
          Private Const SW_SHOWMINIMIZED = 2
          Private Const SW_SHOWMAXIMIZED = 3
          Private Const SW_SHOW = 5
          Private Const SW_MINIMIZE = 6
          Private Const SW_SHOWMINNOACTIVE = 7
          Private Const SW_SHOWNA = 8
          Private Const SW_RESTORE = 9
          Private Const SW_SHOWDEFAULT = 10
    
          Private Sub Command1_Click()
             Call ShellExecute(Me.hwnd, _
                               "find", _
                               Dir1.Path, _
                               vbNullString, _
                               vbNullString, _
                               SW_SHOWNORMAL)
          End Sub
    
          Private Sub Drive1_Change()
             Dir1.Path = Drive1.Drive
          End Sub
    
          Private Sub Form_Load()
             Command1.Caption = "Search Selected Path"
          End Sub
     



  4. Для запуска программы в меню Run кликните Start или нажмите F5. Выберите диск и путь и нажмите "Search Selected Path". Должен появиться диалог "Найти: Все файлы" (Find All Files), готовый к поиску по указанному пути.