0
私は、このコードに問題があります。私は、フォーム内のパスを受けていますLSOpenCFURLRefはファイルをオープンしません。
CFStringRef URL = CFStringCreateWithCString(NULL, url.ToString().c_str(), kCFStringEncodingASCII);
CFURLRef pathRef = CFURLCreateWithString(NULL, URL, NULL);
if (pathRef) {
OSStatus status = LSOpenCFURLRef(pathRef, NULL);
を
"file:///Users/x/Documents/5%20Sample%20of%20Small%20Construction%20Plan%20(A0+).htg"
LSOpenCFURLRefは、上記のパスでファイルを開くために管理しますが、パスは、セミコロンが含まれている場合LSOpenCFURLRef -43で失敗する(見つからない)
%3Bでは動作しますが、これは解決策ではなくパッチのように見えます。復路は完全にURLエンコードされている場合
することは、その後CFURLCreateWithStringが失敗し、NULLを返しますので、私は、テキストをエスケープ解除して、明示的にCFURLCreateStringByAddingPercentEscapes文字に指定することで、再びそれを逃れるために持っていたそれを動作させるためにLSOpenCFURLRef