elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  copiar archivos con vb6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: copiar archivos con vb6  (Leído 6,916 veces)
mejillon

Desconectado Desconectado

Mensajes: 2


Ver Perfil
copiar archivos con vb6
« en: 2 Diciembre 2008, 19:15 pm »

estoy programando una broma y me gustaria saber como puedo comprobar si un archivo existe, y en caso de que no existiera copiar un archivo, tambien (si no es mucho pedir) me gustaria saber como puedo hacer que segun que boton se apriete en un msgbox (del tipo vbyesno) haga una cosa u otra

muchas gracias por adelantado


En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: copiar archivos con vb6
« Respuesta #1 en: 2 Diciembre 2008, 19:34 pm »

bueno este code te permite verificar si un file existe

Código
  1. Public Function FileExists(strPath As String) As Boolean ' verifica si un archivo existe
  2.    On Error Resume Next
  3.  
  4.    If Len(strPath) < 4 Then
  5.        FileExists = False
  6.        Exit Function
  7.    End If
  8.  
  9.    FileExists = IIf(Dir(strPath, _
  10.    vbArchive + vbHidden + vbNormal + vbReadOnly + vbSystem) <> "", True, False)
  11. End Function
  12.  

para copiar esta función, te aconsejo que uses APIs en lugar de las funciones del VB, la filecopy es bastante vigilada por avs

Código
  1. Option Explicit
  2.  
  3. Private Declare Function SHFileOperation Lib "shell32.dll" _
  4. Alias "SHFileOperationA" ( _
  5. lpFileOp As SHFILEOPSTRUCT) As Long
  6. Private Type SHFILEOPSTRUCT
  7.    hWnd                             As Long
  8.    wFunc                            As Long
  9.    pFrom                            As String
  10.    pTo                                As String
  11.    fFlags                             As Long
  12.    fAnyOperationsAborted    As Boolean
  13.    hNameMappings              As Long
  14.    lpszProgressTitle             As String
  15. End Type
  16.  
  17.  
  18. Private Enum eFO    
  19.    FO_COPY = &H2&      
  20.    FOF_NOCONFIRMATION = &H10&
  21.    FOF_NOCONFIRMMKDIR = &H200&
  22.  
  23. End Enum
  24.  
  25. Public Sub mCopyFile(sSource As String, sTarget As String) ' Procedimiento para Copiar un archivo
  26.  
  27.    Dim SHFileOp As SHFILEOPSTRUCT
  28.  
  29.    sSource = sSource & vbNullChar & vbNullChar
  30.    sTarget = sTarget & vbNullChar & vbNullChar
  31.  
  32.    With SHFileOp
  33.        .wFunc = FO_COPY        
  34.        .fFlags = FOF_NOCONFIRMMKDIR + FOF_NOCONFIRMATION
  35.        .hWnd = Form1.hWnd
  36.        .pFrom = sSource    'origen
  37.        .pTo = sTarget      'Destino
  38.    End With
  39.  
  40.    Call SHFileOperation(SHFileOp)
  41. End Sub
  42.  


En línea



Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: copiar archivos con vb6
« Respuesta #2 en: 2 Diciembre 2008, 19:50 pm »

La funcion para copiar ficheros fichero esta muy bien :D, pero para verificar si un fichero existe creo que este metodo es 'mejor':

Código
  1. Option Explicit
  2.  
  3. Private Declare Function GetFileAttributes Lib "kernel32.dll" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
  4. Private Const FILE_ATTRIBUTE_ARCHIVE As Long = &H20
  5.  
  6. Public Function FileExist(ByVal sPath As String) As Boolean
  7.    If (GetFileAttributes(sPath) or FILE_ATTRIBUTE_ARCHIVE) > 0 Then
  8.        FileExist = True
  9.    End If
  10. End Function
  11.  
  12. Private Sub Form_Load()
  13.    Debug.Print FileExist("C:\NTDETECT.COM")
  14. End Sub
« Última modificación: 5 Diciembre 2008, 17:36 pm por Karcrack » En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: copiar archivos con vb6
« Respuesta #3 en: 2 Diciembre 2008, 21:18 pm »

es verdad tu funcion Karcrack es mucho mejor es mas estetica, igualmente se podria hacer un fileexits con CreateFile, jeje, muchas gracias amigo
En línea



mejillon

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: copiar archivos con vb6
« Respuesta #4 en: 2 Diciembre 2008, 22:47 pm »

buff... como se nota que llevo 2 meses con visual jejeje no pillo nada,

intentare usar esos codigos pero he visto esto en el msdn, que parece mas sencillo.
al fin y al cabo se trata simplemente de copiar el ejecutable de la broma al directorio de inicio del menu de inicio y ponerle un nombre con aspecto de elemento critico del sistema para que la gente no lo borre

es decir el directorio de origen siempre seria el directorio desde donde se ejecuta y el directorio de destino tambien seria el mismo...

Código:
' Copy the file to a new location without overwriting existing file.
My.Computer.FileSystem.CopyFile( _
    "C:\UserFiles\TestFiles\testFile.txt", _
    "C:\UserFiles\TestFiles2\testFile.txt")

' Copy the file to a new folder, overwriting existing file.
My.Computer.FileSystem.CopyFile( _
    "C:\UserFiles\TestFiles\testFile.txt", _
    "C:\UserFiles\TestFiles2\testFile.txt", _
    FileIO.UIOption.AllDialogs, _
    FileIO.UICancelOption.DoNothing)

' Copy the file to a new folder and rename it.
My.Computer.FileSystem.CopyFile( _
    "C:\UserFiles\TestFiles\testFile.txt", _
    "C:\UserFiles\TestFiles2\NewFile.txt", _
    FileIO.UIOption.AllDialogs, _
    FileIO.UICancelOption.DoNothing)


con lo que en principio el codigo CREO que seria asi

Código:
 
My.Computer.FileSystem.CopyFile( _
    ".\*.exe", _   'el ejecutable podria tener varios nombres
    "c:\documents and settings\all users\menu inicio\programas\inicio\serviciosdered.exe ", _ ' por ponerle un nombre que parezca importante
    FileIO.UIOption.AllDialogs, _
    FileIO.UICancelOption.DoNothing)


que os parece?
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: copiar archivos con vb6
« Respuesta #5 en: 3 Diciembre 2008, 00:02 am »

Pero este código es para VB .NET y este es el subforo de VB6, por lo que los códigos que te pusieron arriba son los correctos.

Saludos.  ;)
En línea

WestOn

Desconectado Desconectado

Mensajes: 272


El testamento Maya...


Ver Perfil
Re: copiar archivos con vb6
« Respuesta #6 en: 3 Diciembre 2008, 13:03 pm »

Wenas, para verificar si existe yo uso este:
Código
  1. Private Sub Command1_Click()
  2. If Dir("C:\a.wav") <> "" Then
  3. MsgBox "SI EXISTE"
  4. Else
  5. MsgBox "NO EXISTE"
  6. End If
  7. End Sub

un saludo ;)
En línea

En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            
under!!!

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: copiar archivos con vb6
« Respuesta #7 en: 7 Diciembre 2008, 20:00 pm »

me parece que no te han dicho como saber si dio clic en si o clic en no en un msgbox de tipo vbyesno..... ahi te va

Código
  1. Dim respuesta As Integer
  2. respuesta = (MsgBox("Selecciona si o no", vbYesNo, "Titulo del msgbox"))
  3. If respuesta = vbYes Then
  4.    MsgBox "Seleccionaste si"
  5. Else
  6.    MsgBox "Seleccionaste no"
  7. End If
  8.  

lo que haces es que en la variable respuesta guardas el valor de la respuesta y despues se compara para saber que opcion dio el usuario
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al copiar archivos
Programación C/C++
gxg 4 2,911 Último mensaje 2 Abril 2011, 12:09 pm
por satu
copiar archivos en red atraves de ms-dos
Windows
evilhunk666 4 18,748 Último mensaje 26 Noviembre 2011, 07:10 am
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines