Click here to Skip to main content
15,884,821 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I'd like to learn C# and WPF while I'd also like to have a system wide pie menu utility so I figured I could do both at the same time.
Task specification: http://www.zspline.net/files/UniPie_Overview.pdf[^]

However I feel way over my head: I'm programming/scripting for 15 years now but only high level stuff (Lua, Python, UnrealScript) so I have no idea about lower level things. My research on the matter made the impression that while the project could be done to some extent using C# and WPF, there might be serious issues with performance.

So here is my question: Is the task at hand fit for a C# implementation?
Posted

1 solution

Well, there's no real reason you can't do this. The Pie chart (making the menu) side is fairly straightforward, and there's lots of samples showing how to do this in WPF. You'll need to investigate global key hooks in C# to actually trigger this menu, but again, that's not that complicated and you'll get lots of hits on this. Finally, you'll be launching processes, or sending messages to other applications. Again, there are lots of samples you can learn from for the different parts.

So, overall I would say that it is fit for a C# implementation.
 
Share this answer
 
Comments
ZoltanE 4-May-12 5:55am    
Thanks for the quick reply!
I'm mostly worried about the "devil is in the details" stuff. I recall two things in particular:
- Something about the app getting "paged out" or something after idling for a while, after which it takes a few seconds to call it back up.
- Read something about that managed code shouldn't be used for keyboard hooks or something.

I don't want to end up with something which technically works but rendered impractical by some inherent limitation I didn't know about.
Pete O'Hanlon 4-May-12 6:04am    
Pretty much any user app can get paged out. The technology you are using doesn't matter as it's up to the operating system to decide what it retains.

If you are worried about keyboard hooks, you could always write that part in unmanaged code and use that to control the UI through the use of callbacks.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900