1.编写WinANE.dll:

#include <windows.h>

#include <stdlib.h>

#include <FlashRuntimeExtensions.h>

#pragma comment( lib, "FlashRuntimeExtensions.lib" )

FREObject test(FREContext ctx, void*funcData, uint32_t argc, FREObject argv[])
{

  const uint8_t* msg = (const uint8_t*)"hello world";

  FREObject retObj;

  FRENewObjectFromUTF8(strlen((const char*)msg)+1, msg, &retObj);

  return retObj;

}

void ContextFinalizer(FREContext ctx)

{
  return;
}

void ContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx,

            uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet)

{

  *numFunctionsToTest= 1;

  FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*1);

  func[0].name= (const uint8_t*)"test";

  func[0].functionData= NULL;

  func[0].function= &test;

  *functionsToSet= func;

}

extern "C" __declspec(dllexport) void ExtFinalizer(void* extData)
{
  return;
}

extern "C" __declspec(dllexport) void ExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet,

                          FREContextFinalizer*ctxFinalizerToSet)

{

  *extDataToSet= NULL;

  *ctxInitializerToSet= ContextInitializer;

  *ctxFinalizerToSet= ContextFinalizer;

}

2.编写 swc库:

package
{
  import flash.events.EventDispatcher;
  import flash.external.ExtensionContext;

  public class TestWinANE
  {
    private static var context:ExtensionContext;
    public function TestWinANE()
    {
      try
      {
        context= ExtensionContext.createExtensionContext("WinANE", "");
      }
      catch(e:Error)
      {

      }

    }

    public function print():String
    {
      var str:String = context.call("test") as String;
      return str;
    }
  }
}

使用如下命令编译:

acompc -compiler.debug=false -library-path+=D:/FlexSDK4.9.1 -external-library-path+=D:/FlexSDK4.9.1/frameworks/libs/framework.swc

-swf-version=20 -compiler.source-path ./ -include-sources ./ -output WinANE.swc

3.编写extension.xml:

<extension xmlns="http://ns.adobe.com/air/extension/3.7">
  <id>WinANE</id>
  <versionNumber>1.0.0</versionNumber>
  <platforms>
    <platform name="Windows-x86">
    <applicationDeployment>
      <nativeLibrary>WinANE.dll</nativeLibrary>
      <initializer>ExtInitializer</initializer>
      <finalizer>ExtFinalizer</finalizer>
      </applicationDeployment>
    </platform>
  </platforms>
</extension>

4.生成 WinANE.ane:

解压WinANE.swc,将library.swf与WinANE.swc和WinANE.dll,extension.xml放同一目录,执行如下命令:

  adt.bat -package -target ane WinANE.ane extension.xml -swc WinANE.swc -platform Windows-x86 library.swf WinANE.dll

5.修改使用ANE的应用程序的XML文件,添加如下段:

<supportedProfiles>extendedDesktop</supportedProfiles>

<extensions>
  <extensionID>WinANE</extensionID>
</extensions>

转载于:https://www.cnblogs.com/LinuxHunter/p/3417586.html

编写windows版ANE相关推荐

  1. python开发影视exe程序_搜片大师,一个不需要编程就能拥有百万影视站点的搜片神器,Python编写,Windows版界面...

    这个世界太疯狂了,来北京好几个月了,都还没找到工作.俗话说,一天不编程,连hello world都写不出来.在这个"焦虑"的最后一个月,差不多每天吃馒头加山泉水,差点流落街头.可以 ...

  2. 用python开发一个影视网站_搜片大师,一个不需要编程就能拥有百万影视站点的搜片神器,Python编写,Windows版界面 - 卖知了的......

    这个世界太疯狂了,来北京好几个月了,都还没找到工作.俗话说,一天不编程,连hello world都写不出来.在这个"焦虑"的最后一个月,差不多每天吃馒头加山泉水,差点流落街头.可以 ...

  3. 用 VC++ 2008 编写 Windows Service(系统服务)

    用 VC++ 2008 编写 Windows Service(系统服务) 2008-03-30 08:08 现在许多 Windows Service 应用都可以用 c# 很好的完成,不过毕竟是托管代码 ...

  4. 安装Windows版C / GCC编译器

    The first step in learning any programming language is to have the required software installed in th ...

  5. flv + livego + obs 实现简易直播平台(windows版+Linux版)

    直播运行效果: Windows版 1. 前端编写(网页播放视频功能) flvjs是b站开源出来的前端流媒体播放器 下载链接:https://github.com/saysmy/flvjs-pr354 ...

  6. 公布Windows版Flutter

    公布Windows版Flutter 构建高质量的Windows应用程序,并在移动和web上运行 自从我们推出Flutter以来,我们一直专注于提供一个跨平台的解决方案,以获得漂亮的.定制的应用程序,这 ...

  7. 我的世界手机有PHP的开服器下载,【BDS】MC基岩版官方开服器Windows版插件开发包...

    您尚未登录,立即登录享受更好的浏览体验! 您需要 登录 才可以下载或查看,没有帐号?注册(register) x MC基岩版官方开服器Windows版插件开发教程 2019年5月22日 作者:Play ...

  8. 金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏《金庸群侠传》的重制版

    金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏<金庸群侠传>的重制版. 原 DOS 下面的经典游戏<金庸群侠传>pascal 复 ...

  9. FasterRunner安装教程(Windows版)

    FasterRunner安装教程(Windows版) 原创 幼儿园二园长 发布于2019-05-10 17:02:59 阅读数 499 收藏 更新于2019-05-10 17:04:23 分类专栏: ...

  10. 网络管理必备工具软件精解(Windows版)---转载及个人见解

    网络管理必备工具软件精解(Windows版) 出版社: 人民邮电出版社 作者: 刘晓辉 王淑江 出版日期:2006年3月 国标编号:ISBN 7-115-14546 条形码: 字数:899千字 印张: ...

最新文章

  1. AI一分钟|美国第一家!Waymo商业自动驾驶打车服务正式获批
  2. python argparse库_Python的argparse库使用详解
  3. php查找函数所在文件
  4. Java Web系列:Spring MVC基础
  5. 成功解决解决VM软件安装Linux的Ubuntu过程,打开时 Operating System not found
  6. 深度学习项目-神经元结构可视化
  7. Detectron2学习笔记
  8. js 中对于 css 的变量操作(React也可)
  9. android int 首位值_Android应用视图的管理者Window
  10. (三)MLOps管道中的模型自动调整
  11. “找不到网络路径”的检测方法及解决方案
  12. 笨方法使用Kubernetes实现持续交付
  13. java.lang.IllegalStateException报警
  14. 一键解决WinRAR的有关问题
  15. 利用css制作3D按钮
  16. 浅谈选择示波器时的“5倍法则”
  17. 2017.03.24回顾 归一化 标准化 R2 date_format 共线性 系数检验 决策树
  18. 关于应用某些程序被删除导致无法使用,且无法找到uninstall软件的后续方案
  19. 电子签到系统有哪些不同体验?
  20. 「励志文章」清华学霸演讲:你可曾为学习拼尽全力?

热门文章

  1. God.org单域环境攻略(二)
  2. Verilog rst
  3. android 直播推流sdk,Android——直播推流SDK
  4. 开发谷歌浏览器翻译插件
  5. 速查!你名下绑定了几个微信
  6. iOS 微信支付开发(最新版)
  7. PHP生成DataMatrix二维条码
  8. Python API+Postman+jmeter
  9. 原生js 实现大鱼吃小鱼效果
  10. 通信网络与IP网络底层传输技术梳理(SONET/SDH/OTN/ATM/Ethernet/MPLS/PTN...)