Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Run a C# .NET Compact Framework Application in Background

Posted on 2008-09-30
6
Medium Priority
?
4,174 Views
Last Modified: 2013-11-17
Hi,

I am writing a SMS/Contact backup application, it need to run in the background (may be with an icon in the notification area)? What can I do to achieve it? Say FormBackup need to stay in memory, with a timer, that checks for new SMS etc and does the backup. How can I prevent user from clicking the X button to close it, and only Hide the form.

Thanks
0
Comment
Question by:retinax
  • 2
  • 2
5 Comments
 
LVL 15

Expert Comment

by:angus_young_acdc
ID: 22603783
In your Form_Load put the following:

            this.ControlBox = false; // Hides the minimize, X etc at the top of your form
            this.Hide();             // Will hide the form
0
 

Author Comment

by:retinax
ID: 22603898
Ok cool, thanks.

Any idea on the Notification area icon thing?

0
 
LVL 11

Expert Comment

by:dbrckovi
ID: 22613698
Create NotifyIcon and ContextMenuStrip controls on the form.
Set setNotifyIcon's ContextMenuStrip property to your context menu.
Set NotifyIcon's Icon property to icon of your choice and set it's Visible property to true.
Create a 'Show form' menu in your context menu strip and fill it with this code:



        private void showFormToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.Visible = true;
        }

Open in new window

0
 

Author Comment

by:retinax
ID: 22615125
Thanks, are those controls available only in WM6 professional sdk not standard edition??
0
 
LVL 11

Accepted Solution

by:
dbrckovi earned 1600 total points
ID: 22615959
I'm sorry for wrong information. I didn't see you were programming in Compact framework.
However you can download notifyicon example for Compact Framework from this page:
http://www.microsoft.com/downloads/details.aspx?familyid=5a8384c0-34a5-47d1-bb50-e5e261288ae3&displaylang=en

Unfortunately I didn't manage to make it show the icon in Pocket PC emulator, but maybe it will work on other version of OS's or on a real device.

You can use it in your project by importing NotifyIcon.cs file, adding reference to Microsoft.WindowsCE.Forms, and using code in code snippet.

I hope this helps.
        private NotifyIcon notifyIcon;
        
        public Form1()
        {
            InitializeComponent();
 
            notifyIcon = new NotifyIcon();
            notifyIcon.Click += new EventHandler(notifyIcon_Click);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            IntPtr hIcon = LoadIcon(GetModuleHandle(null), "notify.ico");
            notifyIcon.Add(hIcon);
            this.Hide();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            notifyIcon.Remove();
        }
 
        [DllImport("coredll.dll")]
        internal static extern IntPtr LoadIcon(IntPtr hInst, string IconName);
 
        [DllImport("coredll.dll")]
        internal static extern IntPtr GetModuleHandle(String lpModuleName);
 
        private void notifyIcon_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Icon Clicked!");
        }

Open in new window

0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
How can you see what you are working on when you want to see it while you to save a copy? Add a "Save As" icon to the Quick Access Toolbar, or QAT. That way, when you save a copy of a query, form, report, or other object you are modifying, you…
Suggested Courses

577 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question