Results 1 to 2 of 2

Thread: vb6 everything SDK,quick Search file for vb6,vba

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    vb6 everything SDK,quick Search file for vb6,vba

    Need Run EveryThing.exe First !

    it's support x64 everything.exe,but un suppot about:Lite version
    Download Portable Zip 64-bit,it's only 2 files,it's funny
    (Everything.exe,Everything.lng),it's support ipc, VB6 Everything SDK



    'Note: sample copied from https://www.voidtools.com/support/ev.../visual_basic/
    https://www.voidtools.com/Everything-SDK.zip

    Everything-SDK\dll\Everything32.dll
    vb6 sdk
    Code:
    'it's VB6 Everything SDK
    
    'VB.net and the Everything SDK - voidtools forum
    'https://www.voidtools.com/forum/viewtopic.php?f=10&t=5550
    Option Explicit
    
    Public Declare Function Everything_SetSearchA Lib "Everything32.dll" (ByVal ins As String) As Long
    Public Declare Function Everything_QueryA Lib "Everything32.dll" (ByVal bWait As Long) As Long
    
    Public Declare Function Everything_SetSearchW Lib "Everything32.dll" (ByVal ins As Long) As Long
    
    Public Declare Function Everything_SetRequestFlags Lib "Everything32.dll" (ByVal dwRequestFlags As Long) As Long
    Public Declare Function Everything_QueryW Lib "Everything32.dll" (ByVal bWait As Long) As Long
    Public Declare Function Everything_GetNumResults Lib "Everything32.dll" () As Long
    Public Declare Function Everything_GetResultFileNameW Lib "Everything32.dll" (ByVal index As Long) As Long
    Public Declare Function Everything_GetLastError Lib "Everything32.dll" () As Long
    Public Declare Function Everything_GetResultFullPathNameW Lib "Everything32.dll" (ByVal index As Long, ByVal ins As Long, ByVal size As Long) As Long
    Public Declare Function Everything_GetResultSize Lib "Everything32.dll" (ByVal index As Long, ByRef size As Long) As Long          'size UInt64
    Public Declare Function Everything_GetResultDateModified Lib "Everything32.dll" (ByVal index As Long, ByRef ft As Long) As Long    'ft UInt64
    
    Public Const EVERYTHING_REQUEST_FILE_NAME = &H1
    Public Const EVERYTHING_REQUEST_PATH = &H2
    Public Const EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME = &H4
    Public Const EVERYTHING_REQUEST_EXTENSION = &H8
    Public Const EVERYTHING_REQUEST_SIZE = &H10
    Public Const EVERYTHING_REQUEST_DATE_CREATED = &H20
    Public Const EVERYTHING_REQUEST_DATE_MODIFIED = &H40
    Public Const EVERYTHING_REQUEST_DATE_ACCESSED = &H80
    Public Const EVERYTHING_REQUEST_ATTRIBUTES = &H100
    Public Const EVERYTHING_REQUEST_FILE_LIST_FILE_NAME = &H200
    Public Const EVERYTHING_REQUEST_RUN_COUNT = &H400
    Public Const EVERYTHING_REQUEST_DATE_RUN = &H800
    Public Const EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED = &H1000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME = &H2000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_PATH = &H4000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME = &H8000
    
    Public Type FILETIME
        dwLowDateTime As Long
        dwHighDateTime As Long
    End Type
    
    Public Type SYSTEMTIME
        wYear As Long
        wMonth As Long
        wDayOfWeek As Long
        wDay As Long
        wHour As Long
        wMinute As Long
        wSecond As Long
        wMilliseconds As Long
    End Type
    
    Private Declare Function FileTimeToSystemTime Lib "kernel32" (ByRef ft As Long, lpSystemTime As SYSTEMTIME) As Long
    Private Declare Function SystemTimeToTzSpecificLocalTime Lib "kernel32" (ByVal tzi As Long, lpst As SYSTEMTIME, lplt As SYSTEMTIME) As Long
    Private Declare Function SystemTimeToVariantTime Lib "OLEAUT32.DLL" (lpSystemTime As SYSTEMTIME, vtime As Date) As Long
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Function CheckEverythingRunning() As Boolean
        Dim FindOK As Boolean
        Dim Hwnd As Long
        Hwnd = FindWindow("EVERYTHING", "Everything")
        CheckEverythingRunning = Hwnd <> 0
    End Function
    Sub SimpleTest()
    If Not CheckEverythingRunning Then
     Debug.Print "Please check Everything Is Running"
    Exit Sub
    End If
        Dim EyText As String
        Dim test As Boolean
        EyText = "Everything"
       Call Everything_SetSearchW(StrPtr(EyText))
        'Call Everything_SetSearchA(EyText)
        
        Everything_SetRequestFlags (EVERYTHING_REQUEST_FILE_NAME Or EVERYTHING_REQUEST_PATH Or EVERYTHING_REQUEST_SIZE Or EVERYTHING_REQUEST_DATE_MODIFIED)
        test = Everything_QueryW(True)
        'test = Everything_QueryA(True)
        If Not test Then
            Debug.Print "Search Err:Please check Everything Is Running"
            Exit Sub
        End If
    
        Dim NumResults As Long
        Dim i As Long
        Dim filename2 As String
        Dim filesize As Long
        Dim size As Long
        Dim ftdm As Long
        Dim stdm As SYSTEMTIME
        Dim ltdm As SYSTEMTIME
        Dim DateModified As Date
        Dim ID As Long
       
    
        NumResults = Everything_GetNumResults()
        Debug.Print "Find FILES:" & NumResults
        filename2 = String(260, 0)
     
        If NumResults > 0 Then
            For i = 0 To NumResults - 1
                test = Everything_GetResultFullPathNameW(i, StrPtr(filename2), 260)
                ID = InStr(filename2, Chr(0))
                If ID > 0 Then
                 FileName = Left(filename2, ID - 1)
                 Else
                 FileName = filename2
                 End If
                
                test = Everything_GetResultSize(i, size)
    
                
                test = Everything_GetResultDateModified(i, ftdm)
                test = FileTimeToSystemTime(ftdm, stdm)
                test = SystemTimeToTzSpecificLocalTime(0, stdm, ltdm)
                test = SystemTimeToVariantTime(ltdm, DateModified)
                Debug.Print DateModified & "//" & size & "//" & FileName
            Next
        End If
    End Sub

    x64 vba sdk:
    Code:
    'Replaced for VBA usage
    ' - UINT32 with LONG
    ' - UINT64 with LONGLONG
    ' - INTPtr with LONGPtr
    ' - System.Text.StringBuilder with String
    ' - System.DateTime with String
    ' - filename.Capacity with filesize
    
    Public Declare PtrSafe Function Everything_SetSearchW Lib "C:\SDK\Everything64.dll" (ByVal ins As LongPtr) As Long
    Public Declare PtrSafe Function Everything_SetRequestFlags Lib "C:\SDK\Everything64.dll" (ByVal dwRequestFlags As Long) As Long
    Public Declare PtrSafe Function Everything_QueryW Lib "C:\SDK\Everything64.dll" (ByVal bWait As Integer) As Integer
    Public Declare PtrSafe Function Everything_GetNumResults Lib "C:\SDK\Everything64.dll" () As Long
    Public Declare PtrSafe Function Everything_GetResultFileNameW Lib "C:\SDK\Everything64.dll" (ByVal index As Long) As LongPtr
    Public Declare PtrSafe Function Everything_GetLastError Lib "C:\SDK\Everything64.dll" () As Long
    Public Declare PtrSafe Function Everything_GetResultFullPathNameW Lib "C:\SDK\Everything64.dll" (ByVal index As Long, ByVal ins As LongPtr, ByVal size As Long) As Long
    Public Declare PtrSafe Function Everything_GetResultSize Lib "C:\SDK\Everything64.dll" (ByVal index As Long, ByRef size As LongLong) As Integer         'size UInt64
    Public Declare PtrSafe Function Everything_GetResultDateModified Lib "C:\SDK\Everything64.dll" (ByVal index As Long, ByRef ft As LongLong) As Integer   'ft UInt64
    
    Public Const EVERYTHING_REQUEST_FILE_NAME = &H1
    Public Const EVERYTHING_REQUEST_PATH = &H2
    Public Const EVERYTHING_REQUEST_FULL_PATH_AND_FILE_NAME = &H4
    Public Const EVERYTHING_REQUEST_EXTENSION = &H8
    Public Const EVERYTHING_REQUEST_SIZE = &H10
    Public Const EVERYTHING_REQUEST_DATE_CREATED = &H20
    Public Const EVERYTHING_REQUEST_DATE_MODIFIED = &H40
    Public Const EVERYTHING_REQUEST_DATE_ACCESSED = &H80
    Public Const EVERYTHING_REQUEST_ATTRIBUTES = &H100
    Public Const EVERYTHING_REQUEST_FILE_LIST_FILE_NAME = &H200
    Public Const EVERYTHING_REQUEST_RUN_COUNT = &H400
    Public Const EVERYTHING_REQUEST_DATE_RUN = &H800
    Public Const EVERYTHING_REQUEST_DATE_RECENTLY_CHANGED = &H1000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_FILE_NAME = &H2000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_PATH = &H4000
    Public Const EVERYTHING_REQUEST_HIGHLIGHTED_FULL_PATH_AND_FILE_NAME = &H8000
    
    Public Type FILETIME
        dwLowDateTime As Long
        dwHighDateTime As Long
    End Type
    
    Public Type SYSTEMTIME
        wYear As Integer
        wMonth As Integer
        wDayOfWeek As Integer
        wDay As Integer
        wHour As Integer
        wMinute As Integer
        wSecond As Integer
        wMilliseconds As Integer
    End Type
    
    Private Declare PtrSafe Function FileTimeToSystemTime Lib "kernel32" (ByRef ft As LongLong, lpSystemTime As SYSTEMTIME) As Long
    Private Declare PtrSafe Function SystemTimeToTzSpecificLocalTime Lib "kernel32" (ByVal tzi As LongPtr, lpst As SYSTEMTIME, lplt As SYSTEMTIME) As Long
    Private Declare PtrSafe Function SystemTimeToVariantTime Lib "OLEAUT32.DLL" (lpSystemTime As SYSTEMTIME, vtime As Date) As Long
    
    Sub SimpleTest()
        Dim EyText As String
        Dim test As Boolean
        EyText = "Everything"
        Everything_SetSearchW (StrPtr(EyText))
        Everything_SetRequestFlags (EVERYTHING_REQUEST_FILE_NAME Or EVERYTHING_REQUEST_PATH Or EVERYTHING_REQUEST_SIZE Or EVERYTHING_REQUEST_DATE_MODIFIED)
        test = Everything_QueryW(True)
        Debug.Print test
    
        Dim NumResults As Long
        Dim i As Long
        Dim filename As String
        Dim filesize As Long
        Dim size As LongLong
        Dim ftdm As LongLong
        Dim stdm As SYSTEMTIME
        Dim ltdm As SYSTEMTIME
        Dim DateModified As Date
    
        filename = String(260, 0)
    
        NumResults = Everything_GetNumResults()
        Debug.Print NumResults
    
        If NumResults > 0 Then
            For i = 0 To NumResults - 1
                test = Everything_GetResultFullPathNameW(i, StrPtr(filename), 260)
                Debug.Print filename
                
                test = Everything_GetResultSize(i, size)
                Debug.Print size
                
                test = Everything_GetResultDateModified(i, ftdm)
                test = FileTimeToSystemTime(ftdm, stdm)
                test = SystemTimeToTzSpecificLocalTime(0, stdm, ltdm)
                test = SystemTimeToVariantTime(ltdm, DateModified)
                Debug.Print DateModified
            Next
        End If
    End Sub
    Last edited by xiaoyao; Aug 2nd, 2021 at 11:35 PM.

  2. #2

    Thread Starter
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: everything SDK,quick Search file for vb6,vba

    How to use advanced search to search for information such as file content? Waiting for the master to continue deepening

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width