我在NT下创建快捷方式的代码,到2000下就不行了。
哪位大虾提供一下源代码,编译通过,兼容NT,2000,和
英文Windows环境().CreateLink(char *szFileName)
{
}EnuCreateLink(char *szFileName)
{
}直接放到:「开始」菜单\\程序
         StartMenu

解决方案 »

  1.   

    HRESULT hres; 
    IShellLink* psl; 
    CoInitialize(NULL);
    hres = CoCreateInstance(CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER,
       IID_IShellLink,(VOID**)&psl); 
    if (SUCCEEDED(hres)) {
       IPersistFile* ppf;
       psl->SetPath(“C:\\test.exe”);//设置你程序的fullpath
       psl->SetIconLocation(strSrc,2);//设置图标
       psl->SetArguments("-Logout"); //设置参数
       psl->SetWorkingDirectory(strSrc);//设置工作目录
       psl->SetDescription("USNDISKT087 LOGOUT");//设置描述信息
       hres = psl->QueryInterface(IID_IPersistFile,(LPVOID*)&ppf); 
       if (SUCCEEDED(hres)) {
          WCHAR wsz[MAX_PATH] = {0};
          MultiByteToWideChar(CP_ACP, 0, "D:\\test.lnk", -1, wsz, MAX_PATH); 
          hres = ppf->Save(wsz, FALSE); //设置需要创建快捷方式的fullpath
          ppf->Release(); 
       }
       psl->Release(); 
    }
    CoUninitialize();
      

  2.   

    用SHGetSpecialFolderLocation来获取开始菜单所在文件夹