CD Change Notifications

Environment: The demo was written using Visual C++ 6.0

Getting Notification of CD-ROM Insertion or Removal:

Some Win32 applications need to know when the user inserts or removes a compact disc from a CD-ROM drive without polling for media changes. Windows NT provide a way to notify these applications through the WM_DEVICECHANGE message. This article explains how to handle the WM_DEVICECHANGE message to detect CD-ROM media changes. Furthermore is describes a way to cancel Autoplay application using the QueryCancelAutoPlay event.

Download demo project - 18 KB

Date Last Updated: April 4, 1999



Comments

  • From an ActiveX control?

    Posted by Legacy on 07/08/2003 12:00am

    Originally posted by: Mike

    How can I get the WM_DEVICECHANGE message from within an ActiveX control?

    Reply
  • To make this work in MFC is quite simple

    Posted by Legacy on 08/20/2001 12:00am

    Originally posted by: Uday A. Prabhune

    I made MFC dialog application named CDChange.
    
    The application class is CCDChangeApp.
    The dialog class is CCDChangeDlg.
    The application should stop CD autoplay as long as the application is running. For this to work following things need to be done:

    1. In the CDChangeDlg.cpp file, add-
    const UINT WM_AUTOPLAY = ::RegisterWindowMessage(_T("QueryCancelAutoPlay"));
    2. In the message map in CDChangeDlg.cpp add this
    BEGIN_MESSAGE_MAP(CCDChangeDlg, CDialog)
    //{{AFX_MSG_MAP(CCDChangeDlg)
    ...
    //}}AFX_MSG_MAP
    ON_REGISTERED_MESSAGE(WM_AUTOPLAY, OnAutoPlay)
    END_MESSAGE_MAP()
    3. In the CDChangeDlg.cpp, add the OnAutoPlay function.
    BOOL CCDChangeDlg::OnAutoPlay()
    {
    return TRUE; // Cancel autoplay
    }
    4. In the CDChangeDlg.h file, add OnAutoPlay function declaration.
    class CCDChangeDlg : public CDialog
    {
    ...
    BOOL OnAutoPlay();
    }

    That is it. When a CD is inserted, OnAutoPlay function is called which cancels the CD autoplay.

    Reply
  • how to get second cd rom notification

    Posted by Legacy on 09/19/2000 12:00am

    Originally posted by: craig

    It seems the sample works only for the first cd-rom drive. what if i have a second cd-rom attached on the system and i need to get notification about it? any suggestion is appreciated.

    Thanks.

    --Craig

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

Top White Papers and Webcasts

  • The explosion in mobile devices and applications has generated a great deal of interest in APIs. Today's businesses are under increased pressure to make it easy to build apps, supply tools to help developers work more quickly, and deploy operational analytics so they can track users, developers, application performance, and more. Apigee Edge provides comprehensive API delivery tools and both operational and business-level analytics in an integrated platform. It is available as on-premise software or through …

  • Java developers know that testing code changes can be a huge pain, and waiting for an application to redeploy after a code fix can take an eternity. Wouldn't it be great if you could see your code changes immediately, fine-tune, debug, explore and deploy code without waiting for ages? In this white paper, find out how that's possible with a Java plugin that drastically changes the way you develop, test and run Java applications. Discover the advantages of this plugin, and the changes you can expect to see …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds