Amigos, he estado leyendo sus comentarios con respecto a la seguridad y todo ese rollo y he notado que tiene un pequeño percanse,

en la unidad veo que siempre ponen "C:\", eso podría ser un problemota ya que no todos los usuarios disponen de esa unidad, es más a veces tienen 2 discos duros; en fin espero ya me hallan entendido

.

En ese caso les recomiendo usar esta función:
Declare Function GetWindowsDirectory Lib "kernel32" _
Alias "GetWindowsDirectoryA" ( _
ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Public Function GetWinDir () As String
Dim tmpStr$
tmpStr=Space(1024)
Call GetWindowsDirectory (tmpStr, Len(tmpStr))
tmpStr = Mid$(Trim$(tmpStr), 1)
GetWinDir = Mid$(tmpStr, 1, Len(tmpStr) - 1)
End Function
Para que les dé el la hubicación del directorio raíz de Windows. Después hacen lo siguiene:
Dim Unidad$, tmpDir$
tmpDir = GetWinDir()
Unidad = Mid$(tmpDir, 1, 3) 'la unidad siempre son las 3 primeras letras de una ruta completa
Espero les sirva, no más para ese pequeño detallito.