2013-01-08 45 views
12

是否可以在類似於iOS開發的Windows Phone 8開發中使用私有API?Windows Phone 8 - 私人APIs?

當然,這不是關於將要發佈的應用程序(AppStore/Marketplace)。但是對於開發人員想要調用內部系統功能的非公共項目,有很多用例。

安裝Windows Phone 8 SDK後,可以安裝位於「C:\ Program Files(x86)\ Microsoft SDK \ Windows Phone \ v8.0 \ Emulation \ Images」中的Windows Phone 8仿真器映像。在Windows Phone操作系統的主分區中,可以導航到Windows \ System32並使用類似Dependency Walker或IDA Pro的工具檢查系統DLL文件。

有很多功能聽起來非常有趣,但不公開提供,因此沒有記錄。問題是:是否可以通過應用程序或其他方式以某種方式調用它們?

有趣的功能,只是幾個例子(有更多):

  • ShellChrome.dll:InvokeStartMenu,InvokeScreenCapture,InvokeVolumeUp,LockDevice,...
  • InputInjection.dll:ApiInjectInitialize,ApiInjectTouchEvent ...
  • ...

我試圖讓調用LoadLibrary(具體LoadLibraryExA)在原生的Windows Phone應用程序項目莫名其妙的工作,並LO廣告並調用這些函數(加載庫工作)。長話短說,在嘗試調用函數時(可能是因爲沙箱執行環境),我最終遇到了訪問衝突錯誤或類似問題。另一個問題是,我只能猜測函數的簽名(參數)。我無法使用我使用的工具找到它們。

+0

顛簸,一個有趣的問題沒有反應 – AFD

回答

0

Private api?我們可以在Windows Phone中使用dll文件。我在windows phone中使用了私人SDK。我不認爲Windows將允許我們像Android一樣定製操作系統,所以調用音量增加..等等東西不會通過私人API。

0

你不能,應用程序沙箱會強制執行A​​PI的使用。這意味着每次嘗試調用一個需要你沒有的權限的API時,你都會得到一個UnauthorizedAccessException。 這與您用於開發手機的開發者帳戶密切相關,以用於開發目的。

編輯:這也是真正的C + +本機方面。