WIndows Mobile full screen problem - c#

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.

Related

Is it possible to develop a lockscreen for windows 10 using c#

Hi i have windows 10 Pro x64 bit and i will like to know if it's possible to develop a lock screen for windows 10 , without using hacks or not safe methods .. That will close the Pc monitor until a key is pressed .
I search the google but i did not find anything about that , other than how to disable it or how to change the background image of the already existing one
No, it is not possible.
The authentication experience in Windows is locked-down, for good reason. The system can be extended (previously using GINA for NT4 through XP, now Winlogon) but only really to allow for new authentication providers, not to change the user-experience.
Of course, you could always build your own full-screen application which mimicks a login screen, and it could be used to invoke the login action and create a session for that user, but if I press Ctrl+Alt+Del on my keyboard or WinKey+L, or choose any of the Logoff options from the start menu then I'll still get the "real" login screen, and that's by-design.
Historical note: Windows XP added the 'Welcome Screen' UX for computers that were not domain-joined. The Welcome Screen UI was a regular userland process which invoked the platform APIs for logging users on and off, and it was loaded into the special local login session. Hypothetically it was possible to replace this screen with another one completely, though I don't believe I ever saw anything beyond a proof-of-concept. There were third-party tools that customized the appearance of the login screen, but they worked by replacing image resources, they didn't actually replace the executable.
...but since Windows Vista the login experience was more controlled and I believe (correct me if I'm wrong) it's all controlled by the core authentication components, so it just isn't possible to replace it - not without seriously modifying the entire Windows security system.

can my windows phone application auto start?

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.

WPF application that claims desktop real estate similar to windows taskbar

I'm building a WPF application that is designed to act as a notification toolbar for sending messages to users of an enterprise software platform. It's a bar that is a specific height, stretching all the way across the bottom of the user's desktop, sitting directly above the Windows taskbar.
What I'd like to do is to have my application "claim" or "reserve" the space it takes up and not allow any applications to load behind it. For example, if you were to resize your windows taskbar and make it larger, it will move icons and shortcuts, and maximizing windows will only use the desktop area that is not already being used by the taskbar.
Any idea how this could be pulled off? It's already set to be the topmost item on the desktop, so that's not my question. Right now if you opened another app and maximized it, then the bottom X pixels will be hidden behind my toolbar application.
(Note that I've added Windows 7 and Windows XP tags - I'd love to be able to implement this functionality on WinXP and up, but if I'm not able to do so on a particular version or versions, I can come up with a workaround)
These are called AppBars in Windows and you can use the SHAppBarMessage function to "dock" your window to a side of a monitor. Then other windows, when maximized, will not obscure the docked window.
Here's a link to a similar question that has more information, including a link to a CodeProject page that walks you through creating one.

Windows 7 DWM weirdness

I'm looking to write a FOSS "Alt+Tab" replacement (window switcher) for Windows, since there are a few features I feel it's (still) lacking; but I'm noticing two quirks I can't seem to fix:
#1. (Somewhat Unrelated) In the default Windows 7 window switcher, one computer allows left clicking on a thumbnail to focus the window; however on another, similarly specced computer, I have to use a right click. The only difference between these two fresh installs is the theme. Any ideas?
#2. (Directly Related) In both the default Windows 7 window switcher and the DWM API output, minimized windows often have no thumbnail, and instead show only the taskbar. This has been a long running problem with the Windows API, and in the past I've seen the popular recommendation being "restore (un-minimize) the window, take a screenshot, then re-minimize" - but this is sloppy and causes flickering, etc. Has anyone done this successfully using the newer DWM API?
If sharing code, I'd prefer C# syntax, but VB.NET will do as well. Thanks!

Suppressing OS Messages in Windows Mobile 6

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

Categories