No obtiene las cadenas de un ejecutable... sino que obtiene un fichero en forma de cadena... no es muy buena idea... si el fichero pesa mas de 64KB no cabra en un String.
De todas formas es mucho codigo, se puede hacer sin APIs, simplemente con las sentencias de VB... Open etc...
Otra cosa, no es necesario que compruebes si existe el fichero, porque si usas CreateFile() con OPEN_EXISTING y no existe el fichero devolverá -1 (INVALID_HANDLE_VALUE), y en err.LastDllError sera igual a 2 (ERROR_FILE_NOT_FOUND)...
Código [Seleccionar]
http://support.microsoft.com/kb/104554/es
De todas formas es mucho codigo, se puede hacer sin APIs, simplemente con las sentencias de VB... Open etc...
Otra cosa, no es necesario que compruebes si existe el fichero, porque si usas CreateFile() con OPEN_EXISTING y no existe el fichero devolverá -1 (INVALID_HANDLE_VALUE), y en err.LastDllError sera igual a 2 (ERROR_FILE_NOT_FOUND)...