構造体は
Public Structure PROCESSENTRY32
Public dwSize As Integer
Public cntUsage As Integer
Public th32ProcessID As Integer
Public th32DefaultHeapID As Integer
Public th32ModuleID As Integer
Public cntThreads As Integer
Public th32ParentProcessID As Integer
Public pcPriClassBase As Integer
Public dwFlags As Integer
Public szExeFile() As Byte
End Structure

lngProcessSnapHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

ReDim udtProcessEntry32.szExeFile(259)
Dim i As Integer
For i = 0 To 259
udtProcessEntry32.szExeFile(i) = 0
Next
udtProcessEntry32.dwSize = Len(udtProcessEntry32)

If Process32First(lngProcessSnapHandle, _
udtProcessEntry32) <> 0 Then

上のProcess32Firstで必ず0が帰ってきます。
長々と申し訳ありませんが、以上で状況はわかって頂けましたでしょうか?
助言をお願いします。