I realize this might sound a little dubious but I assure you it isn't. I have a client who wants a win 8 pro touch screen app. One of the requirements is that the app is the only thing on the device the user may use. So my question is, can I make it so that the user cannot exit my wpf application? I have it running full screen without toolbars but they could still click on start etc. I essentially want it to run on windows but kind of be its own OS. Any advice is appreciated. Also if this is something that can be handled in group policies or some other way I would love to have that advice as well. Thank you.
You'll need to set Windows 8.1 to run in "Kiosk" mode.
How to enable Kiosk mode in Windows 8.1
The only caveat, is that the app must be a Windows modern app, not WPF.
Windows 8.1 comes with an excellent feature where you can lockdown the
device allowing the user to use only one application. You need to keep
in mind that this application needs to be a modern application and
cannot be a desktop application. So, if you are going to use it for
your customized company application (For e.g. ATMs, Flight Schedule),
the application should be a modern application
There is a product called "Secure Lockdown" from Inteset http://shop.inteset.com/lock-down-windows-7-with-inteset-secure-lockdown that looks like it can be used with a WPF app. I've not used it (yet), but it looks like it should work for your scenario. It's not free, but it reasonably priced at around $20. It says it is compatible with Windows 8 as well.
Related
I'm developing a Windows 10 Universal app (UWP).
Is it possible to set application as TopMost (always on top)? Like WPF or Winforms (TopMost property).
Thanks
A feature called CompactOverlay mode was added in the Creators Update that supports this type of functionality. When an app window enters compact overlay mode it’ll be shown above other windows so it won’t get blocked. This allows users to continue to keep an eye on your app's content even when they are working with something else. The canonical example of an app taking advantage of this feature is a media player or a video chat app.
A blog post describing the feature can be found here
https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/
Short answer is no, there is no way as of today to make the application modal.
There is a petition going around asking for this functionality, which was requested last December but given the amount of votes it got (35 at the time this answer was written), it doesn't look like it will be taken into consideration anytime soon.
As mentioned in the comments, this functionality would be PC only so even if it was added, my assumption would be that it wouldn't work outside of the PC mode (so no tablet, mobile or surface family device support).
It's not possible UWP apps have some restrictions compared with WPF of Win32 apps(classic apps).
With uwp apps you need enable some capabilities to do something special in your app as you can see in the link uwp apps need ask for permission or they can't access or modify files directly.
https://msdn.microsoft.com/en-us/library/windows/apps/mt270968.aspx
Best Regards
I'm developing a Windows 10 Universal app (UWP).
Is it possible to set application as TopMost (always on top)? Like WPF or Winforms (TopMost property).
Thanks
A feature called CompactOverlay mode was added in the Creators Update that supports this type of functionality. When an app window enters compact overlay mode it’ll be shown above other windows so it won’t get blocked. This allows users to continue to keep an eye on your app's content even when they are working with something else. The canonical example of an app taking advantage of this feature is a media player or a video chat app.
A blog post describing the feature can be found here
https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/
Short answer is no, there is no way as of today to make the application modal.
There is a petition going around asking for this functionality, which was requested last December but given the amount of votes it got (35 at the time this answer was written), it doesn't look like it will be taken into consideration anytime soon.
As mentioned in the comments, this functionality would be PC only so even if it was added, my assumption would be that it wouldn't work outside of the PC mode (so no tablet, mobile or surface family device support).
It's not possible UWP apps have some restrictions compared with WPF of Win32 apps(classic apps).
With uwp apps you need enable some capabilities to do something special in your app as you can see in the link uwp apps need ask for permission or they can't access or modify files directly.
https://msdn.microsoft.com/en-us/library/windows/apps/mt270968.aspx
Best Regards
Is there a way for my application to auto-start after some time instead of a notification? Or am I constrained to just notifications?
The difference between Android and Windows Phone (you mentioned Android in your comment) is that Android allows you to do pretty much everything while Windows Phone is a very restricted system. So, unfortunately, the answer is no. (There are ways to launch your app from other places than the app's tile, though. See the end of the answer)
Why am I saying unfortunately? Of course, Windows Phone is a nice and seek operating system that runs wonderful even on low-spec devices like the Lumia 520. But that doesn't mean developers shouldn't get the freedom to interact with the Operating System and do innovative tasks.
But there are reasons Microsoft chose not to allow Autostart (or at least, restrict the area an app can access, not the autostart in particular):
it may irritate customers. Even if you show a message box, many customers just dismiss it without reading it and they wouldn't understand why an app would appear without their interaction
each feature would make the operating system slower and bigger. I don't want to say that an autostart makes the phone unusable, but here's a question: Do you need to run a registry cleaner on you PC from time to time? Yes, you do need to do so You even need to reinstall a PC form time to time. You don't need to do that on a Windows Phone. It just works and will always work (OK, that's maybe a bit too optimistic, but you get it...)
I also don't think an autostart is particularly useful on a mobile. Because each app runs full screen, the system would boot up to your app instead of to the start screen. I don't think the user will always want your app (most of the time, he'll want to look at his start screen or launch another app), so it would just be annoying. On a PC, you can use the auto start for small programs that should run in the background (for example, I've got a progamm that provides Git with my SSH keys that automatically starts up each time).
But as I mentioned above, there are other ways to launch your app. Using url schemes can be surprisingly powerful as you can put a button on a web page that will directly launch your app. Other apps will also be able to launch your app. But as it is not directly what you wanted to know, I won't explain it in detail and instead provide you wiht a gread link to msdn: Auto-launching apps using file and URI associations for Windows Phone 8
For such features you should look into: Windows Embedded 8.1 Handheld instead of the consumer version Windows Phone 8.1.
Ok, I have a question to which, despite my best efforts, I have not been able to solve. I searched the internet, and this is one of those that is particularly difficult to search for, but it seems that no user of Windows 8.1 nor any developers developing for Windows 8.1 has posted to any website asking how to do this (I could be wrong, of course).
What I am trying to do is make a Windows Store app targeting Windows 8.1, that takes advantage of multiple Windows. To see what I mean, open up metro ie, right click on a tab, and click "open in new window." This is also in the mail app, where you can open a single message in another window, which behaves like a separate app, and can be snapped like so. It's a new feature of the Windows 8.1 OS.
But I can't for the life of me figure out how to do it in C# and XAML. Does anyone know how? Thanks.
Alex
There are new APIs in Windows.UI.ViewManagement, namely the ApplicationViewSwitcher and ProjectionManager classes. The former is for working with multiple independent views that the user can arrange side by side on whatever monitors they have, which is what IE and Mail use; the latter is for working with multiple monitors.
See the Application Views sample along with the Projection sample for working both scenarios in code.
Might be bit late with my answer, nevertheless I had your similar apprehensions about the "Dismal Support Refs" for this subject, when I first began searching the topic. However I have been able to overcome this and use the feature in my apps. There are some good refs available; The Windows Dev Centre has a Quickstart ie "Quiskstart Creating Multiple Windows", a Good guide is the "MultipleViews" Sample, With the following providing additional support.
1) "Be two places at once using multiple windows" at
https://blogs.windows.com/buildingapps/2014/01/09/be-two-places-at-once-using-multiple-windows/#pBHiQtDSPFrCA7Gv.97
2) "MultipleViews for Windows 8.1 apps" (parts 1-3)
http://www.kraigbrockschmidt.com/2013/11/21/multiple-views-creating-view/
BQ at WATERVIEW
I need to set the Windows 8 Application Launcher to launch my WPF application as guided here: http://msdn.microsoft.com/en-us/library/dn195617(v=winembedded.81).aspx
Is it possible or does it have to be a Windows 8 App (instead of a regular WPF application)?
If its not possible, how difficult would it be to migrate my WPF application to a Windows 8 App format?
Couldn't i simply package my WPF application with an AUMID?
Important: The Windows 8 Application Launcher also has a KeepAlive option in Windows Embedded. I need it to keep my application alive as well incase its closing so a good solution would include this as well. Of and i'm using ClickOnce for auto-update my WPF application and i would like to keep this functionality too.
your example is for win 8 Embedded and only for apps. There you have the possibility to startup directly an app.
I think there is still startup possibility for your wpf application on normal Windows 8 devices.
Maybe you have to disable metro on startup. Here is a complex tutorial about this. In Win 8.1 there will be a simple option inside the properties of the taskbar.
Judging by the page you linked, it seems you are out of luck. Only Windows 8 apps are mentioned. But maybe there is another mechanims to auto start desktop applications?
The difficulty of migrating a classic WPF desktop application to a Windows 8 ("Store") app depends on the kind and content of the application, ranging from simple to impossible.
Windows 8 apps are sandboxed and cannot do everything a desktop application can, they have a different lifecycle and different UI/UX principles (you probably need to redo your UI from scratch). .NET and XAML for Windows Store Apps look like .NET and WPF for desktop applications, but there are many surprising details and strings attached, possibly complicating a direct port.
Application Launcher is for Windows Store Applications only. However you can achieve the same effect with Shell Launcher for any executable.
Have a look at these two links here:
http://msdn.microsoft.com/en-us/library/dn195623(v=winembedded.81).aspx
http://technet.microsoft.com/en-us/library/dn451259.aspx
Let me know if you need additional help.