
ELF名称: MySMSYS
作者: BingK(binghelingxi)
感谢: titron(smsman中部分关于sms/ems解析的代码)

其它信息:
    写作这个ELF的原因,大约是由于NEWSGOLD系统自带的短信系
统太慢了,虽然在功能上它是比较完善的,进而想到了用效率极高
的ELF重写一个短信系统,所需的函数基本已经完备,并在在开发
过程中找到了删除短信和设置为已读这两个极为重要的函数,以及
其它一些个重要的图形界面相关的函数.

    这是一个基于IPC工作的ELF!
    一些受系统限制的操作:快速删除,快速发多条短信等.
    
v2.4.2 2009.03.16
    1.使用新的2.0以上版本的区号秀数据库

v2.4.1 2009.01.04
    1.修正短信正在发送图标在禁用了图标栏图标之后还显示的问题
    2.短信按月份移动到档案柜改为以短信中的日期为主,以前是以当前日期为准
    3.修改了ELKA图标栏默认图标
    
v2.4 2008.12.21
    1.替换最后一个标签为筛选显示,具体可以看BCFG配置,选择筛选显示号码或字符串时,
      请在"字符串或号码"配置条目中填入相应的号码或者字符串
      增加一个图标"hdr_filter.png"用于帅选显示时的标签图标
      lang.txt增加一条"筛选显示"于最后一行,请更新lang.txt
    2.修正在标签菜单下的短信列表按选项后标题栏显示问题
    3.增加一个配置项,设置默认标签
    
v2.3 2008.12.10
    1.使用标签式主菜单,删除"全部信息"条目,可以在最后一个标签页查看
      增加一个图标"icon_mysmsys.png",作为标签式主菜单标题栏的图标
      依赖swilib:0x2BB-0x2C1
    2.其它优化
    
v2.2.7 2008.12.07
    1.修正来新信息提示飞信不能显示对方姓名
    2.增加一个快捷键,主菜单中*键打开容量统计
    3.增加设置一个默认发送号码
    
v2.2.6 2008.11.29
    1.增加个性化短信铃声支持,铃声在通讯录中设置
    2.增加几个快捷键,在主菜单中,右键打开选定的功能,左键退出,在短信列表中,右键编辑选定的短信,左键退出
    3.未知类型的短信或未知解码方式的短信,不自动保存
    4.其它小修正
    
v2.2.5 2008.11.13
    1.支持后台发送短信,其实是切换CSM的操作,使用了XTask的部分代码,(r)Rst7
      你仍然可以用XTask切换回去看到正在发送界面
    2.支持添加正在发送短信图标到图标栏
    3.减小通讯录列表,短信数据列表重复读取的可能性
    4.修正可能的ELKA SLI闪烁不能停止
    5.直接输入号码完毕后尝试转为姓名显示
    
v2.2.4 2008.11.10
    1.修正号码搜索时号码长度相差3时就不继续对这个号码配对问题
    2.增加一个SMSYS_IPC_SEND_WS,用于创建WSHDR型文本的新短信
    
v2.2.3 2008.11.09
    1.修正,有时候短信状态已经改变,却还在振动或显示图标
    2.修正俄文翻译功能不能超过257个字问题
    
v2.2.2 2008.11.08
    1.修正多个草稿保存问题,以及发送草稿后未及时删除问题
    2.修正可能重复读取短信数据的问题
    3.修正ELKA的SLI不能停止问题
    
v2.2.1 2008.11.08
    1.修正dat转txt,发出的短信号码描述为"发送到"
    2.修正显示号码信息,发出的短信号码描述为"发送到"
    3.修正未启动启动图形界面时,语言包未载入,导致更新bcfg提示的LGP为0
    
v2.2 2008.11.07
    1.导出全部到一个TXT修正
    2.支持即时保存为文件,即收到短信时就保存该短信为文件,可在bcfg中关闭
    3.按情景模式设置振动强度与提示铃声音量
    4.支持对Mss文件形式的新短信设置为已读
    5.对新短信,在查看时,先设置为已读,再保存为文件
    6.后台CSM启动两秒之后在后台开始读取信息及通讯录数据
    7.启动图形界面时,如果已有短信数据,则开始在后台检查,如果没有,则开始在
      后台读取全部信息数据,并及时刷新GUI
    8.S68默认图标修改,(r)tournet
    
v2.1 2008.11.06
    1.编辑退出时自动保存草稿,如果没有内容或者内容没变,不予以保存
      可在bcfg中关闭该功能
    2.ELKA,SLI可在bcfg中关闭
    3.增加按键组合快速启动,使用两个组合键,锁键盘或屏保状态下有新信
      息时按左软键打开收件箱
    4.屏保时支持显示新信息图标,但是由于没有消息用于激活显示,有时可能无法显示
    5.支持图标栏新信息图标,需要"允许Elf添加图标到图标栏"补丁支持,如果
      没有刷这个补丁,不显示,图标只能使用内置图标ID,但你仍可以使用png替换,
      可在bcfg中关闭该功能
    6.自动删除信息报告修正
    7.加入S68专用版,因为它的图标和其他NEWSGOLD机型不一样
    8.启动图形界面时加入短信数据检查,以解决未知原因的mss文件无法读取问题
    9.修正未完全受到的新信息读取
    10.修改提示窗口图标位置为上中
    
v2.0.1 2008.11.03
    1.修正上一个版本Mss文件关联问题
    2.SLI支持闪烁(测试)
    3.取消bcfg中的有新信息提示图片路径设置,直接使用img\dis_smsnew.png
      或者默认的内置图标
    
v2.0 2008.11.02
    1.再次允许打开多个新信息提示弹出窗口,全都可以自动关闭
    2.为英文版本添加俄文/波兰文翻译
    3.支持更长的短信,到2048个字符
    4.标题栏图标,0x2AB(SetHeaderIcon)函数支持
    5.简化区号秀代码
    6.全套图标支持,具体看iconpack.c
    7.列表中按9转存成功后自动跳到下一条
    8.外挂语言包,内置英文
    9.使用很好看的选项菜单
    10.关闭所有音调时不使用声音提醒
    11.继续尝试新的判断新信息方法
    12.ELKA,有新信息是小绿灯闪烁,即SLI
    13.支持未完全接收的短信读取,但不会自动转存为文件以及不会自动设置状态
    14.修正7-bit英文短信读取
    15.修正查看信息是自动保存之后,数据类型未更新问题,结果反映在选项菜单上
    16.源码中增加"WITHOUT_OP_ICON"可选条件编译项,可以编译得到选项菜单不带图标
    17.优化短信读取,只在第一次启动图形界面或批量删除Mss文件时才完全读取短信数据一次
       其它情况下都是用直接插入/删除单挑短信方式
    18.查看或编辑时显示短信条数,目前的计数方法:纯英文短信160字记为一条,其它70字记为一条
    19.增加Ems图标,ems_innew.png,ems_inread.png,ems_sent.png,ems_draft.png
    20.支持读取以7-bit方式压缩的名称的号码
    
v1.9.2 2008.10.27
    1.使用更多的自有CSM名称
    2.修正关闭新信息提醒的情况下来新信息时,数据未更新
    3.继续修正是否有新信息判断
    4.插入通讯录条目支持所有内容
    5.新信息弹出窗口只允许同时打开一个
    6.当有非MySMSYS.elf本身(如Simoco)对短信操作时,实时更新短信数据
    
v1.9.1 2008.10.23
    1.通讯录数据不排序载入,加快速度
    2.新信息提示图标可以直接使用内置图标ID(十进制),PNG图片仍然支持
    3.加入容量统计
    4.未完全接收的信息不读取
    
v1.9 2008.10.21
    1.增加自定义文本字体
    2.修改了短信列表和查看界面的选项菜单,增强灵活性
      对于草稿,选项的第一个由回复改为发送,列表中按绿键为编辑
    3.使用新的删除函数,0x2AC,删除后不会在浏览器中留下空白短信
    4.直接调用系统通讯录选择号码,也可以将号码保存到通讯录
      依赖新函数0x2B3-0x2B9
    
v1.8.6 2008.10.17
    1.增加模板功能,模板使用txt文件,自行存放到\MySMSYS\Text\Template\
      目录下,中文版本,txt使用ANSI编码,英文版本,使用win1251编码
    2.保存草稿后直接退出编辑界面,可以在MySMSYS.bcfg中取消
    3.通讯录多号码选择标头栏显示名称修正,适合同时打开多个通讯录
    4.修正文件保存为草稿时,文件会被直接覆盖的问题
    
v1.8.5 2008.10.16
    1.信息报告支持
    2.信息报告自动删除,看完后删除
      可以在配置中关闭自动删除信息报告
    3.主菜单按1-9键,直接打开菜单中对应顺序的条目
    4.修正编辑界面按选项死机问题
    
v1.8.4 2008.10.15
    1.编辑Mss的草稿时,改"保存为草稿"为"保存",直接覆盖原文件
    2.修正查看短信时20字节的内存泄漏
    3.取消了所有批量删除机身短信的功能,可以批量删除的目前只
      能为已经保存为文件的短信,包括转存所有为文件,删除全部功
      能改为删除全部Mss(和1.7版本一样)
      
v1.8.3 2008.10.11
    1.取消查看档案柜文件夹中的Mss文件时选项菜单中的
      "移动到档案柜"选项
    2.改进是否有新短信判断,及对长短信是否已经完全接收的判断
    3.改进最新短信读取
    4.保存文件时如果文件已存在,自动重命名
    
v1.8 2008.10.10
    1.查找通讯录号码使用更精确的匹配方式
      对飞信号码做特殊处理,在名称后加上(飞信)
    2.增加将SMS.dat中的短信全部转换为Mss文件功能,
      但是可能会在浏览器中产生一些空白短信,但不影响短信容量
    3.修正俄文字符导出为ASCII编码TXT问题
      国外机型使用WIN1251编码
    4.查看文件时按左右键看上下一条
    5.第一个字母自动切换到大写输入法
    6.修改通讯录数据链表结构,减少内存占用,提高工作效率
    7.移动Mss文件改为移动全部信息
    8.增加全部删除功能
    9.每一个会话CSM都可以赋予自己的名称
    10.增加声音提醒,一定程度上可以保证其安全性
       如果来短信信时正在使用媒体播放器播放音乐,将停掉正在播放的这首歌
       然后播放短信提醒铃声,短信提醒铃声播放完毕之后,媒体播放器重
       新开始播放那首歌
       如果你喜欢使用一些ELF的播放器,而不是系统的媒体播放器,那么你最好
       关掉声音提醒功能,MySMSYS无法判断哪个Elf是否正处于播放状态,而开始
       播放自己的短信提醒铃声,可能会造成冲突死机
    11.增加短信列表图标
    12.后台CSM名称改为MssD,好看一些
    
v1.7 2008.10.07
    1.实现精确读取短信,使用了新函数0x82B1,0x2B2
    2.增加SMS.dat转换为TXT功能
    3.增加是否保存已发送短信配置开关
    4.修正移动全部Mss文件后列表未更新
    5.去掉了几个弹出窗口的图标,使之有更多的空间显示文字
    6.信息档案柜改为按月份存储
    7.修正Mss文件类型读取,以文件中记录为准
    8.新信息提醒Ems判断修正
    9.非中文通讯录搜索不区分大小写修正
    10.其它修正优化
    
v1.6 2008.10.05
    1.增加一条/全部短信导出为TXT功能,
      单条导出时默认文件夹: ...\MySMSYS\Text\
      可设置文本编码为ASCII或UTF8,默认使用UTF8
      短信列表中按8键将选中短信导出为TXT
    2.增加信息档案柜功能,文件夹: ...\MySMSYS\Archive\
      可以移动单条/全部短信到档案柜
      在其它菜单中可以直接打开文件管理器
      短信列表中按4键将选中短信移动到档案柜
    3.使用新的读取方式,可以保证各机型都适用,并有效避开空白短信
      但可能导致定位不准确
    4.增加其它菜单项,其中可以进行打开配置,导出全部为TXT,移动全部Mss
      文件到档案柜操作,及关于信息
    5.查看短信时无号码移动修正
    6.读取Pdu中号码修正
    7.检查新短信如果是ems,接收到最后一部分才提示
    8.Mss文件加入类型信息,以适应其存在于任何文件夹中
      但仍然兼容以前版本
    9.其它修正优化
    
v1.5 2008.10.03
    1.实现.mss文件关联,关联到MySMSYS.elf或MssLinker.elf均可
    2.有未查看短信时待机显示提示图标
    3.增强多个MySMSYS会话操作时的安全性
    4.优化代码,使用更高效的排序方法
    
v1.4 2008.10.01
    1.列表中按9键转存为文件
    2.查看短信时,如果短信还在手机内存,自动转存为文件,可以设置,
      默认开启此功能
    3.短信列表,查看短信界面按*键查看号码信息,显示区号
    4.修正关闭一个会话时短信清零问题
    5.增加从通讯录插入号码功能
    
v1.3 2008.09.30
    1.修正ems解析,修正短信排序
    2.使用MySMSYS.bcfg配置
      删除BROWSER_KILLER条件编译项,可以设置是否使用新信息弹出提示窗口
    3.优化短信查看界面,从前往后翻看
    4.使用SUBPROC方式读取通讯录,基本感觉不到读取通讯录的延迟了
    
v1.2 2008.09.27
    1.修正发出短信解析
    2.修正弹出窗口字体定义
    3.修正ELKA短信读取
    4.在输入号码位置无号码时左软键改为通讯录,可以直接进入通讯录选择号码
    
v1.1 2008.09.26
    1.修正EMS解析
    2.使用0x2B0:SetMenuSoftKey函数来这是菜单软键
    3.增加BROWSER_KILLER条件编译项
      刷过Browser Killer之后,新信息弹出窗口就没有了,
      使用msg 0x61CC(NEWSGOLD)来激活
    
v1.0 2008.09.24

    完成一些sms/ems解析,显示,发送,读取.
    实现基本功能.
    并提供了保存为文件的功能,直接从文件读取,保存草稿直接保存为文件
    编辑短信选择号码时可以打开通讯录列表选择.
    通讯录列表中可以搜索.
    第一次启动时,它将运行于后台,并以此为基础,根据接收到的
IPC消息启发相应的操作.
		
    第二次运行这个ELF时它将启动主菜单.
    你可以根据MySMS_ipc.h中定义的相关submsg,发送IPC来启动
里面的功能,所发送的IPC消息中,IPC_REQ的结构的name_to,name_from
均为MySMSYS,data则根据情况而有所不同,具体请看MySMS_ipc.h
    
    使用补丁替换的新信息弹出窗口,显示对方名称及区号秀,震动提醒,暂无
铃声提醒.

    通讯录在第一次启动图形界面时将被载入,以后更新通讯录依赖IPC.

快捷键操作: 
    在信息列表中,按7删除选中的短信,绿键回复选中的短信,
按9键转存光标所在条目为文件,*键查看号码信息,显示区号,按8将选中短信导出为TXT
按4将选中短信移动到档案柜,键编辑选定的短信,左键退出
    查看短信界面,绿键回复短信,编辑短信界面,绿键发送短信,按左/右键可以
查看上/下一条短信,*键查看号码信息,显示区号
    在主菜单中,右键打开选定的功能,左键退出,*键打开容量统计

补丁部分:
补丁工作的基础,已经有MySMSYS运行于后台!!!
更新通讯录时,发送更新通讯录数据IPC,(目前还不支持通讯录删除后更新).
极速菜单信息菜单中,统计短信条数将把保存为文件的信息也算进去.
直接替换新信息弹出窗口.
多功能收件箱中,短信查看,回复,引用,转发均替换.
极速菜单中,收件箱,已发送,草稿,新建短信,替换.
通讯录,通话记录中发送短信,替换.
快捷方式,收件箱,已发送,草稿,新建短信,替换.
重要记事,任务,便笺,使用文字格式发送,替换.




