1

I'm aware you aren't supposed to do this, but unfortunately, given the infancy of the WinRT library and the dearth of support of 3rd party controls, I have no other possible solution but to try and use our current charting library with a Metro application.

We have no intention of distributing the application via the App Store. We hand select and load our application for use by our customers.

I've seen articles where it is possible to manually call, say, MessageBoxA from inside a Metro application successfully by manually loading the applicable DLL, which are still available on the system.

our charting control is distributed as a COM DLL. Metro blows up if I try to link it normally, which is what I would expect.

I'm curious if there is any way to manually call this DLL from inside a Metro application?

4

1 に答える 1

0

私はこれを自分でテストしていませんが、うまくいくと思います:

アプリケーションを Windows ストアに公開することに関心がない場合は、アプリケーション パッケージに COM DLL を含め、COM オブジェクトを手動でインスタンス化してみてください。

プロセスはこの投稿で説明されています。基本的には、LoadLibraryGetProcAddressDllGetClassObjectを使用してすべての COM dll に含まれる関数を取得し、COM クラスの GUID を使用してインスタンスを取得します。

あなたの場合、プロジェクトを Windows ストア アプリケーションとして作成すると、関数 LoadLibrary は使用できなくなりますが、代わりにLoadPackageLibraryを使用することはできます。

于 2012-10-09T19:03:50.410 に答える