Open Source Messenger for Any Version of Windows

Environment: VC6, WIN XP SP1

While I was writing a LAN (Local Area Network) chat program, I noticed that many people on my LAN use different programs for message sending and that not all of them are compatible with other programs. The second problem I noticed was that many of them don't work on Win95/98. So, I decided to add this functionality to my program. I started to search for a universal method for all Windows versions and most message-sending programs and I discovered that the best solution is to add a MAILSLOT mechanism to my program (along with some others). The first place I searched was MSDN and CodeGuru, but I didn't find any complete solution. That's the main reason I wrote this article.

I wrote a function that writes to the mailslot (I saw how to do that on CodeGuru) and a simple class that reads from the mailslot (I found many explanations and put all of them together—mostly from "PJ Naughter"). I also wrote a simple project so you can see how to link these two things and put everything in the right places.

Here are the steps you need to do:

  1. Add "mailslot.h" and "mailslot.cpp" to your project.
  2. Create a CMailSlot instance in your main class (for example, m_serverMailSlot).
  3. Add an OnTimer event to your project and somewhere set the Timer. For example, you can do that in OnInitDialog():
    SetTimer(timerID, 2000, NULL);    //this is for 2 seconds
  4. Create a CheckForNewMessage() function. That is the place where you will be calling an m_serverMailSlot.Read() function.
  5. In the OnTimer() function, call the CheckForNewMessage() function, which will check for new messages and display them (if there are any waiting).

That is all. I know that there are better ways to send messages, but this is the most-used method so you will be able to receive messages from many different programs and to use it on any Windows operating system.

If you have any questions or need some extra help with this, e-mail me... If there are any suggestions or comments, you are most welcome to contact me, too.

You can download "mailslot.h", "mailslot.cpp" (contains CServerMailslot), and "sendfun.txt". You can also download the sample project and executable file.

Downloads

Download executable - 72 Kb
Download demo project - 32 Kb
Download source - 3 Kb


Comments

  • Nice! But one question...

    Posted by Legacy on 03/05/2003 12:00am

    Originally posted by: VaKa

    Your App nice and very helpfull for me in understanding mailslot messaging.
    
    

    But I noticed that if I send a message from one PC to another, second PC receives that message multiple times.
    (in described case one PC running Windows NT4, another - Windows 98)

    Can You help me in understanding that?

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • The mobile market is white hot. Building a well-crafted product development plan that addresses market research, strategy, design, and development will provide the greatest chance for success. Each phase of an app's lifecycle is critical to the its overall success and feeds into the next step of the process of product development for the app. This white paper examines the five key phases of mobile app creation, one by one, to understand how they work together to help create a successful mobile app.

  • Remember getting your first box of LEGOS as a kid? How fun it was putting the pieces together, collaborating with your friends to create something new? Now, as an IT professional, assembling and maintaining a Lego-like collaboration infrastructure isn't what you signed up for. Piecing together disparate systems of record for email, web meetings and other applications is about as painful as stepping on a pile of Legos. Download the e-book to learn how implementing a collaboration system connects systems of …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date