2013-01-08 33 views
12

iOS開発と同様にWindows Phone 8開発でプライベートAPIを使用できますか?Windows Phone 8 - プライベートAPI?

もちろん、これは公開される予定のアプリケーション(AppStore/Marketplace)ではありません。しかし、開発者が内部システム機能を呼びたい非公開プロジェクトには、多くのユースケースがあります。

Windows Phone 8 SDKがインストールされている場合、「C:¥Program Files(x86)¥Microsoft SDKs¥Windows Phone¥v8.0¥Emulation¥Images」にあるWindows Phone 8エミュレータイメージをマウントできます。 Windows Phone OSのメインパーティションでは、Windows \ System32に移動し、Dependency WalkerやIDA Proなどのツールを使用してシステムDLLファイルを調べることができます。

非常に面白く聞こえるが、公開されていないため、文書化されていない多くの機能があります。問題は、アプリから何か別の方法で呼び出すことが可能なのか、それとも他の手段でですか?

  • ShellChrome.dll:InvokeStartMenu、InvokeScreenCapture、InvokeVolumeUp、LockDevice、...
  • InputInjection.dll:ApiInjectInitialize、ApiInjectTouchEvent(はるかがある)の興味深い機能のほんの一例

    、...私はネイティブのWindows Phoneアプリのプロジェクトに何らかの形で働いてのLoadLibrary(具体的には、LoadLibraryExA)を取得しよう、とLOへ

  • ...これらの関数を呼び出す(ライブラリの読み込みがうまくいった)。長い話を簡単に言えば、関数を呼び出そうとすると(おそらくサンドボックス化された実行環境のために)アクセス違反エラーなどが発生してしまいました。もう一つの問題は、関数のシグネチャ(引数)しか推測できないということです。私が使っているツールではそれらを見つけることができません。

  • +0

    バンプアップ、面白い質問無回答 – AFD

    答えて

    0

    プライベートAPI?我々は、Windowsの携帯電話でDLLファイルを使用することができます。私は窓の携帯電話でプライベートSDTのを使用している。私は、ウィンドウズがAndroidのようにOSをカスタマイズすることを許可するとは思わないので、ボリュームを起動するなど、プライベートAPIを使用することはできません。

    0

    あなたは、アプリケーションサンドボックスには、APIの使用を強制されますすることはできません。これは、あなたが持っていない権利を必要とするapiへの呼び出しを試みるたびにUnauthorizedAccessExceptionを取得することを意味します。 これは、開発目的で携帯電話のロックを解除するために使用する開発者アカウントと密接に関連しています。

    編集:これはC++のネイティブ側でも当てはまります。

    関連する問題