Jackiesteed

www.github.com/jackiesteed

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1 随笔 :: 116 文章 :: 38 评论 :: 18万 阅读

文章分类 -  Windows编程

Post Articles about Windows Programming
摘要:#include #include using namespace std;inline std::ostream& blue(std::ostream &s){ HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE |FOREGROUND_GREEN|FOREGROUND_INTENSITY); return s;}inline std::ostream& red(std::ostream &s){ HANDLE... 阅读全文
posted @ 2014-01-02 15:18 Jackiesteed 阅读(314) 评论(0) 推荐(0) 编辑

摘要:DuiLib窗口是自己处理绘制窗口的事件的, 而CEF也是这样, 所以, 这两套绘制机制放在一起是会冲突的.也就是说, 如果你用DuiLib窗口的一部分当做CEF的绘制区域, 就会出现CEF窗口不断闪动的问题, 因为DuiLib的绘制事件导致CEF的重绘, 而两套机制不是很兼容.道理只能讲到这种程度了, 随着理解的深入, 我会给出更详细的介绍.至于解决办法, 就是把两者的绘制隔离起来.我为CEF单独创建了一个子窗口, 在子窗口中进行CEF内容的绘制.但是有个问题是, 父窗口的重绘, 一般也会导致子窗口的重绘, 还是会出现CEF窗口闪烁的问题, 直到..我发现WS_CLIPCHILDREN这个窗 阅读全文
posted @ 2013-09-27 16:42 Jackiesteed 阅读(4050) 评论(5) 推荐(0) 编辑

摘要:void CBrowserFrame::SetCookie(){ CefRefPtr manager = CefCookieManager::GetGlobalManager(); CefCookie cookie; CefString(&cookie.name).FromASCII("Venus_UserInfo"); CefString(&cookie.value).FromASCII(g_meta.cookie); CefString(&cookie.domain).FromASCII("venus.sogou-inc.com&quo 阅读全文
posted @ 2013-09-23 17:07 Jackiesteed 阅读(9540) 评论(1) 推荐(1) 编辑

摘要:307021476cef技术交流群 阅读全文
posted @ 2013-09-23 12:09 Jackiesteed 阅读(304) 评论(0) 推荐(1) 编辑

摘要:1. 说不炫的, 拉出去枪毙! 另外献上win8 caption的皮肤一套: 在https://github.com/jackiesteed/DuiLibDemo可以下载到Demo代码, vs2010.2013年11月3日版本. 阅读全文
posted @ 2013-09-13 22:20 Jackiesteed 阅读(715) 评论(6) 推荐(1) 编辑

摘要:http://www.duilib.cc欢迎访问, DuiLib论坛 阅读全文
posted @ 2013-09-12 00:01 Jackiesteed 阅读(462) 评论(0) 推荐(1) 编辑

摘要:version 0.1 界面.=========================================================================================================把ACM比赛的数据展示出来, 不过标题看不全, 不太美观...需求改进的是, 标题不够有精炼, 这个需要发布者自己处理, 提供了tooltip, 展示event的详细内容.============================================================================================== 阅读全文
posted @ 2013-08-03 12:19 Jackiesteed 阅读(337) 评论(0) 推荐(0) 编辑

摘要:没有喝彩!!! 阅读全文
posted @ 2013-05-29 19:43 Jackiesteed 阅读(583) 评论(0) 推荐(0) 编辑

摘要:承接上一篇日志, 这一次实现的是创建NFA.输入是正则表达式对应的解析树(一个二叉树).输出是对应的NFA(一个有向图).思路也是递归实现, 对于一个树节点, 用两个子节点创建对应的NFA, 然后再根据树节点的类型将两个子NFA拼接起来.使用到的数据结构:struct State{ int code; //状态码, 一般是自动机中边上的字符, 特殊情况是S(开始), T(结束), FAKE(伪节点,导出空转移的边) State* out; //出边1 State* out1; //出边2 int lastList; //记录上一次所在的链表, 判重用的.};struct... 阅读全文
posted @ 2013-05-21 00:21 Jackiesteed 阅读(694) 评论(1) 推荐(0) 编辑

摘要:今天实现了一个递归向下的RegexParser, 可以把正则表达式转化为语法树.Russ Cox正则表达式解析里面here, 把正则式子首先转化成了逆波兰表达式.语法树的表达能力要比逆波兰要好一些, 而且树的的后序遍历就是逆波兰式.大概就是对于每一种运算符, 实施一个parse的子过程, 我之所以考虑使用递归实现, 是考虑到这样写以后扩展的话码代码会方便一些XDD.下面给出Parser的代码: 1 //Symbol.h 2 #ifndef __SYMBOL_H__ 3 #define __SYMBOL_H__ 4 5 6 enum TokenType 7 { 8 E... 阅读全文
posted @ 2013-05-18 21:34 Jackiesteed 阅读(1137) 评论(0) 推荐(0) 编辑

摘要:Regular Expression即“描述某种规则的表达式”之意。正则表达式匹配目前大致有两种实现方法:1, 回溯的方法, 广泛用于Perl, Python, Java等语言里面, 效率一般, 对于特殊的case, 由于使用递归, 会爆栈或者体现为效率较低.2,把正则表达式转换为NFA, 利用NFA或者DFA的方法处理匹配, awk和grep是这样实现的, 效率比较高.最基本的正则表达式定义如下:这里用c/c++实现的正则表达式, 只支持 +,*.?,| 这几种符号, 后面我会实现一下其他的特性, 比如[a-z], 零宽断言,反向引用等.回溯的方法, 这个是来自 BeautyOfCode里面 阅读全文
posted @ 2013-05-12 20:02 Jackiesteed 阅读(585) 评论(0) 推荐(0) 编辑

摘要:用户不喜欢反应慢的程序。程序反应越慢,就越没有用户会喜欢它。在执行耗时较长的操作时,使用多线程是明智之举,它可以提高程序 UI 的响应速度,使得一切运行显得更为快速。在 Windows 中进行多线程编程曾经是 C++ 开发人员的专属特权,但是现在,可以使用所有兼容 Microsoft .NET 的语言来编写,其中包括 Visual Basic.NET。不过,Windows 窗体对线程的使用强加了一些重要限制。本文将对这些限制进行阐释,并说明如何利用它们来提供快速、高质量的 UI 体验,即使是程序要执行的任务本身速度就较慢。为什么选择多线程?多线程程序要比单线程程序更难于编写,并且不加选择地使用 阅读全文
posted @ 2013-04-23 22:25 Jackiesteed 阅读(479) 评论(0) 推荐(0) 编辑

摘要:本文的目的是介绍Windows的各种计时器的用途.Windows大概有4种计时器, 标准Win32计时器, 多媒体计时器, 可等待(waitable)计时器, 队列计时器.这里讲的计时器是指Windows原生的计时器, 与框架(比如.net)无关.还有一个基于QueryPerformanceFrequencyandQueryPerformanceCounter这两个函数的计时器, 我们不纳入考虑, 因为, 这两个函数只能实现测定时间间隔的功能, 而不能像Timer一样定时触发.时间的精度是有限的, 而且Windows也不是一个实时操作系统, 所以我们不能期待计时器能准确地处理很小的时间间隔(比 阅读全文
posted @ 2013-03-30 16:44 Jackiesteed 阅读(842) 评论(0) 推荐(0) 编辑

摘要:登录窗口:主界面:消息窗口:天气:搜索配置项:服务器log:托盘:新的首页(增加了状态栏, 天气):增加了预览功能: 阅读全文
posted @ 2013-03-25 22:19 Jackiesteed 阅读(689) 评论(0) 推荐(3) 编辑

摘要:rem 要使用devenv命令, 需要把你本地的devenv路径添加的系统环境变量里面, 或者你在下面敲入devenv绝对路径.rem 然后在HKEY_CLASSES_ROOT\Directory\shell这个注册表里面加一个新的项, command内容是D:\svn\ime\zhangfangxue\ClearSrc.bat %1rem 也就是说, 把本文件保存为ClearSrc.bat, 然后再把它加到右键菜单里面, 上面一行就是把这个命名加到右键菜单.rem 添加右键菜单的具体方法如下(以EditPlus V1.1为例):rem 1、打开注册表编辑器(Regedit.exe)。rem2 阅读全文
posted @ 2013-02-21 11:22 Jackiesteed 阅读(362) 评论(0) 推荐(0) 编辑

摘要:由于软件里面需要一个下载功能, 就从<C++编程艺术>里面把代码搞出来, 做了一个Unicode版本的下载功能(为了跟软件和谐一点点..).原理挺简单的, 基本就是用WinINet里面的函数, 详细的就不说了.对于ANSI版本的字符串函数对应的Unicode版本, 可以参见这个链接.推荐一下<C++编程艺术>这本书, 虽然很基础..还是上代码吧~~ 1 //dl.h 2 #include <iostream> 3 #include <windows.h> 4 #include <wininet.h> 5 #include <fs 阅读全文
posted @ 2012-11-02 22:04 Jackiesteed 阅读(916) 评论(0) 推荐(0) 编辑

摘要:首先, 感觉是个蛋疼的话题, 不过是做某个软件遇到的.Windows系统的TaskManager里面其实就有这个功能, 显示一个进程的相关信息, 诸如pid,CPU占用率, 内存, 线程数等.那么TaskManager是怎么求出某个进程的CPU占用率的呢? 用的NtQuerySystemInformation, NtQueryInformationProcess等吧, 貌似有人Debug过, 看到了这些函数的调用.不过使用NtQuerySystemInformation这样的函数是有问题的, 1它们不是public的, 2是官方说它们在Vista以后的版本里面可能被修改.一个可观的替代方案是使 阅读全文
posted @ 2012-11-02 00:12 Jackiesteed 阅读(13130) 评论(1) 推荐(0) 编辑

摘要:Desktop Window:When you start the system, it automatically creates the desktop window. Thedesktop windowis a system-defined window that paints the background of the screen and serves as the base for all windows displayed by all applications. Window manger maintains a windows list, at the head of whi 阅读全文
posted @ 2012-05-12 22:08 Jackiesteed 阅读(233) 评论(0) 推荐(0) 编辑

摘要:MSAA_v2.docx View more documents from JackiesteedThis is a nice document I found about MSAA, which is the foundation for the UI automation on MS Windows.Program demos are following... 阅读全文
posted @ 2012-04-27 19:54 Jackiesteed 阅读(167) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示