谁知道复制了一个文件后,在自己的程序窗口里按了ctrl + v后,怎么得到这个文件名吗?

解决方案 »

  1.   

    使用DragQueryFile函数,具体的可以参考MSDN,上面有详细描述。
      

  2.   

    void CNetHard::OnDropFiles(HDROP hDropInfo)
    {
    LPTSTR lpFileName = new char[256];
    int nFileCount = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);
    for(int i=0;i<nFileCount;i++)
    {
    UINT nChars=::DragQueryFile(hDropInfo, i, lpFileName, 256);
    MessageBox(lpFileName);
    }
    ::DragFinish(hDropInfo);
    delete[] lpFileName;
    }
    这是拖动文件到对话框时的代码,这样子可以,但按粘贴时,hDropInfo哪里来啊,这个怎么设。没有那个消息。
      

  3.   

    当按了粘贴后,怎么去触发WM_DROPFILES消息啊
      

  4.   

    GetClipboardData(CF_DROP, ...)
    将第一个参数置为CF_DROP,其他的处理同拖放相同http://search.csdn.net/Expert/topic/2417/2417208.xml?temp=.9886438
      

  5.   

    laiyiling(vcfans):
    谢谢,解诀了。
    不过参数是CF_HDROP ^_^