12306订票助手更新

摘要: 由于时间关系,以及做了较大变更,订票助手已经很久发布更新了。但是订票助手我还是会一直维护下去,直到……你懂的。这个版本比以前有较大变化,还存在许多已知和未知的问题,只建议喜欢尝鲜的朋友使用:不再保持单文件发布了。以前的自动更新功能针对单文件,暂时懒得改,因此本版本暂不支持自动更新。简化界面内容,突出购票功能,去除冗余。改用HTML显示界面。界面表现能力可以比以前更强(虽然目前还是一样简陋),同时能通过HTML+JS快速跟进12306的各种恶心围堵。但不可避免的存在一定性能损失。通过多进程技术,支持多账号同时登陆,但目前功能还存在较大缺陷。截图:下载:http://files.cnblogs.c 阅读全文
posted @ 2013-10-20 10:29 genofu 阅读(352) 评论(1) 推荐(0) 编辑

12306订票助手更新

摘要: 12306订票助手v1.0.2发布,下载地址。相对于v1.0.0,包含如下可见变更:加入在线升级功能(点击右上角“更新”菜单)。加入异常处理,崩溃时自动生成dump文件。加入留言反馈模块。加入整点查询功能。加入席别优先和车次优先选项。选项对话框加入枚举值,帮助用户设置选项。网络抓包内容加入Response时间。登录对话框动态从服务获取Banner。修改默认订单提交间隔为5秒。只有在提交订单时才显示并提示输入验证码。匹配到余票时主窗口自动跳到前台并播放提示音。座席及优先级设置功能移动到车次信息表头。将列车查询结果中的“有”替代为真实票数。修复查询结果为空时不清除查询缓存的BUG。修复列车查询结果 阅读全文
posted @ 2013-06-30 19:23 genofu 阅读(330) 评论(0) 推荐(0) 编辑

慎用 assert

摘要: 今天调试一段代码,通过 WaitForSingleObject 来中断线程执行以便接受用户输入。但是执行中发现,不论是否有用户输入,都会直接执行后续代码。一直以为是 WaitForSingleObject 的用法不对,百思不得其解。最后仔细再看这行语句,assert(WAIT_OBJECT_0 == WaitForSingleObject(m_hCaptchaEvent, INFINITE));然后再看编译模式为 Release,方才恍然大悟。我也会犯这种低级错误,汗颜! 阅读全文
posted @ 2013-06-30 15:04 genofu 阅读(219) 评论(0) 推荐(0) 编辑

12306订票助手

摘要: 修订2013-05-11当未选择车次或未选择席别的时候,给出提示。当提交订单后,禁止更改需要的车次、乘车人和席别。正确提示非学生票期间的学生购票。点击车次表头可以排序,已拖动排列的优先级需要重新拖动排列。去除发生错误时在当前目录保存错误页面的功能。修复余票等于乘车人数量时无法预订的问题。加入选择席别或联系人时自动勾选。介绍作为出门在外的IT民工,每年都要经历一到多次的火车票抢购。由于我回家的线路车少人多,因此每年的抢票都是一个艰巨的任务。在2011年之前,依靠售票点排队以及电话订票,还能有80%的成功率。但是在12306网络购票推出之后,火车票在开售后瞬间卖光,成功率几乎为0。自认为眼疾手快比 阅读全文
posted @ 2013-05-11 15:20 genofu 阅读(692) 评论(0) 推荐(0) 编辑

类HTML语法显示格式化文本

摘要: 介绍项目需要,在自定义控件中显示格式化文本。支持格式化的文本语法,接触过的有HTML、RTF等。由于HTML使用广泛,决定采用类似HTML的语法。该语法按树状结构组织,需要支持以下格式:对齐:垂直居中对齐;水平居左居中居右对齐换行:\n颜色:<color="...">...</color>图标:<icon="..."/>*: 对齐在显示整个文本时统一指定。假设有以下文本:普通文本<color="#FF0000">红色文本<icon="icon.ico"/> 阅读全文
posted @ 2013-04-20 14:40 genofu 阅读(411) 评论(0) 推荐(0) 编辑

简易内存池实现

摘要: 修订2013-04-15代码中的New函数,使用DWORD保存4字节对齐后的大小,避免wSize接近65536时对齐为65536后溢出。Block结构添加prev指针,used及unused修改为双链表,避免Delete时的定位开销。介绍 项目需要自定义一个表格控件,涉及到多行多列文本的显示。考虑到字符串指针较多的情况下,性能较低以及容易产生内存碎片,为此实现了一个内存池。该内存池具有以下特点:不能分配接近及超过64k的内存(一般情况下,表格列不会包含如此长的文本)。分配次数较多,单个释放次数较少(表格内容填充后不易变更,可以在删除表格时一次释放整个内存池)。允许一定内存冗余,以减少内存碎片( 阅读全文
posted @ 2013-04-14 12:26 genofu 阅读(508) 评论(0) 推荐(0) 编辑