NSIS是一个开源的软件安装包制作工具,使用很简单,脚本的功能也比较强大。不过在最近的使用中发现了一个关于IfErrors的问题,其实脚本本身并没有什么问题,只是自己对脚本不了解才导致查了很久才解决遇到的这个BUG。
IfErrors 标签1 标签2,如果发生错误则进入标签1执行,否则进入标签2执行。但是我发现我的代码每次都会发生错误,进入标签1,但实际上并没有错,因为我读取到的值是正常的,终于无意中看到ClearErrors,顿时涣然大悟!最后在IfErrors之前需要添加一行ClearErrors,果然解决问题!

Google Test
Google Test是谷歌公司一套开放的可用于C/C++语言的单元测试框架。目前gtest的最新版本是1.5.0。下载gtest之后,首先,需要打开gtest的项目进行编译。
阅读全文…
最近遇到一个用户,启动软件就弹框报错,完全无法使用,然后一步一步调试跟踪,终于发现问题,讲出错代码定位在以下这行:
string remote_address = http_server_socket_->GetEndPoint().address().to_string();
阅读全文…
在Windows程序开发时候,界面上经常会做一些超链接,但是由于MFC并没有这样的控件。于是我在网上发现了一个好用的超链接库,点击这里下载,其使用方法如下:
// 首先在.h文件中定义
CHyperLink m_HyperLink;
// 在.cpp中DDX绑定,其中IDC_HYPERLINK是普通Static控件
DDX_Control(pDX, IDC_HYPERLINK, m_HyperLink);
// 设置URL以及下划线
CString sUrl = "http://www.sizeof.cn";
m_HyperLink.SetURL(sUrl);
m_HyperLink.SetUnderline(FALSE);
C++获得计算机网卡MAC地址,以下程序采用静态加载的办法来实现的,建议在实际项目中,动态加载iphlpapi.dll,来实现获得网卡MAC地址,因为不是每台计算机都有iphlpapi.dll这个问题的,如果是静态加载的话,就可能直接报错。代码如下:
阅读全文…
Roller coasters are so much fun! It seems like everybody who visits the theme park wants to ride the roller coaster. Some people go alone; other people go in groups, and don’t want to board the roller coaster unless they can all go together. And everyone who rides the roller coaster wants to ride again. A ride costs 1 Euro per person; your job is to figure out how much money the roller coaster will make today.
阅读全文…
The Snapper is a clever little device that, on one side, plugs its input plug into an output socket, and, on the other side, exposes an output socket for plugging in a light or other device.
When a Snapper is in the ON state and is receiving power from its input plug, then the device connected to its output socket is receiving power as well. When you snap your fingers — making a clicking sound — any Snapper receiving power at the time of the snap toggles between the ON and OFF states.
阅读全文…
SetTimer是Windows程序下的设置定时器用的,通过SetTimer设置定时器之后,系统会向窗口发送WM_TIMER消息。系统通过响应WM_TIMER消息来执行代码。但是通过在命令行程序或者DLL里面,没有窗口,所以收不到系统发送的WM_TIMER,所以,这个时候,就要使用另外一种方式,那就是自己建立消息循环。下面是一个命令行程序的示例,基本显示了如何在命令行以及DLL程序如何用SetTimer实现定时器:
阅读全文…
MFC开发应用程序时,用到Tab控件的时候,会嵌套一个Child属性的子对话框,如果子对话框需要访问父对话框的函数时,可以使用GetParent()函数。如下:
CFatherDlg* m_father_dlg = (CFatherDlg*)m_child_dlg->GetParent()->GetParent();
第一次GetParent()的时候,获得的Tab空间,第二次GetParent(),才是父对话框。

奇艺网
百度旗下视频悄然组建的奇艺网终于上线内测了,笔者也第一时间收到邀请,试用了一下,确实非常不错,尤其是在用户体验方面基本做到了极致的境界!相信在奇艺正式上线之后,一定会非常精彩!
阅读全文…
近期评论