2014年2月27日

暗色CSS,适用与Stylish, IE, FF, OPERA等.

摘要: * { font-family:"Narkisim" "Simsun" "Microsoft Yahei" !important; text-shadow:0px 1px 0px #000000 !important; color:#787878 !important; sfont-weight:bold !important; text-decoration:none !important; background-color:#272727 !important; background-image:none !important;} 阅读全文

posted @ 2014-02-27 15:10 horane.jo 阅读(387) 评论(0) 推荐(0) 编辑

2013年11月28日

CWnd派生的控件处理MouseMove, MouseHover, MouseLeave

摘要: 控件的Notify属性要为TRUE, WM_MOUSEMOVE就可以用MFC标准消息映射接收到.要处理WM_MOUSEHOVER和WM_MOUSELEAVE, 需要在OnMouseMove里写入: TRACKMOUSEEVENT sEvent = { sizeof(TRACKMOUSEEVENT), TME_LEAVE|TME_HOVER, GetSafeHwnd(), 5 }; _TrackMouseEvent(&sEvent);才可以接收到hover, leave消息. 阅读全文

posted @ 2013-11-28 20:31 horane.jo 阅读(405) 评论(0) 推荐(0) 编辑

2013年9月23日

_tcscpy_s的size应至少为src的长度+1(要把\0计算在内)

摘要: RT 阅读全文

posted @ 2013-09-23 16:46 horane.jo 阅读(294) 评论(0) 推荐(1) 编辑

2013年7月10日

用INET(CHttpFile)下载有重定向链接时获取最终URL的方法.

摘要: CString GetRedirectedURL(CString p_URL){ CString szFinalUrl; CInternetSession _session; CStdioFile * pcsf; CHttpFile * pchf; try { pcsf = _session.OpenURL(p_URL, INTERNET_FLAG_TRANSFER_BINARY); CHttpFile * pchf = (CHttpFile*)pcsf; CHAR buf[2048] = {0}; DWORD dwOptionReaded = 0; pchf->QueryOptio.. 阅读全文

posted @ 2013-07-10 17:03 horane.jo 阅读(607) 评论(0) 推荐(0) 编辑

2013年7月3日

GetDlgItem以及其他获得CWnd相关的函数要注意。。

摘要: 不在窗口类内执行的G...函数得到的CWND指针是不可靠的比如有一个UINT Proc(LPVOID lpv);函数,在窗口函数中调用CWinThread * cwt = AfxBeginThread(Proc, this);把主窗口指针传入线程函数,在线程函数中转换为Dlg指针,通过此指针调用GetDlgItem(IDC_TEST_EDIT)和在窗口函数中调用GetDlgItem(IDC_TEST_EDIT)函数获得的CWnd*指针是不同的利用转换指针获得的是不可靠的,所以要尽量在窗口函数中执行这些函数.或者在使用CWnd期间,要保持GetDlgItem的父级别有效.否则会崩溃. 阅读全文

posted @ 2013-07-03 16:16 horane.jo 阅读(302) 评论(0) 推荐(0) 编辑

2013年6月8日

C++指针作为函数参数的注意

摘要: int fun1(int * p_pi);int fun2(int p_ai []);这两种均不能使用sizeof来获得正确大小.如果传入指针是堆内存(malloc等分配),可以使用cout << _msize(k)/sizeof(*k) << endl;来获得其正确大小,不过因为传入指针特性未知,也无法针对指针类型来做限制,所以比较危险,传入栈内存指针后会出错,很不稳定. 阅读全文

posted @ 2013-06-08 11:39 horane.jo 阅读(385) 评论(0) 推荐(0) 编辑

2013年6月6日

C++读写注册表的问题

摘要: UNICODE态下,在读取注册表的时候有时会只获得一个字符,是因为RegQueryValueEx的参数虽然是LPBYTE(unsigned char *),但是读出来的数据却是按照WIDECHAR形式读出的,所以可以直接把LPBYTE强制转换成TCHAR,再加以利用就可以了.写入的时候,如果以TCHAR形式写入,则需要用memcpy(data_to_be_write_LPBYTE, data_wide_char_LPTCHAR, wcslen(data_wide_char_LPTCHAR));来拷贝数据,然后再用LPBYTE的数据写入.尤其是对于有中文的情况,以上的读写方法都可以正常实现. 阅读全文

posted @ 2013-06-06 16:19 horane.jo 阅读(435) 评论(0) 推荐(0) 编辑

Visual Studio对环境变量的影响

摘要: VS会自动保留启动时的系统环境变量,并作为调试程序时的环境变量,如果程序需要利用环境变量,会出现错误.即使在程序中强制修改注册表里的系统环境变量键值,也没有用.解决方案就是利用程序本身调试,Build后,手动双击生成的exe文件...或者调用SetEnvironmentVarAPI函数去更改临时环境变量,这种方式不会永久有效 阅读全文

posted @ 2013-06-06 16:13 horane.jo 阅读(190) 评论(0) 推荐(0) 编辑

2013年6月3日

[NOTE]TinyXML2读取ANSI格式XML里中文的问题.

摘要: 环境是WIN8 PRO X64, VS 2012, 工作工程里的XML读取之后就是乱码,但是我建立的测试工程就正常.读取的是同一个xml文件,字符集环境也相同,但是读取就是出问题.把两个工程拷给老大,在老大机器上用VS10运行,正常读取.原因不明,只找到了解决办法.解决办法就是把存储buf直接用wchar_t,自己手动用MultiByteToWideChar()来转换.很是不解.在老大机器上都正常,说明代码没问题.在我机器上有一个正常,说明我机器没问题.那么问题会出在什么地方?蛋疼. 阅读全文

posted @ 2013-06-03 18:16 horane.jo 阅读(667) 评论(0) 推荐(0) 编辑

2013年5月27日

【转】C++ GetLastError() 返回值对应表

摘要: 〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系统找不到指定的驱动器。〖16〗-无法删除目录。〖17〗-系统无法将文件移到不同的驱动器。〖18〗-没有更多文件。〖19〗-介质受写入保护。〖20〗-系统找不到指定的设备。〖21〗-设备未就绪。〖22〗 阅读全文

posted @ 2013-05-27 14:05 horane.jo 阅读(2623) 评论(0) 推荐(0) 编辑

导航