Results 1 to 5 of 5

Thread: help saving

  1. #1

    Thread Starter
    Junior Member
    Join Date
    Aug 2000
    Location
    The Glove state
    Posts
    28

    Cool

    is there a way so I can make my program save IT SELF in a folder of my chouse? please put the code for it because im just learning vb.
    Always let the Wookiee Win!

  2. #2
    Guest
    you mean when you run the program copy itself to a folder??

  3. #3
    Guest
    Try this:

    Code:
    x = Inputbox("What folder would you like to copy your program to?")
    'Make sure your directory is like C:\Windows\
    If x = "" Then Exit Sub
    If Dir("" & x & "", vbDirectory) <> "" Then
    FileCopy App.Path & "\" & App.EXEName & ".exe", x & "\" & App.EXEName & ".exe"
    Else
    Msgbox "Cannot copy a file to a folder that doesn't exist!", 16
    End If

  4. #4

    Thread Starter
    Junior Member
    Join Date
    Aug 2000
    Location
    The Glove state
    Posts
    28

    Thumbs up

    yes
    Always let the Wookiee Win!

  5. #5
    Guest
    If you would rather choose a directory instead, you can do this:

    Code:
    Option Explicit 
    
    Public Type BrowseInfo 
    hwndOwner As Long 
    pIDLRoot As Long 
    pszDisplayName As Long 
    lpszTitle As Long 
    ulFlags As Long 
    lpfnCallback As Long 
    lParam As Long 
    iImage As Long 
    End Type 
    
    Public Const BIF_RETURNONLYFSDIRS = 1 
    Public Const MAX_PATH = 260 
    
    Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long) 
    Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long 
    Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long 
    Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long 
    
    Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
         
        'declare variables to be used
         Dim iNull As Integer
         Dim lpIDList As Long
         Dim lResult As Long
         Dim sPath As String
         Dim udtBI As BrowseInfo
    
        'initialise variables
         With udtBI
            .hwndOwner = hwndOwner
            .lpszTitle = lstrcat(sPrompt, "")
            .ulFlags = BIF_RETURNONLYFSDIRS
         End With
    
        'Call the browse for folder API
         lpIDList = SHBrowseForFolder(udtBI)
         
        'get the resulting string path
         If lpIDList Then
            sPath = String$(MAX_PATH, 0)
            lResult = SHGetPathFromIDList(lpIDList, sPath)
            Call CoTaskMemFree(lpIDList)
            iNull = InStr(sPath, vbNullChar)
            If iNull Then sPath = Left$(sPath, iNull - 1)
         End If
    
        'If cancel was pressed, sPath = ""
         BrowseForFolder = sPath
    
    End Function
    
    Private Sub Command1_Click() 
    Dim strFolder As String 
    strFolder = BrowseForFolder(hWnd, "Please select a folder.") 
    If strFolder = "" Then 
    Exit Sub
    Else 
    If InStr(strFolder, "\\") Then
    FileCopy App.Path & "\" & App.EXEName & ".exe", strFolder & "\" & App.EXEName & ".exe"
    Else
    FileCopy App.Path & "\" & App.EXEName & ".exe", strFolder & "" & App.EXEName & ".exe"
    End If
    End Sub


    [Edited by Matthew Gates on 08-21-2000 at 11:09 PM]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width