Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Winform event handler to capture params from email hyperlink

Posted on 2011-02-18
9
Medium Priority
?
1,202 Views
Last Modified: 2012-05-11
How do I get a Winforms application event handler to receive three parameters from an email (actually, a user clicking something in the email).

my experience is email body contains a hyperlink similar to
http://www.website.com/App/Servlet?paramA=1¶mB=2¶mC=3
a web service receives the values of each of the three parameters and processing them as necessary.

In this case a C#.NET Winforms application needs to receive the three parameters and process them. It is like we are automating the application by sending filter information before it displays a DataGridView. I can format the email hyperlink (or something better) as needed, because I control the creation of the emails.

What C#.NET class should I use to create a handler to receive the parameters, and how do I create inter-process messaging like this?
0
Comment
Question by:tonygallo10
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
9 Comments
 
LVL 1

Accepted Solution

by:
razisyed earned 2000 total points
ID: 34929445
This is basically done through a custom url protocol handler and. You can use something like myapp://servlet?paramA=1&paramB=2 which will launch your windows winform app.

Take a look at the following msdn articles explaining how to do it:

http://blogs.msdn.com/b/noahc/archive/2006/10/19/register-a-custom-url-protocol-handler.aspx

http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

0
 

Author Comment

by:tonygallo10
ID: 34929592
Sorry. I did not explain that the Winform application may be running already, so I cannot use args[0].

It is okay if a window (with DataGridView) popups up automatically from the Winform application, because the action was caused by the user clicking in the email text.

Somehow, I need to get the Winform app to "listen" for the event caused by a user clicking on hyperlink myapp://servlet?paramA=1&paramB=2 in the email.
0
 
LVL 1

Expert Comment

by:razisyed
ID: 34930268
You can actually still use the same. You would have to make your application a single instance application, and then handle the load event that fires when someone clicks and the application is launced again.
0
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 

Author Comment

by:tonygallo10
ID: 34943855
command line args are not working, because this is a ClickOnce deployed program see http://www.experts-exchange.com/Software/Development/Management_Debug/Deployment/Q_24433669.html and the blog entry at http://gregdotnet.blogspot.com/2005/12/passing-arguments-to-clickonce.html

Also, I can see problems creating the keys in the registry as I deploy this application to many users who are not administrators on their computer. I stalled in the Microsoft instructions, when i needed to enter the path to the exe in the registry key HKEY_CLASSES_ROOT/TestStatusAlert/shell/open/command

Click Once applications do not have an explicit and consistently (through multiple version updates) available path to the exe.
0
 
LVL 17

Expert Comment

by:Jesse Houwing
ID: 34970629
In that case you should look at a different way to distribute your application. Clickonce doesn't fit the requirements of your app.
0
 

Author Comment

by:tonygallo10
ID: 34971685
The feature we need to add is just one part of a large application, which has been deployed with ClickOnce. It is the standard deployment strategy of my client. There IT doesn't want to give admin privileges on user desktops, and I agree from a security standpoint.

The one suggestion I have from the experts requires modifying the registry, which requires admin rights. There must be another way.
0
 
LVL 17

Expert Comment

by:Jesse Houwing
ID: 34982615
You could create an outlook addin to do it from the mailclient or something similar, but there is no other way to do it by simply clicking a link.
0

Featured Post

Plesk WordPress Toolkit

Plesk's WordPress Toolkit allows server administrators, resellers and customers to manage their WordPress instances, enabling a variety of development workflows for WordPress admins of all skill levels, from beginners to pros.

See why 2/3 of Plesk servers use it.

Question has a verified solution.

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

Dramatic changes are revolutionizing how we build and use technology. Every company is automating, digitizing, and modernizing operations. We need a better, more connected way to work together as teams so we can harness the insights from our system…
If you are a mobile app developer and especially develop hybrid mobile apps then these 4 mistakes you must avoid for hybrid app development to be the more genuine app developer.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

704 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