Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 171
  • Last Modified:

Opening a file by mouse click

       How do I open any file by double clicking mouse button.
1 Solution
ami12Author Commented:
double clicking  Where ????

any how   U can Use Shell Command for exe

or ShellExecute API for any    dOCUMENT TO TRY TO RUN IT

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!


Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

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
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?
Richie_SimonettiIT OperationsCommented:
If you are talking about open a file with your app:
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..
Richie_SimonettiIT OperationsCommented:
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.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now