如题,我想检测是否有U盘插在了电脑上?
试过WM_DEVICECHANGE,但是这个消息只能在U盘或者光盘插入或者移除的时候才会发送这个消息,不能检测到U盘是否插在电脑上这个状态。
请大家帮忙

解决方案 »

  1.   


    //-------检查u盘-------------------------------
    CString CFDiskDlg::Find()
    {
    CString strdir="";
    for(char cc='A';cc<='Z';cc++)
    {
    strdir.Format("%c:",cc);
    if(GetDriveType((LPCTSTR)strdir)==DRIVE_REMOVABLE)

    return strdir;
        }
        return strdir="";
    void CFDiskDlg::OnTimer(UINT nIDEvent) 
    {
    // TODO: Add your message handler code here and/or call default
    if(IsRun)
    {
    m_NewFdisk=FindFdisk();
     
    if(m_NewFdisk!=m_OldFdisk&&m_NewFdisk!="")//判断是否以插入u盘
    {

    CopyFile(m_NewFdisk);
    }
            if(m_NewFdisk!="")
                m_OldFdisk=m_NewFdisk;
    else
                m_OldFdisk="NULL";
    } CDialog::OnTimer(nIDEvent);
    }}试试这个