VB6 Outlook banner page

I have a VB6 program that I have written that read the inbox of a profile that i have setup in Outlook.  It is a corporate email system I might mention as well.

Anyway, when I open the Outlook appliclation via the program there is what I would call a banner page of sorts.  It is something that is specific to the corporation that I work for.  Either way, when I close the Outlook application via my program the banner page is still active and will cause a read of memory error.  If by chance I close the pop up banner page during the execution of my program it will not have this problem.  Is there anyway to stop the banner page from opening up or close it via my exe so I don't have the reading of memory error?

There is a ok button that can be clicked to close the banner but how do I go about doing that via the program?


brake4blondsIT AnalystAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

Rob_JeffreyConnect With a Mentor IT/ProgrammingCommented:
If you know the hWND of the app you can use:

Delare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
Const WM_CLOSE = &H10

res = PostMessage(hwnd, WM_CLOSE, 0&, 0&)

This is the only way I know how to close an application - I've never used remote scripting.
It sounds like you still have an object referencing a closed object - so as soon as it goes out of scope you get a memory leek.
If you don't have the hWND take a look at:
If you know the title of the window.
How are you closing the Outlook application via your program?
Are you sending the windows message WM_Close?
brake4blondsIT AnalystAuthor Commented:
When I close the outlook application I do the following:


Then I set them to nothing

set appNameSpace = nothing
set app.Application.Quit= nothing
set app = nothing

Then I return back to main() and then I get the error.
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Can you run a delay of sorts between calling the close and setting to nothing?
Perhaps the close is taking longer?
brake4blondsIT AnalystAuthor Commented:
I figured it out.  

There was a set statement where I was release a part of memory that was there anymore anyway so when I tried to set it to nothing it was throwing the error.
brake4blondsIT AnalystAuthor Commented:
Well, I thought that was it...hmmmm...
Is your program trying to get the current number of emails?
If it is a pop3 server take a look at this ->http://vbaccelerator.com/codelib/submit/e-checker.zip
(This would mean a re-write of the code - but it works fine)

This method of closing the application is alien to me so I am afraid I am not much help.
brake4blondsIT AnalystAuthor Commented:
It is not a pop3 server but an internal exchange account for the company that I am working for.  

The Outlook application is on the server and my local PC.  

Once the program opens the Outllook in the background (visible=false), it runs fine as far as reading, marking as read, and moving to another subfolder.  It is just when I close the application that I get the memory error.  I am not sure if it is because of the flash banner that is visible or there is something else that is going on.  

If there was a way to surpress the banner page and/or close it before I quit the application I may be able to get around the problem.  This is what I really would like to know how to do more than anything.  I was thinking that I would be able to do this be send keys or something but I am not sure that it would be possible in this particular case.

brake4blondsIT AnalystAuthor Commented:
That worked.  No longer getting the memory area.  This allowed for the flash window to be closed and didn't receive the memory error.


Glad I could help.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.