是否可以在类似于 iOS 开发的 Windows Phone 8 开发中使用私有 API?
当然,这与发布的应用程序无关(AppStore/Marketplace)。但是有很多非公共项目的用例,开发人员想要调用内部系统函数。
安装 Windows Phone 8 SDK 后,可以安装位于C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images
. 在 Windows Phone 操作系统的主分区中,可以导航到 Windows\System32 并使用 Dependency Walker 或 IDA Pro 等工具检查系统 DLL 文件。
有很多功能听起来很有趣,但它们不是公开可用的,因此没有记录。问题是:是否可以通过应用程序或其他方式以某种方式调用它们?
只是一些有趣的函数的例子(还有更多):
- ShellChrome.dll: InvokeStartMenu, InvokeScreenCapture, InvokeVolumeUp, LockDevice, ...
- InputInjection.dll:ApiInjectInitialize,ApiInjectTouchEvent,...
- ...
我试图让 LoadLibrary(特别是 LoadLibraryExA)在本机 Windows Phone 应用程序项目中以某种方式工作,并加载和调用这些函数(库的加载工作)。长话短说,我在尝试调用函数时遇到了访问冲突错误或类似错误(可能是因为沙盒执行环境)。另一个问题是,我只能猜测函数的签名(参数)。我无法用我使用的工具找到它们。