windows API与底层
文章平均质量分 70
zjh824
这个作者很懒,什么都没留下…
展开
-
剪贴板延迟提交的实现
剪帖板延迟提交即程序要与其它程序交换数据使用剪帖板时,在成为剪帖板所有者时并不将数据拷贝到剪帖板中,而是将剪帖板清空,在有程序需要剪帖板数据时,WINDOW会给当前的剪帖板所有者发送消息,要求提供剪帖板数据。这种情况一般用在多种剪帖板格式提供时。1。首先清空剪帖板 if(!OpenClipboard()) { MessageBox("Open Error"); return; }原创 2006-01-27 13:21:00 · 1584 阅读 · 0 评论 -
文本编码的自动检测
void CDetectCodeDlg::OnButton1() { // TODO: Add your control notification handler code here ::CoInitializeEx(NULL,COINIT_MULTITHREADED); // init COM IMultiLanguage2* pIMultiLanguage2 = NU原创 2008-10-07 09:57:00 · 1481 阅读 · 0 评论 -
虚拟列表的注意事项
树控件中使用虚拟列表插入时使用 TVITEM tvItem; ZeroMemory(&tvItem, sizeof(tvItem)); tvItem.mask = TVIF_TEXT | TVIF_IMAGE |TVIF_CHILDREN |TVIF_SELECTEDIMAGE | TVIF_PARAM; tvItem.pszText = lpsfi.szDisp原创 2007-06-12 16:17:00 · 1170 阅读 · 0 评论 -
Windows编程下的一些知识
1、读取文件时如果要计算字符在文件中的实际偏移位,应使用二进制读取模式,否则在文本模式下“/r/n"将会被作为一个字符来计算。0X0D字符将会被截掉。要在写入文件时不写入0X0D字符,也必须使用二进制模式写入,否则"/n"字符写入后会变成"/r/n",c++的标准输出endl在文本模式下写入的也是"/r/n"。2、在低级键盘钩子中使用GetKeyboardData将会失败,不能取得其值,Asy原创 2007-08-12 20:47:00 · 841 阅读 · 0 评论 -
自已写的一段清除Vking病毒文件感染的代码
一次不小心误中了威金病毒(即VKING)的变种,机器上的所有EXE文件都感染了,EXE文件都变成了DOS程序的图标.到网上找遍了杀毒的工具,很遗憾的是没有找到可以真正清除病毒的工具,一般都是直接把文件删除,说是感染了病毒. 由于不想重装系统,有很多东东要装,太累人,没办法,只有自已手动解决.在清除病毒驻留程序后,要小心不能再点击那些已经病毒感染变成DOS图标的文件,否则就会再次感染.找一个被病原创 2007-04-21 21:55:00 · 1797 阅读 · 0 评论 -
得到当前程序的版本号
int CUpdateDlg::GetLocalVersion(CString &strVersion,CString& szFile){ char* szFileName = "hello.exe"; DWORD dwSize = GetFileVersionInfoSize((LPTSTR)(LPCSTR)szFile,NULL); LPVOID pBlock = malloc(原创 2006-01-27 15:16:00 · 989 阅读 · 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 · 7532 阅读 · 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 · 1877 阅读 · 0 评论 -
API 层实现语音录制
其实要实现声音的录制,可以用多种的方式(例如 mci ),我这里介绍的是在 API 的层面来实现,你可以对其中进行更多的控制。比方说,要音频裸数据存到你指定的内存中去。 录音的回调方式: ValueMeaningCALLBACK_EVENTThe dwCallback parameter is an event转载 2009-03-12 11:49:00 · 850 阅读 · 0 评论