私のアプリケーションは、PIDL を文字列として受け取ります。
QString pidl = "::{20D04FE1-3AEA-1069-A2D8-08002B30309B}";
この場合は に対応しMy Computer
ます。に変換する必要がありMy Computer
ます。
最初のパラメーターとしてSHGetPathFromIDList
を必要とし、それを文字列に変換する WINAPI 関数があります。LPCITEMIDLIST
どうすればそれを構築できLPCITEMIDLIST
ますか?
アップデート
これは私がこれまでに得たものです:
LPCWSTR csPath = (LPCWSTR)"::{20D04FE1-3AEA-1069-A2D8-08002B30309B}";
LPITEMIDLIST stId = 0;
SFGAOF stSFGAOFIn = 0;
SFGAOF stSFGAOFOut = 0;
if(!FAILED(SHParseDisplayName(csPath, 0, stId, stSFGAOFIn, &stSFGAOFOut)))
msgBox("not failed")
残念ながら、このコードはクラッシュします。