っていう必要がありまして、しばらく調べていました。
普通ですと、olepro32.dll を取り込んで使うわけですが、これはどうやら x64 をターゲットにすると、「そんな DLL ないよ?」というエラーになる。
調べていると、同じ症状が出て困っている方も多数。で、解決策としてあがっているのは、「ターゲットを x86 にすればいいよ」
って、そんなことはわかってるんですよ。ただ、他の DLL とかシステム全体とかのからみもあるんで、ターゲットは x64 のままにしとかなければならないんです。そんな場合の解決策が見つからない…
で、さらに調べていたら、oleaut32.dll っている DLL の中にも同名の関数 OleCreatePropertyFrame() があることがわかりまして、とりあえず使ってみました。
おっ、これは x64 でも動くじゃないですか。しかも、引数とか olepro32.dll のやつと同じ。検索するとよく見つかる、olepro32.dll の OleCreatePropertyFrame() を使う方法をそのままコピペって、olepro32.dll の部分を oleaut32.dll に書き換えるだけで使えた。
細かい違いとかがあるのかどうかはこれから調べるとして、とりあえず x64 でも OleCreatePropertyFrame() が動いたよ。っていうお話でした。
通りすがりの者です。
返信削除この記事に助けられました。
ありがとうございます。
ちなみに、WIn10 1809から1903に上がった際に
この問題に遭遇しました。