VC++
keivin2006
一名c/c++/vc/qt 的小学生,“精通”c,“精通”c++,“精通”vc++,“精通”php,“精通”qt,“精通”java,
“精通”python,“精通”c#,“精通”...! 编不下去了,只要见过名字的都我“精通”....为哈,因为我现在是csdn“砖家”了!
本人qq: 88520350
qq学习群:930432714 (C/C++/QT/VC学习交流群) 海量学习资料都分享在群里
指点学习方向,掌握学习要点,快速提高技术水平, 技术分享,共同学习!
展开
-
GetPrivateProfileString 中文乱码解决
如:读取ini文件的属性值(中文)问乱码我调用下面的接口,从ini配置文件中读取相关的属性值CStringicon_name; GetPrivateProfileString(szTypeName,szIconName,"",icon_name.GetBuffer(MAX_PATH),MAX_PATH,strIniPath);配置文件内容如下:[devtree]wendu=111111111shidu=我爱你侃大山获取到的shidu就是乱码解决方式:CStri..原创 2021-03-17 17:04:37 · 8760 阅读 · 30 评论 -
VC++键盘钩子demo
HHOOK keyHook = NULL;//先声明函数,实现在下面LRESULT CALLBACK keyProc(int nCode, WPARAM wParam, LPARAM lParam);//初始化钩子,关闭键盘事件(除了ALT+CTRL+DELETE)void initHook(){ keyHook = SetWindowsHookEx(WH_KEYBOARD_LL, keyProc, GetModuleHandle(NULL), 0);}//销毁钩子void un.原创 2020-12-18 09:39:05 · 1598 阅读 · 27 评论 -
“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ” VC2017解决
VC2017 打开以前版本的项目,编译出现如下错误:/Zi生成一个程序数据库(PDB),其中包含供调试器使用的类型信息和符号化调试信息。 符号化调试信息包含变量的名称和类型以及函数和行号。/Zi不影响优化。 但是,/Zi的确暗示了/debug;类型信息放置在 .pdb 文件而不是 .obj 文件中。/ZI就是生成调试信息,当程序崩溃时可以通过这个PDB来调试程序,定位崩溃的位置/Gy(启用函数级链接)备注链接器要求将函数单独打包为 COMDAT,以排...原创 2020-12-06 15:24:05 · 1473 阅读 · 29 评论 -
解决winnt.h(389): error C2059: 语法错误:“;”
大胸弟:来都来了,不点点关注,不点点赞 ,您是不是有点太不讲武德了!问题:突然出现winnt.h(389): error C2059: 语法错误:“;” 就这么一句话,怎么破,fuck突然想起来,前几天有修改个 winnt.h 这个文件为什么要修改这个文件呢, 因为啊,要用 Dshow,我也没想去改这东西啊...............//原有typedef void *PVOID;typedef void * POINTER_64 PVOID64;//修改后,为了使用Dsh..原创 2020-12-02 15:55:05 · 2228 阅读 · 25 评论 -
VC++字符串IP地址转DWORD地址
大胸弟:来都来了,不点点关注,不点点赞 ,您是不是有点太不讲武德了!实现功能:把字符串IP地址转DWORD地址 ,如转换成CIPAddressCtrl 添加的DWORD变量 DWORD m_dwIpaddress; string strIPAddress = "192.168.10.10"; m_dwIpaddress = IP_str2int(strIPAddress.c_str()); m_dwIpaddress = ntohl(m_dwIpaddr...原创 2020-11-25 10:37:34 · 3053 阅读 · 45 评论 -
vc查找进程并杀死指定进程
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)第33章:vc查找进程并杀死指定进程源代码demo已上传到百度网盘:永久生效 ,代码实现了获取枚举系统所有进程,然后杀死你想要kill的进程主要用到了以下函数CreateToolhelp32Snapshot函数功能:函数通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照.说到底,可以获取系统中正在运行的进程信息,线程信息,等函数原型:HANDLE WI...原创 2020-11-23 09:50:52 · 1578 阅读 · 29 评论 -
VC++指定目录下文件按时间排序输出
功能: 获取某一指定目录下的所有文件,然后按时间排序保存,一般用于界面展示,或者文件列表排序功能...//排序void CSubCameraControlDlg::FileArraySortbySystemTime(CStringArray& _arr){ int len = _arr.GetCount(); for(int i=0; i<len-1; i++) { int min=i; for(int j=i+1; j<len; j++) .原创 2020-11-06 15:23:24 · 2802 阅读 · 41 评论 -
C/C++/VC学习交流QQ群:930432714
VC学习QQ交流群930432714指点学习方向,掌握学习要点,快速提高技术水平, 技术分享,共同学习涉及领域 工控类、音视频类、网络通信类 欢迎你的参入,定期分享技术博文与知识!代码资料分享:以下代码如有需要,都可以在群里共享!还等什么,快来吧,大胸弟.........还等什么,快来吧,大胸弟............原创 2020-10-29 17:47:53 · 4884 阅读 · 64 评论 -
C++/VC学习交流群 930432714
VC学习交流群930432714帮助初学者指点学习方向,掌握学习要点,快速提高技术水平, 技术分享,共同学习本人10年以上的c/c++/vc开发经验 涉及领域 工控类、音视频类、网络通信类 欢迎你的参入,定期分享技术博文与知识!第1章:VC++ ini配置文件封装类源代码功能介绍:代码实现了读写整型、浮点型、字符串、16进制数据的功能第2章:VC++实现二维码(显示+保存图片)功能源代码功能介绍:采用LibQREncode ,可以生成二维码,保存二维码图片(bmp/j...原创 2020-10-30 15:44:02 · 2063 阅读 · 23 评论 -
VC++wifi连接(附源码)
VC++开发常用功能一系列文章 (欢迎订阅,持续更新…)第2章:VC++wifi连接增强版源代码demo已上传到百度网盘:永久生效代码通过 WLAN的接口,采用profile的方式,支持有密码与无密码的连接 ,关键是在于怎么设置好这个profile 参数BOOL CwifiDlg::ConnectWanByWpa(CString strssid, CString strpassword){ // TODO: Add your control notification handler cod原创 2020-10-24 11:22:02 · 14123 阅读 · 109 评论 -
VC++获取CPU使用率,内存使用率
VC++开发常用功能一系列文章 (欢迎订阅,持续更新…)源代码demo已上传到百度网盘:永久生效/*********************获取CPU使用率***************************/__int64 LCMSysHelp::CompareFileTime(FILETIME time1, FILETIME time2){ __int64 a = time1.dwHighDateTime << 32 | time1.dwLowDateTime; __int6原创 2020-10-24 09:06:37 · 2284 阅读 · 80 评论 -
VC++开发实用功能源码+demo
文章还会持续更新… (每篇文章尾都附有源码与demo的百度分享链接,没有任何套路<本人也没有公众号>,百分百可下载).(凡是留言与评论5篇以上的,留下你的邮件方式,源码与demo直接发你,开心就好)第1章:VC++ ini配置文件封装类源代码功能介绍:代码实现了读写整型、浮点型、字符串、16进制数据的功能第2章:VC++实现二维码(显示+保存图片)功能源代码功能介绍:采用LibQREncode ,可以生成二维码,保存二维码图片(bmp/jpg/png) ,以及在窗口上显示二维码,二原创 2020-10-14 11:44:39 · 857 阅读 · 1 评论 -
vc++获取应用程序完整路径
HMODULE GetSelfModuleHandle(){MEMORY_BASIC_INFORMATION mbi;return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0) ? (HMODULE)mbi.AllocationBase : NULL);}//在程序中通过调用该函数即可获取到dll的完整路径至strDllFullPath中void GetFullPathOfDll(std::string&am原创 2020-10-14 10:00:33 · 537 阅读 · 12 评论 -
duilib 可拉动改变窗口大小
xml<Window size="300,600" caption="0,0,180,30" roundcorner="5,5" sizebox="10,10,10,10" mininfo="280,70" maxinfo="300,700" >响应消息:LRESULT CSubtitleWindow::OnNcHitTest(UINT原创 2018-09-03 16:48:53 · 4400 阅读 · 11 评论 -
movewindow窗口闪烁
场景: 一个视频播放窗口,需要功能是可移动,可拉动改变大小 结果在快速移动时,有些电脑出现了花屏, why? 在onmousemove响应移动加拉动消息 大多数电脑是正常的,偶尔少数电脑出现了这情况, 最后我的结论是:onmousemove进入的消息太多,差的电脑处理不过来,原创 2017-11-15 11:54:12 · 1759 阅读 · 10 评论 -
单文档嵌入word
CFileDialog cFileDlg(TRUE, _T( "doc "),(LPCTSTR)NULL, OFN_ENABLESIZING|OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_LONGNAMES|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_CREATEPROMPT,_T( "doc Files (*原创 2017-04-01 11:47:52 · 2978 阅读 · 12 评论 -
使用MFC操作EXCEL文件
一、加载1、 在VC6.0里创建一个MFC工程2、打开MFCClassWizard窗口(查看—>建立类向导),选择Automation,单击AddClass按钮,选择Froma type library...,弹出文件选择对话框,之后定位到C:\Program Files\MicrosoftOffice\OFFICE11\EXCEL.EXE,在生成类中添加所有的对象(其实添加需要的转载 2015-05-06 11:23:44 · 3807 阅读 · 0 评论 -
Invalidate和UpdateWindow的区别
按引:Invalidate在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。而UpdateWindow直接发送一个WM_PAINT消息,其无效区范围就是消息队列中WM_PAINT消息(最多只有一条)的无效区。效果很明显,调用Invalidate之后,屏幕不一定马上更新,因为WM_PAINT消息不一定在队列头部,而调用UpdateWindow会使WM_PAINT消息马上执行的,绕过了消转载 2014-11-03 19:57:08 · 3632 阅读 · 0 评论 -
Duilib 日历demo
DUIlib 关键是图片和xml文件 ,原创 2014-10-10 16:04:01 · 2560 阅读 · 2 评论 -
CFileDialog 打开目录文件 保存目录文件
格式说明: explicit CFileDialog( BOOL bOpenFileDialog, //TRUE 为打开, FALSE 为保存 LPCTSTR lpszDefExt = NULL, // 默认文件扩展名 LPCTSTR lp转载 2014-07-07 17:54:36 · 4754 阅读 · 0 评论 -
移除DuiLib项目Linker中的riched20.lib
如果已安装Windows SDK、Windows Mobile SDK且默认包含这些目录编译源代码没有问题。由于一些改动需要版本管理发现Build Agent运行失败,考虑到迁移各方面原因还是决定修改调用部分。首先移除项目几个配置版本Linker里的riched20.lib,之后打开UIRichEdit.cpp定位到如下源代码:// Create Text Services c转载 2014-05-04 16:17:34 · 1919 阅读 · 0 评论 -
VC操作Windows快捷方式
二个操作:新建和解析主要用到的是COM组件。IShellLink和IPersistFile需要添加的头函数shobjidl.hIPersistFile主要用到两个成员函数:1、Save。保存内容到文件中去2、Load。读取 Load的函数原型 HRESULT Load( LPCOLSTR pszFileName, //快捷方式的文件名,应该是ANSI字符转载 2014-04-10 11:45:39 · 3516 阅读 · 0 评论 -
VC高版本编译早期代码常见错误...
error C2440: “static_cast”: 无法从“UINT (__thiscall CSizingControlBar::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)” afx_msg UINT OnNcHitTest(CPoint point);//.h ERRORafx_msgLRESULT原创 2013-03-26 17:33:58 · 3633 阅读 · 0 评论 -
char* 和 CString 互相转换
CString str = "hello"; char *p = str.GetBuffer(str.GetLength()); 相反,CString str; str=_T(p); CString str = "hello"; char *p; p=(LPCTSTR)(LPTSTR)str; 如果不更改翻译 2013-01-21 15:01:45 · 3714 阅读 · 0 评论 -
Dialog中使用Printf(使用控制台)
现在Windows编程一般都使用窗口程序设计,即GUI模式。但有时我们需要输出一些信息用于调试或查看某些状态,以前我都是在窗口上加一个Edit控件,然后把需要的信息输出到Edit控件里,但这样严重影响了应用程序的美观。现在,我们可以在应用程序里自己开一个控制台(就像DOS窗口一样),然后重定向输入输出,就可以用printf函数向控制台输出信息了,具体方法如下。 添加引用#i转载 2013-01-06 10:06:15 · 3843 阅读 · 0 评论 -
VC中GDI+双缓冲实现Picture控件中显示png图片
资源下载地址:http://download.csdn.net/detail/zzzili/4177527 #ifndef _CMYSTATIC#define _CMYSTATIC#include "StdAfx.h"#include "gdiplus.h"#pragma comment(lib,"gdiplus.lib")using namespace Gdipl转载 2012-12-30 14:43:24 · 3878 阅读 · 0 评论 -
程序只运行一个实例(包括远程登录运行或打开)
//HANDLE hmutex = CreateMutex(NULL,TRUE,"test.exe");//DWORD err = GetLastError();//if (err == ERROR_ALREADY_EXISTS)//{//AfxMessageBox("程序已经运行!");//return FALSE;//}我们都知道使用Create原创 2012-10-29 15:52:05 · 4130 阅读 · 0 评论 -
_variant_t转CString
1. VARIANT转CString, 也可以将参数类型改为_variant_t。 #include "comutil.h"#pragma comment( lib, "comsupp.lib" )CString VariantToCString( VARIANT var ){ CString strValue; _variant_转载 2012-10-23 16:11:49 · 3828 阅读 · 0 评论 -
MFC常用函数(转)
WinExec()ExitWindowsEx()GlobalMemoryStatus()GetSystemInfo()GetSystemDirectory()GetWindowsDirectory()GetTaskmanWindow() //user32.dll中 获取任务栏窗口句柄 OpenProcessToken()打开一个进程的访问令牌GetCurrent转载 2012-10-19 15:41:00 · 3832 阅读 · 0 评论 -
HP-Socket
原文地址: https://www.oschina.net/p/hp-socket HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实...转载 2018-09-10 17:08:46 · 1393 阅读 · 0 评论 -
vc tcp端口是否被占用
//遍历本地tcp端口 是否被占用bool CiServerCfgDlg::CheckPortIsOccupy(DWORD dwPort){PMIB_TCPTABLE pTcptable;pTcptable = (MIB_TCPTABLE*)malloc(sizeof(MIB_TCPTABLE));DWORD dwsize=sizeof(MIB_TCPTABLE);if (原创 2017-04-06 08:41:23 · 4142 阅读 · 28 评论 -
TCP连接攻击
TCP连接耗尽攻击与防御原理攻击原理连接耗尽攻击是指攻击者通过僵尸网络,向服务器发起大量的TCP连接,耗尽服务器的TCP连接资源。连接耗尽一般有以下几种攻击类型:完成三次握手后,不发送任何报文,一直维持这些TCP连接。完成三次握手后,立刻发送FIN或RST报文,释放本端连接,同时快速发起新的连接。连接过程中呈现给服务器端很小的TCP windows size,导转载 2017-02-21 11:56:39 · 7155 阅读 · 2 评论 -
P2P之UDP穿透NAT的原理与实现
P2P 之 UDP穿透NAT的原理与实现原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt工程下载地址:upload/2004_05/04052509317298.rar 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在转载 2014-07-16 16:04:35 · 3620 阅读 · 0 评论 -
long long 类型的网络字节顺序转换
按照这种想法我们实现long long int(64bit) 类型,把它分割成两个int(32bit),然后分别使用htonl(),分别转换,然后再将两种int交换顺序重新组合,即实现了整个64位的八个字节的翻转。代码如下:#include struct ST{ int val1; int val2;};union test { long long转载 2014-03-26 14:07:33 · 5661 阅读 · 0 评论 -
udp发包大小
今天在用udt测试3G网络的时候,发现udt m_iss (也就是分包大小) udt 默认是1500 ,结果在3G上就是不能正常通信,在局域网里通信相当的棒,后来发现是跟路由器有关,3G网络中超过1400KB的数据包就被阻挡了,kao ,郁了好久… udt 采用udp的发送和接收……最后我改成1300成功, 以下引用别人的知识:udp最大发包大小:65507 字节 =原创 2013-09-09 11:29:50 · 6946 阅读 · 3 评论 -
select搞明白
int tcp_serv = socket(AF_INET, SOCK_STREAM, 0);FD_SET(SOCK_FD(tcp_serv), &read_fds); ret = select(FD_SETSIZE, &read_fds, NULL, NULL, &timeout);把这个tcp_serv socket句柄放到read_fds 让操作系统接管原创 2013-08-21 15:41:13 · 2212 阅读 · 0 评论 -
UDT报错
UDT::UDSET UDT_read_bing_fds;UD_SET(SOCK_FD(serverbing), &UDT_read_bing_fds);ret = UDT::select(SOCK_FD(serverbing)+1,&UDT_read_bing_fds,NULL,NULL,&timeout);vs 2003 跑起来直接就崩溃了 typedef原创 2013-08-19 23:27:01 · 4049 阅读 · 0 评论 -
getaddrinfo函数使用
#include #include #pragma comment ( lib, ws2_32.lib )WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 2, 2 );err = WSAStartup( wVersionRequested,原创 2013-08-15 23:12:17 · 4876 阅读 · 0 评论 -
可靠UDP
1.RakNet2.udt3.enet 4.vtcp5 rudp原创 2013-08-09 16:35:13 · 3775 阅读 · 0 评论 -
udt4 VS udt gateway
mac os x vs windows windows --udt mac os x udt gateway 其实这是两个不同的东西,代码文件一样,内容一样!没去研究实际的区别,但是也可以连通……udt-client udt gateway udt_appserver 这样可以连通 反过来就不行原创 2013-08-02 18:33:38 · 5090 阅读 · 0 评论