Showing posts with label Antivirus software. Show all posts
Showing posts with label Antivirus software. Show all posts

11 April, 2018

Prevent Leaving An Icon In System Tray On Program Exit

The Windows 7 taskbar shows a preview of the w...
The Windows 7 taskbar shows a preview of the window. (Photo credit: Wikipedia)
11-April-2018


Prevent Leaving An Icon In System Tray On Program Exit. I had a problem with one of my applications about this. I was able to minimize it to System Tray. The App Icon was removed from the Taskbar, alright. But when the application was restored and closed, the icon remains in the System Tray. What's worse, I didn't notice it!

This was complicated by the fact that I did a routine cycle of closing and opening the program using scripts and some free apps downloadable from the internet, so that for a period of time, System Tray was filled up with icons of the same program, all N-1 of which are invalid handles!

I got a good scolding from my boss about this. Why? When I researched this problem, I found out that it is a prevalent issue. There are a number of forums that discusses the same exact problem, as obviously, I am not the only one having it. No, I am not the first one, and I will not be the last.

What did I find? That it was, and it remains, an issue by MS. Yep. The software giant company MS. They have it as a bug, and it still isn't fixed. The full details, I cannot tell here. But if you are interested, and if it happens to you in the future, you will know and understand what I mean.

Of course, there were suggestions presented in the forums to remedy the situation, and some of them I actually followed. Unfortunately, they didn't work perfectly for me. That is why so many icons still get left behind. And worse, this was implemented in one of our customers. Customer complain, that is what I got. That is how I got a good scolding. What's the point? I followed and applied in my code something that is 'wrong'. Yeah, I kinda missed that.

Anyway, how was that problem remedied?

This is the surprising this. It really is very simple, and it isn't something hidden.

In the FormClosed event, put (or add) these lines:

myNotifyIcon.Icon = null;
myNotifyIcon.Dispose();
Application.DoEvents();
if (Application.MessageLoop) {
    // WinForms app
    Application.DoEvents();
    Application.Exit();
}
else {
    // Console app
    Environment.Exit(0);
}

Surprising, isn't it? You gotta try it to know it! And with that, You should be all set. Prevent Leaving An Icon In System Tray On Program Exit.

Till then!

[Late posting; drafted on 18-October-2017]


23 November, 2014

Printing problem in Crystal Reports for VS2005 - SOLVED!

Crystal Reports
Crystal Reports (Photo credit: Wikipedia)
23-Nov-2014


A week or so ago, I had my old work desktop PC formatted and installed with Windows 7. I opted for that because I don't want any leftovers from previous users cluttering up my work. Say I'm fussy, but that is me. At least I can safely say, if ever the time comes that I leave the company, that they can format the hard disk drive, without ever worrying about 'others' having leftover files in the HDD of the PC that I used for X number of years.

Now, that new Windows 7 OS is sure better than XP Professional SP3, and while I am able to make use of the better hardware and better OS, in that the very reason why I had the Windows 7 installed after a format is that the hardware is better, even when it was running Windows XP. Yap, there was another desktop PC involved. I had a swap. I had the faster PC for a swap, and requested for a total clean sweep of the hard disk, which mandated the installation of Windows 7. I didn't know that, but it was a pleasant surprise - when I was told that due to the formatting of the hard disk, I will now be getting Windows 7 instead of Windows XP. I said, "Err... okay!"

When all applications have been reinstalled back, I discovered that the main software I use in my daily work is getting a problem: it wasn't able to run Crystal Reports, or to be precise, all sections work, except the Crystal Reports form.

When that problem was fixed, a new one came about: printing function. All else, like exporting, viewing pages, etc., work. I was stuck, as again, printing the generated report was a mandatory part of the process flow that I call work.

I asked for help, which didn't easily come. I figure, I had to do it on my own. And that was even harder because I don't have internet access at work. I should say it is hard, but I feel safer and more comfortable, with much ado about wasting time browsing while working, etc., etc. So I do my web seraching at home, then attempt all solutions and resolutions when I come back to the office.

To cut to the chase, here's what I did, and unfortunately, I am not quite sure on the exact item that fixed the problem. And yes, I am using Windows 7 64-bit OS. Sadly, some of the articles that I checked insisted that it has nothing to do with the bit-ness of the OS of the client, or the local PC, but the bit-ness of the server. That is contrary to my experience.

  1. I turned on .NET Framework 3.5 through the Control Panel, Turning Windows features on or off.
  2. I installed ReportViewer.exe
  3. I installed cr_net_2005_x86.msi
  4. I installed CRRedist2005_x86.msi
  5. I installed CRRedist2005_X64.msi

Five items, and I didn't know which one did the fix. So I suggest that if you are following my method, help me out by doing one-by-one, and noting which one does the fix, so I can update my post.

Hope this helps somebody, as it did me.

Till then!