I'm currently working on a C# app targeted for Windows Mobile 6 devices that will run in kiosk (being well aware that WinMob 6 isn't the greatest platform for kiosk apps). I can move the taskbar off of the screen, but in certain conditions, the operating system will show a message/status box (for example, when ActiveSync starts up, it shows a dialog with the status of the connection process). Is anyone aware of a way (either via code or registry settings) to suppress these sorts of messages?
Thanks.
You can periodically check when those message boxes appear and close/destroy them using WM_CLOSE/DestroyWindow respectively.
Besides you can try SureLock Studio which handles these messages and many other situations to simulate kiosk mode.
If your project has the budget consider looking at Spb Kiosk Engine
Related
We have a service to manage some custom desktops using the user32.dll SetThreadDesktop and SwitchDesktop methods. Everything has been working well until Windows 10 version 1709 arrived.
With this Windows 10 version (or later), when EnableLUA is activated (when we have a custom desktop active), if the user locks his session, the winlogon desktop doesn’t appear and our custom desktop remains visible (though it isn’t possible to interact with it) until the user presses the combination CTRL+ALT+DEL.
It seems like the winlogon desktop is not able to stay topmost over our custom desktop. I didn't find any information about this, so is this a possibility? Could anything else be going on?
PD: Same scenario on Windows 10 version 1607 device works well.
Microsoft recognized the bug and they will solve it. The error is reproducible with the Sysinternals Desktops tool (currently belonging to Microsoft).
Waiting for an update that fix it...
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.
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.
I have a windows mobile professional 6.1 application and I want it to be full screen in all pages so I put the code below into my every pages constructor;
this.WindowState = FormWindowState.Maximized;
this works OK but "sometimes" for example when I use
MessageBox.Show("alert");
or when I try to connect internet within application and there is a problem and Windows shows me some messages popping up from the top of the screen..in this cases I lose my full screen and the top menu bar of windows becomes visible again..
any ideas?
You can use SHFullScreen to hide the start icon and other system areas of the screen. There is an undocumented function named AllKeys which will allow you to block some of the hardware keys (notes, recorder, green + red phone keys) from running. It will require a lot of work because there are many ways to run programs and the taskbar has a habit of reappearing after a program is run. Simply calling SHFullScreen once is not enough. You'll have to handle WM_ACTIVATE messages and call SHFullScreen again and force your program to the top again. It's a struggle against the operating system to have a true kiosk application on Windows Mobile.
Getting an app to "kiosk mode" in Windows Mobile is challenging becasue the platform simply isn't designed for it. This page has a lot of links to resources of getting it working. Using your favorite search engine to look for "compact framework kiosk mode" is likely to bring up more as well.