Hi all,

In my form, i have a button. If i press button, 1 file ( temp.txt or temp.bmp or temp.wmv ... ) will be opened by using default window program. ( I'm using vb 6 ).

How could i do to solve that problem?

You can use ShellExecute to do this and also pass other options to the receiving application. View below.

'Put this at the top of your form or module

Private Declare Function ShellExecute Lib "shell32.dll" _
 Alias "ShellExecuteA" (ByVal Hwnd As Long, _
 ByVal lpOperation As String, ByVal lpFile As String, _
 ByVal lpParameters As String, _
 ByVal lpDirectory As String, _
 ByVal nShowCmd As Long) As Long

'Magical function
Public Function OpenLocation(ByVal WhichFilePath As String, Optional sParams As String = "", Optional sStartIn As String = vbNullString, Optional lngOpenMode As Long = 1) As Long
    OpenLocation = ShellExecute(0, "Open", WhichFilePath, sParams, sStartIn, lngOpenMode)
End Function

'Your button click
Private Sub Command1_Click()

If OpenLocation("notepad.exe", "c:\myfile.txt", "", 1) < 32 Then
    'Failed to open
Else
    'Opened
End If

End Sub

Your not just limited to applications on your computer. You can send this function a slew of things and if it is valid Windows will handle it, else you will get an error back which is trapped in your calling IF statement.

Enjoy.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.