Adding task options when pinned app is right clicked - c#

We have a c# application that requires a few steps be completed before every launch. I wrote a c# app to automate these steps.
Can anyone help me figure out how I can [EDIT: configure a JumpList] for my app?
I have included a screen capture to hopefully get my point across as I'm not sure how to explain it any better.

For the native interfaces, see Taskbar Extensions (Windows). Specifically, I think you're looking for the ICustomDestinationList::AddUserTasks method.
If you're using .Net 4+, you can now do a lot of this stuff with built-in classes in the System.Windows.Shell namespace, rather than adding the Windows API Code Pack as suggested by Coding Gorilla. See for example System.Windows.Shell namespace

Those are called "Jump Lists", have a look at the Windows API Code Pack here. I can't tell you exactly how to implement them, because it's very dependent on your application code. But this should give you somewhere to start.

Related

How to allow a C# UWP app manage another UWP app?

I want to do some things, which I feel are very simple, but I cannot do. I have looked at numerous websites and StackOverflow questions. One question has helped me a bit by pointing me in the right direction, but I feel I need more than just that.
Here is what I want to do (basically):
I would like to make a UWP app that can be managed by another app.
By "managed" I mean:
Should be able to install the app.
Should be able to uninstall the app.
Should be able to check for updates and update the app.
It should also be able to launch the app.
Optional requirements:
While launching the app, I would like to have it set the page of a panel to a certain page. Also fine with it clicking on the navbar and change the panel's page
This would be an example of my app would be like (the one with the panel/nav): Question
I would also like an installer (something like a .exe file or .msi file) for the installing app. Not the .appinstaller that visual studio 19 produces. Something like Inno Setup produces.
Is any of this possible?
If so, please give me some sample code/instructions/links. I would be very thankful for any advice/points in the right direction as well!
If not, please suggest what other language/framework I should use to accomplish these tasks (Is "tasks" the right word?). I don't mind learning anything and have unlimited time. Don't care about the learning curve either. (If I need C++, I will do it. ONLY IF I NEED IT!!!)
Thanks all!
P.S. I know about WPF or WinForms. I don't want to use them because of their age.
As the Rob Caplan said, PackManager class doesn’t support uwp app, it is suitable for desktop app. So maybe you need to create a wpf app and use Desktop bridge to package it into uwp app so that you could use this api. In addition, you could find the sample here about installing appx package, its parent directory Windows-classic-samples/Samples/ also contains other samples you need, such as PackageManagerRemovePackage, etc, please check it.

Console apps like cmd edit

Is it possible to create console apps like the Edit app in CMD with visual basic or C#? I want the program to respond to mouse input, have menubar, mssgboxes and windows.
Yes, this is possible! Instead of doing it completely from scratch, check out Curses Sharp. It is a wrapper for the curses library, which helps in building applications like this.
I must admit though, I have never used it. Please let us know how it goes.
Console API provided with .NET is not suitable for that sort of development. You'll need to do lots of P/Invoke to the platform console API. I would really suggest WinForms/WPF if you need GUI.
If you really want to do it anyway, you'll need to implement low level mouse/keyboard hooks. This will get you started: http://blogs.msdn.com/b/toub/archive/2006/05/03/589468.aspx
If you want it to run on DOS, you can't (because C#/vb.net don't run on DOS). If you want it to run on Windows, I think you're better off using Windows Forms or WPF.
To answer your question; it is probably possible but it would take an enormous amount of work and for the above reasons I don't think it would have any payoff.

Is it possible to embed Windows Sidebar Widgeds in own .Net Application

I'm trying to embed Windows-Sidebar-Widgets into my own .Net Application (WPF and C#), but I dont't realy know where to start. I googled a bit but only found SDK and tutorials for widget-development. I found that there is a small service in Windows, running the widgets. My thought was that I could perhaps fake this service and provide his functions whithin my programm, so that I can run and show the widgets.
Does anyone have some tips on how to do this? Or some experience in doing so? Perhaps there is even some kind of libary for that kind of stuff?
If this is not possible it is also an option to switch to an OpenSource widged-manager to use this widgeds, but this is only an emergency solution and the windows-gadgeds would be very appreciated.
Some information about my system:
I've written some kind of small windowmanager for childwindows in my application. And on the top of this I want to show the widgets in some kind of HostWindow.
Any hint will be appreciated.
P.S.: I would be willing to share the results if I (or we) get this working :-)
I've never seen a library for hosting gadgets, but since they are basically just websites you could use the MSHTML component to host any arbitrary gadget in theory.
This isn't to say it will be easy.
You'll need to extract a gadget to some temporary directory, spin up something hosting MSHTML (in WinForms WebBrowser would be convenient), navigate to the appropriate file in that temp directory (discovered by parsing gadget.xml), and shove something resembling the System object into the gadget.
As a starting point, inject some script that sets System = window.external; onload and WebBrowerser.ObjectForScripting = new FakeGadgetSystem().
FakeGadgetSystem will need [ComVisible(true)] and to implement a decent amount of stuff. I'd advise grabbing a widget or two to test with that mildly exercise the Gadget API, and then slowly implement the calls they make. It'll be a long haul for 100% compatibility with the official gadget hosting service.

An embedded application for windows desktop using .NET platform?

I'm rebuilding an Embedded application:
Prebuild application Specifications:
Use : For dispaying the captured images/video from microscope image capturing device on windows based PC or Laptops.
Sepcifications: Prebuild on .NET plateform using VC++
Flaws : Lacks some specified features.
Current Requirement:
Want to rebuild that entire application using C# and add some additional client features.
My Questions:
Is it feasible to develop such application in C#.net?
If yeh,What kind of resources available in C# to develop desktop embedded application?
Any references which show any of such kind of application?
Your suggestions on building this kind of application.
P.S. It is essential to buid it on .NET platform.
I think by "Prebuild" you mean "Existing". Why do you want to rewrite the complete application? As you have stated that the application is written in C++.Net. You can easily add all the new functions in C# and use that code from your existing C++.Net code.
Note: I'm making this answer CW because the question is hard on the limit towards some close reasons. Everyone feel free to edit and extend it.
Is it feasible to develop such application in C#.net?
That's a tough one...from the top of my head I'd argue that it doesn't matter. If you know C#, then build it in C#, if the client wants it in C#, then build it in C#. You'll most likely have to use COM-Components or API-Invokes anyway to accomplish this.
If it is a TWAIN device, you might be better of to stick with VC++, I found TWAIN on .NET a real pain in the a** and have given up on such features. Same goes for WIA, but that might just be me.
If yes, what kind of resources available in C# to develop desktop embedded application?
I guess you mean a Widget? In that case I have no idea, I never really looked at that (at least not on Windows). But as far as I know widgets on Windows consist of a data-backend and a HTML/JavaScript-Frontend, so you'll most likely have to develop the two separately.
Any references which show any of such kind of application?
I guess any WIA/TWAIN application would be a reference, at least your description sounds so.
Your suggestions on building this kind of application.
See your first question.

How to read installer shortcuts with C# (WPF)

Background: I've decided to teach myself C# through WPF, and I'm writing a small application that needs to get a list of Start Menu shortcuts and their targets and store them. Basically, I'm trying to take all the shortcuts and put their target applications' paths into memory. However, I've run into a problem trying to read Windows Installer shortcuts (the ones that point to something like C:\Windows\Installer\{90120000-0030-0000-0000-0000000FF1CE}\wordicon.exe -- Microsoft Office is a good example of this). I did some research and it seems that Windows uses some behind-the-scenes magic involving the Registry to find the actual location of the file.
Question: How can I get the actual target of these Windows Installer shortcuts in C#? A lot of sources I've found point me to the IShellLink interface, but I don't know how to use it with C#. I'd prefer to use Windows API calls (or, even better, a .NET library) instead of manually looking through the Registry, but I'll take any guidance on the issue.
After doing more research, I found an easy answer here. It's basically using a combination of the MsiGetShortcutTarget and MsiGetComponentPath functions of msi.dll.
I'm afraid IShellLink IS the Windows API for using shell links! The Shell API is heavily COM-based.
But the good news is that COM interop works very well in .NET. This site is usually a very good resource:
http://www.pinvoke.net/default.aspx/Interfaces/IShellLinkA.html

Categories

Resources