You can use the SHRunDialog function which is officially undocumented and exported only with an ordinal number.
Place a command button on your form and try the following code.
___
[tt]
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Declare Function SHRunDialog Lib "shell32" Alias "#61" (ByVal hOwner As Long, ByVal hIcon As Long, ByVal szPath As Long, ByVal szTitle As Any, ByVal szPrompt As Any, ByVal uFlags As Long) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Const VER_PLATFORM_WIN32_NT = 2
Const SHRD_NOBROWSE = 1 'hide the Browse button
Const SHRD_NOMRU = 2 'don't show the last filename
Private Sub Command1_Click()
ShowRunDialog hWnd, Me.Icon, "Your title here", "You messge here", SHRD_NOMRU 'Or SHRD_NOBROWSE
End Sub
Public Sub ShowRunDialog(Optional hWnd As Long, Optional hIcon As Long, Optional ByVal Title As String, Optional ByVal Prompt As String, Optional Flags As Long)
Dim osvi As OSVERSIONINFO, Flag As Long
osvi.dwOSVersionInfoSize = Len(osvi)
GetVersionEx osvi
If osvi.dwPlatformId = VER_PLATFORM_WIN32_NT Then
SHRunDialog hWnd, hIcon, 0, StrPtr(Title), StrPtr(Prompt), Flags
Else
SHRunDialog hWnd, hIcon, 0, Title, Prompt, Flags
End If
End Sub[/tt]
___
Note that all of the function arguments are optional. If you skip an argument, the default option is used.