五花八门
文章平均质量分 65
zjh824
这个作者很懒,什么都没留下…
展开
-
剪贴板延迟提交的实现
剪帖板延迟提交即程序要与其它程序交换数据使用剪帖板时,在成为剪帖板所有者时并不将数据拷贝到剪帖板中,而是将剪帖板清空,在有程序需要剪帖板数据时,WINDOW会给当前的剪帖板所有者发送消息,要求提供剪帖板数据。这种情况一般用在多种剪帖板格式提供时。1。首先清空剪帖板 if(!OpenClipboard()) { MessageBox("Open Error"); return; }原创 2006-01-27 13:21:00 · 1577 阅读 · 0 评论 -
输入法卸载的问题解决
准备离职了,在公司做了两年的VC,其中有大半年都是在输入法里面做。也算涉及到了输入法的方方面面,外挂式的,IME式的,还有wince上的sip输入法,也算是八窍通了七窍了。在这里透露一点秘密,秘密一但说穿了就什么都不值了。做输入法的应该都碰到过这个难题。安装IME输入法是有API可以调用的 ,但是卸载的时候却没有API调用,只有自已去到注册表里面去查找要删除的输入法的HKL,然后到prel原创 2007-06-19 14:50:00 · 3030 阅读 · 5 评论 -
自已出的一份考题
为了应付老板,给新人出的一份考题,比较全面但是都不深,注重理论联系实际 1. 已知下列程序,说明输出结果,并分析其原因.#include "stdafx.h"char * fun(){ char *p = "hello"; retur原创 2007-06-19 09:05:00 · 850 阅读 · 0 评论 -
Windows编程下的一些知识
1、读取文件时如果要计算字符在文件中的实际偏移位,应使用二进制读取模式,否则在文本模式下“/r/n"将会被作为一个字符来计算。0X0D字符将会被截掉。要在写入文件时不写入0X0D字符,也必须使用二进制模式写入,否则"/n"字符写入后会变成"/r/n",c++的标准输出endl在文本模式下写入的也是"/r/n"。2、在低级键盘钩子中使用GetKeyboardData将会失败,不能取得其值,Asy原创 2007-08-12 20:47:00 · 833 阅读 · 0 评论 -
自已写的一段清除Vking病毒文件感染的代码
一次不小心误中了威金病毒(即VKING)的变种,机器上的所有EXE文件都感染了,EXE文件都变成了DOS程序的图标.到网上找遍了杀毒的工具,很遗憾的是没有找到可以真正清除病毒的工具,一般都是直接把文件删除,说是感染了病毒. 由于不想重装系统,有很多东东要装,太累人,没办法,只有自已手动解决.在清除病毒驻留程序后,要小心不能再点击那些已经病毒感染变成DOS图标的文件,否则就会再次感染.找一个被病原创 2007-04-21 21:55:00 · 1789 阅读 · 0 评论 -
汉字输入法的跟踪
HWND hFocus; HWND hWnd; hWnd = ::GetForegroundWindow(); // 得到当前窗口 // if (hWnd == this->m_hWnd) return; // 排除程序本身的窗口 DWORD FormThreadID = ::GetCurrentThreadId(); // 本程序的线程ID // 当前窗口的线程ID DWORD CWn原创 2006-01-27 15:08:00 · 3395 阅读 · 0 评论 -
使用FLASH控件实现SWF2JPG
关键代码如下 CRect rect; m_flash.GetWindowRect(&rect); rect.SetRect(rect.left,rect.top,rect.left+m_nWidth,rect.top+m_nHeight); ScreenToClient(&rect); m_flash.MoveWindow(&rect,TRUE); SetDlgItemText(IDC_P原创 2006-01-27 15:00:00 · 1860 阅读 · 0 评论 -
网卡序列号的三种获得方法
方法1连接Netapi32.lib库,然后define 一个NCB的结构体,再调用netbois(ncb)获取序列号.如果netbios被禁用的话,将取不到序列号方法2调用IPCONFIG命令获取其结果,实用价值不大。方法3,使用SNMP协议读取 LoadLibrary("inetmib1.dll");获取DLL中SnmpExtensionInit,SnmpExtens原创 2006-01-27 14:50:00 · 7506 阅读 · 0 评论 -
硬盘序列号的获得
window98必需使用smartvsd.vxd, ZeroMemory(&vers,sizeof(vers)); h=CreateFile("////.//Smartvsd",0,0,0,CREATE_NEW,0,0);// SMARTVSD.VXD if (!h) { AfxMessageBox("open smartvsd.vxd failed"); return 0; }原创 2006-01-27 14:24:00 · 1866 阅读 · 0 评论 -
log4cpp内存泄露
使用中发现log4cpp1.1在使用自己NEW出来的category时正常,但是使用config时就出现内存泄露。排查发现config创建与NEW创建使用了不一样的接口 void Category::addAppender(Appender& appender) { threading::ScopedLock lock(_appenderSetMutex);转载 2013-08-27 13:09:59 · 1744 阅读 · 0 评论