2013-01-08 35 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 + +本机方面。