由于用ShellExecute启动的进程无法在程序中加以控制,因此希望用CreateProcess启动进程,但是需要给出系统默认打开程序的路径,该路径如何得到?

解决方案 »

  1.   


    比如要找与F盘根目录下的文件1.txt关联的程序,可以这样做
             char szD[MAX_PATH]="c:\\";//缺省目录
    char szRes[MAX_PATH];    //查找结果目录
    HINSTANCE h=FindExecutable("F:\\1.txt",szD,szRes); //查找
      

  2.   

    注册表里面有不同文件类型的默认打开方式,连同详细路径都有
    不知是否是你需要的
    比如txt文件,你可以在HKey-classes root 下面找.txt的子健,然后看(默认)后面是什么
    继续找 那个 默认里面的子健,顺着这样可以找到txt默认的打开文件记事本