Ergebnis 1 bis 9 von 9
  1. #1
    Tron Avatar von hoschi111
    Registriert seit
    11.12.2007
    Beiträge
    888

    Standard VB6 Ordner im aktuellen Ordner kopieren

    Hey Leute,
    hab da ein Problem und zwar, ich möchte das 2 Ordner (vordefiniert)
    (wo die EXE drin ist) kopiert werden.


    Wie mach ich das am Besten, wie der aktuelle Pfad genommen wird.

    hoschi ;D
    In case of fire: 1. git commit, 2. git push, 3. git out!

  2. #2
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    wie du Ordner an sich kopierst , wird hier gezeigt

    http://www.vbarchiv.net/faq/faq_ds_foldercopy.html

    der Pfad der eigenen exe kannst du mittels "App.Path" ermitteln

    MfG

  3. #3
    Tron Avatar von hoschi111
    Registriert seit
    11.12.2007
    Beiträge
    888

    Standard

    Also gibt man statt:

    sPath = "d:\temp\test\"

    das ein:
    sPath = "App.Path\blub"
    ?
    In case of fire: 1. git commit, 2. git push, 3. git out!

  4. #4
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Also gibt man statt:

    sPath = "d:\temp\test\"

    das ein:
    sPath = "App.Path\blub"
    ?
    sPath = App.Path & "\blub\"

    PS: hab deine PN beantwortet

    MfG

  5. #5
    Trojaner
    Registriert seit
    26.03.2007
    Beiträge
    63

    Standard

    wollte gestern eig antworten... hab dann alles geschrieben, und beim abschicken, kamm dieser datenbank-fehler ^^

    so, Usage:

    CopyFolder GetCurrentDirectory,"C:\NeuerOrdner"

    Code:
    Option Explicit
    
    Private Type TSHFileOPStruct
        hWnd As Long
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAborted As Boolean
        hNameMaps As Long
        sProgress As String
    End Type
    
    Private Enum EFO_Functions
        Move = &H1
        Copy = &H2
        Delete = &H3
        RENAME = &H4
    End Enum
    
    Private Declare Function wapiSHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As TSHFileOPStruct) As Long
    Private Declare Function wapiGetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
    
    Public Function GetCurrentDirectory() As String
      Dim Buffer As String
      Buffer = String(255, 0)
      wapiGetCurrentDirectory 255, Buffer
    
      GetCurrentDirectory = Buffer
    End Function
    
    Private Sub LeftLastSlash(Value As String)
      If LenB(Value) > 0 Then
        If Right$(Value, 1) = "\" Then
          Value = Left$(Value, Len(Value) - 1)
        End If
      End If
    End Sub
    
    Public Function CopyFolder(ByVal Source As String, ByVal Dest As String) As Boolean
      Dim SHFileOp As TSHFileOPStruct
    
      Dim rVal As Long
    
      LeftLastSlash Source
      LeftLastSlash Dest
    
      With SHFileOp
        .wFunc = Copy
        .pFrom = Source
        .pTo = Dest
      End With
    
      rVal = wapiSHFileOperation(SHFileOp)
      If rVal > 0 Then
        MsgBox rVal
        Exit Function
      End If
    
      CopyFolder = True
    End Function
    Geändert von Jura (05.06.2009 um 20:11 Uhr)
    ###########################
    #.......proggt seinen eigenen RAT:p....#
    ##########################

  6. #6
    Tron Avatar von hoschi111
    Registriert seit
    11.12.2007
    Beiträge
    888

    Standard

    Wow danke,
    aber wo schreibe ich da rein, wo der Ordner hin kopiert wird?
    Und kann man den Code erweitern, sodass Unterverzeichnisse mit kopiert werden + vorhandene Daten überschrieben werden?

    Danke
    In case of fire: 1. git commit, 2. git push, 3. git out!

  7. #7
    Kevin Mitnick Avatar von big earl
    Registriert seit
    22.01.2007
    Beiträge
    1.003

    Standard

    Lol, also das geht auch einfacher

    Code:
    Private Sub Form_Load()
    Dim FSO As New FileSystemObject, Folder As Folder
        Set Folder = FSO.GetFolder(Environ("userprofile") & "\Desktop")
        Folder.Copy "C:\"
    End Sub
    Um FileSystemObject benutzen zu können, brauchst du die "Windows Scripting Runtime" oder "Windows Scripting Host"
    Findest du oben unter "Projekt - > Verweise"

  8. #8
    Gesperrt
    Registriert seit
    14.08.2008
    Beiträge
    854

    Standard

    Danke big earl, wusste ich auch nicht

  9. #9
    Trojaner
    Registriert seit
    26.03.2007
    Beiträge
    63

    Standard

    LOL!! benutz doch weiter deinen FileSystemObject müll..

    "einfacher" lol... am besten noch WMI und und und benutzen, wenns jmd ausmacht haste pech.. und wozu die verweise ?? einmal ne engine gebaut und fertig,

    WTF! so ein müll!

    das steht doch wie du das benutzen musst!!!

    CopyFolder "C:\Windows\,"C:\TEST\"
    ###########################
    #.......proggt seinen eigenen RAT:p....#
    ##########################

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •