Opening a file by mouse click

Posted on 2002-06-21
Last Modified: 2010-05-02
       How do I open any file by double clicking mouse button.
Question by:ami12

Author Comment

ID: 7098116

Expert Comment

ID: 7098158
double clicking  Where ????

any how   U can Use Shell Command for exe

or ShellExecute API for any    dOCUMENT TO TRY TO RUN IT


Accepted Solution

priya_pbk earned 20 total points
ID: 7098384
By double clicking it, of course!! :0)

I think you might be wanting to do it programatically. is it?

Depends which file you wish to open by clicking what(ie command button or by filelistbox etc)

Try this:
Put a textbox, commondialog control and 2 command buttons on the form and copy this in the code window

'decalare this first

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
Private Const SW_SHOW = 1

Private Sub Command1_Click()
Text1.Text = CommonDialog1.FileName
End Sub

Private Sub Command2_Click()
Dim hBrowse As Long
hBrowse = ShellExecute(0&, "open", Text1.Text, "", "", SW_SHOW)
End Sub

Hope this helps!


ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!


Expert Comment

ID: 7098968
Do you mean how does the opeating system know which file to open when you double click on a file of a given type?  Do you want to know how to make windows run your program against a file of a given type when it's double clicked?

If so you would have to set the association of the extention with the file type in the registry

this happens fairly simply.

in HKEY_CLASSES_ROOT there is a high level node that is your file extention "i.e. .'.log'" the .log node tells the system where to look for more detailed info (a throwback to win 3.1 I guess)

so it looks like this

-[].log (Default)    REG_SZ    txtfile

in HKEY_CLASSES_ROOT there is another high level node that matches the Data paramater for the .log node (txtfile).  It contains the information on what to do with the file. It looks like this:

-[]txtfile (Default)    REG_SZ    file description
  -[]DefaultIcon (Default)   REG_EXPAND_SZ    icon location
  -[]Shell (Default)    REG_SZ    (value not set)
    -[]open (Default)    REG_SZ    (value not set)
      []command (Default)    REG_EXPAND_SZ    path to app  %1

NOTE: the %1 is the file the application will attempt to open, being passed as a command line parameter

NOTE2: I just reviewed my own registry, and this is how it LOOKS!!  if I'm wrong someone please correct me

I hope that helps.  Hopefully if you have some sort of installer for your application it should be able to set up this type of stuff for you, otherwise you might be looking at a little bit of work to get this running

Expert Comment

ID: 7098979
crud, html makes my little chart thing look funny.. it looked a lot better when I typed it in the text box (should have used pre tags I guess)

Umm.. the []'s are supposed to denote a folder, or a node level, hopefully the indenting is obvious?
LVL 16

Expert Comment

ID: 7099106
If you are talking about open a file with your app:

Expert Comment

ID: 7099118
that basically describes what I outlined above?  except of course you give him the code... very nice.. I'll have to check that out sometime..
LVL 16

Expert Comment

ID: 7099278
No. It shows how to create an association for a given file (maybe  with a "custom" extension used only by your program). That's my idea. Sorry if i "override" your comment with something from it.

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question