c++
hu421160052
水滴石穿
展开
-
MFC无边框 窗体阴影实现
SetClassLong(this->m_hWnd, GCL_STYLE, GetClassLong(this->m_hWnd, GCL_STYLE) | CS_DROPSHADOW);原创 2020-03-20 17:20:20 · 857 阅读 · 0 评论 -
C++解析域名
BOOL GetRealIpByDomainName(char *szHost, char szIp[50][100], int *nCount){ WSADATA wsaData; HOSTENT *pHostEnt; int nAdapter = 0; struct sockaddr_in sAddr; if (WSAStartup(0x0101, &wsaData)...转载 2020-03-11 10:52:03 · 602 阅读 · 0 评论 -
程序开机自启后无法加载config.ini配置文件
在加载文件时注意:使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!使用绝对路径!C++程序看这里 CString path; GetModuleFileName(NULL, path.GetBufferSetLength(MAX_PATH + 1), MAX_...原创 2019-12-12 10:16:43 · 2166 阅读 · 0 评论 -
C++程序设置 开机自动启动
//找到当前路径,不含运行文件的路径void GetCurrentProcessPath(char* strname, int len)//获取当前进程路径{ char strdir[1024] = ""; memset(strdir, 0, sizeof(strdir)); if (GetModuleFileName(NULL, strdir, sizeof(strdir))) {...原创 2019-12-11 10:30:06 · 2808 阅读 · 0 评论 -
MFC中给窗体添加ico图标
第一步向资源文件添加ico资源第二步void MainUI::DoDataExchange(CDataExchange* pDX){ HICON hIcon = AfxGetApp()->LoadIconA(IDI_ICON1); SetIcon(hIcon, FALSE);}在窗体自动生成的这一个类中载入图标然后重新生成程序这个就是加载后的样式成功替代了原来的默认图...原创 2019-12-03 10:26:54 · 2787 阅读 · 1 评论 -
不是有效Win32程序,VS2015编译C++在XP上运行
以上是在xp上出现过的问题,还有提示不是有效win32应用程序等,不一一举例了,下面说下我的解决方法,顺便保存下避免下次又去导出找方法Debug编译模式下1.常规配置2.c/c++预处理器设置_CRT_SECURE_NO_WARNINGSUSING_V110_SDK713.多线程MT4.链接器设置最低版本为5.015.如果还是不行提示缺少dll在这里下载修复包www....原创 2019-11-20 14:41:50 · 1311 阅读 · 0 评论 -
C++中的构造函数和析构函数
1.构造函数,主要是在初始化的时候赋值成员变量等作用。2.析构函数刚好相反菜鸟教学下面这样解释:类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。#include <iostream&...原创 2019-04-12 17:36:18 · 148 阅读 · 0 评论 -
C++基本数据类型
#define FALSE 0 afx.h<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />#define TRUE 1 afx.h#define NULL 0 afx.htypedef void...转载 2019-03-29 09:59:31 · 322 阅读 · 0 评论 -
C++使用Socks5协议进行代理上网(四)
上一篇文章链接:https://blog.csdn.net/hu421160052/article/details/88871480 //发送正式数据 MessageBoxA(NULL, (const char*)message, "即将发送的正式数据:", NULL);//第一次认证,如果为1则正确,为0则错误 send(sockClient, (char*)message, strle...原创 2019-03-28 16:21:24 · 3302 阅读 · 5 评论 -
C++使用Socks5协议进行代理上网(三)
上一篇文章连接:https://blog.csdn.net/hu421160052/article/details/88870940这里是账号密码认证之后,这里需要你提供你要到达的具体的目的server的IP和Port,以及连接的具体方式 index = 0; byte Msg3[100]; //socks5协议部分(5.客户端认证成功后开始进行请求) //|-------|-----...原创 2019-03-28 16:12:33 · 4330 阅读 · 4 评论 -
C++使用Socks5协议进行代理上网(二)
以下是上一篇文章链接https://blog.csdn.net/hu421160052/article/details/88870402协议第二部分://第二次发送数据 index = 0; //重置长度 byte Msg2[100]; //socks5协议部分(3.发送账号密码数据至服务器认证) //|--------|-------------|------------...原创 2019-03-28 15:54:16 · 4459 阅读 · 0 评论 -
C++使用Socks5协议进行代理上网(一)
网上已经有很多文档详细介绍了协议内容以及怎么去使用,最近在做这个项目,已经完成了TCP协议的全部部分,在这里做下笔记顺便和大家分享下,如果有需要的同志们可以用我这个作为模板,已经精通这些的大神们希望看到问题能给我提出来,我也有几个地方是一知半解,其中有些我遇到的注意事项我会单独注明,防止自己后再犯同样的错误。。。下面是协议第一部分代码(注意,和代理服务器的连接在这一部分已经完成,这里只贴出了关于...原创 2019-03-28 15:37:32 · 8844 阅读 · 1 评论 -
C++中的char类型和wchar_t类型的互转
1.wchar_t转化char //wchar_t转换char int iSize; char* pszMultiByte; //返回接受字符串所需缓冲区的大小,已经包含字符结尾符'\0' iSize = WideCharToMultiByte(CP_ACP, 0, info[i].szProtocol, -1, NULL, 0, NULL, NULL); //iSize =wcslen...原创 2019-04-01 17:27:16 · 1471 阅读 · 0 评论 -
Win32中ListView判断是否选中某行checkBoxs
ListView_GetCheckState宏确定是否选择了列表视图控件中的项。这应该仅用于具有LVS_EX_CHECKBOXES样式的列表视图控件 。句法BOOL ListView_GetCheckState(HWND hwndLV,UINT iIndex);参数hwndLV类型:HWND列表视图控件的句柄。iIndex输入:UINT要检索检查状态的项目的索引。返回值...翻译 2019-04-25 10:48:56 · 1846 阅读 · 0 评论 -
C++中的getline未定义标识符
在网上查询资料说的是添加如下头文件#include <stdlib.h>#include <stdio.h>但是我的VS2015编译器中还是不正确,应该是添加头文件#include <string>...原创 2019-05-08 16:16:03 · 12318 阅读 · 1 评论 -
C++控制台下不显示控制台只执行CMD命令的方法
编译器为2015VS,字符编码格式为Unicode这是在网上看到的一个方法,正好要用,稍微修改了一下,我的编译环境下时可以直接使用的使用的方法就是调用此函数,输入你想要在CMD中输入的方法就行了,比如char *CommandLine=“netsh winsock reset”;//调用命令行命令而不显示命令行窗口BOOL system_hide(char* CommandLine)...原创 2019-05-06 19:04:41 · 3968 阅读 · 0 评论 -
fopen==NULL的问题
使用fopen时一定注意,特别是在打开多个文件的情况下,每次的fopen使用要紧跟fclose如 FILE * fp; char msg[100]; if ((fp = fopen(ReadCfg_Path_Bind, "rb")) == NULL) { fp = NULL;//需要注意 fp = fopen(ReadCfg_Path_Bind, "w"); //创建文件 ...原创 2019-05-09 17:28:13 · 10785 阅读 · 0 评论 -
VS编译器出现_WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings的解决方法
define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings的解决方案出现这个提示define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings,如下处理即可。#define _WINSOCK_DEPRECATED_NO_WA...原创 2019-05-27 17:14:52 · 2735 阅读 · 0 评论 -
C++程序在各种系统上运行时提示dll缺失等问题的解决方案
如提示:api-ms-win-crt-runtime-l1-1-0.dll 缺失msvcp140.dll 缺失msvcp140d.dll 缺失cvruntime140.dll 缺失等问题https://www.microsoft.com/en-us/download/details.aspx?id=48145在此下载vc_redist 运行环境并安装,安装时对应系统x64或x86,安装后...原创 2019-06-03 11:11:40 · 5283 阅读 · 1 评论 -
试图加载不正确的程序。(异常来自HRESULT:0x8007000B)的处理方式
本人遇到的问题是C#调用C++编写的DLL时出现的此错误解决办法是:C#和C++统一用Releasex86编译原创 2019-07-25 16:57:51 · 2647 阅读 · 1 评论 -
http代理返回值502解决方案
先与代理服务器建立Socket连接,然后发送如下数据sprintf_s(Sendmsg, "CONNECT www.baidu.com:80 HTTP/1.1\r\nProxy-Authorization:Basic %s\r\nUser-Agent:MyApp/0.1\r\n\r\n", Auth);出现这个200状态,表示建立Connect成功...原创 2019-07-26 10:07:10 · 5819 阅读 · 0 评论 -
C++应用程序在编译时需要注意的引用
advapi32.h 中的 RegGetValueWS2_32.dll 中的 inet_pton原创 2019-09-05 11:34:34 · 189 阅读 · 0 评论 -
C++控制窗体拖动
//鼠标拖动SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0);原创 2019-09-23 10:47:21 · 1171 阅读 · 0 评论 -
CMD恢复LSP及查询
netsh winsock reset catalog 该命令将 Winsock 目录重置为默认配置。如果没有LSP安装软件,该命令会很有用。尽管使用该命令可以还原网络连接,但应该慎重使用,因为以前安装的 LSP 都将需要重新安装。netsh winsock show catalog 该命令会显示安装在计算机上的 Winsock LSP 列表。...原创 2019-04-05 10:22:03 · 1883 阅读 · 0 评论 -
C++中的DLL调用0x00000000错误
在DLL调用函数时发生的错误,此错误在dll的入口函数不正确或者DLL中没有所调用的函数接口时发生原创 2019-03-22 11:26:02 · 1149 阅读 · 0 评论 -
Win32中使bmp图片镂空
左边是纯黑底,右边是纯白底static int LOG_CHANGESIZE = 96;static int LOG_CHANGESIZE_Height = 48;HBITMAP hbmp3;... PAINTSTRUCT ps; HDC hdc,hMemDC; HBITMAP hBitmap, hOldBitmap;case WM_PANIT:{ hbmp3 = (HBI...原创 2019-01-16 17:12:46 · 363 阅读 · 0 评论 -
Win32中BeginPaint和GetDC的使用
这是正确的方式,重要的事情说三遍WM_PAINT:{... hdc = BeginPaint(hWnd, &ps); //hdc = GetDC(hWnd);...}1.单独使用GetDC时,窗口画面会一直闪烁,CPU占用会一直提高,大概到10%,后面程序直接卡死,出现程序画面卡顿不能操作的情况2.一起使用GetDC和BeginPaint时,窗口画面 不 会一直闪烁,但...原创 2019-01-15 21:26:59 · 1152 阅读 · 1 评论 -
Win32中的自绘制不规则图形
HDC hdc;PAINTSTRUCT ps;case WM_PAINT:{... //在当前句柄窗口内作画 hdc = BeginPaint(hWnd, &ps); //背景画刷 HBRUSH hBrush, hOldBrush; //画笔 HPEN hPen, hOldPen; //画笔参数容器 LOGBRUSH lb; //自定义画刷 ...原创 2019-01-15 21:11:27 · 445 阅读 · 0 评论 -
C++中用hdc画bmp图片
//在这里是一个正方形,就用一个参数宽度lgWidth =64;PAINTSTRUCT ps;HDC hdc,hMemDC;HBITMAP hbmp1;HLOCAL pBits;hbmp1 = (HBITMAP)LoadImage(hInst, TEXT("D:\\pic\\logo.bmp"), IMAGE_BITMAP, lgWidth, lgWidth, LR_LOADFROMF...原创 2019-01-15 09:41:49 · 3897 阅读 · 0 评论 -
Win32中调用InvalidateRect时,屏幕闪烁的解决方法
//防止界面闪烁 case WM_ERASEBKGND: return TRUE;重载WM_ERASEBKGND消息函数,返回TRUE就解决了整个图片闪烁的问题,前提是InvalidateRect第二个参数指定刷新区域不是整个背景...原创 2019-01-20 00:47:58 · 1883 阅读 · 2 评论 -
C++Win32学习之键盘按下匹配WM_COMMAND消息手册
VK_LBUTTON 0x01 鼠标左键 否VK_RBUTTON 0x02 鼠标右键 否VK_CANCEL 0x03 Ctrl-Break 否VK_MBUTTON 0x04 鼠标中键 否VK_XBUTTON1 0x05 鼠标 X1 键 否VK_XBUTTON2 0x06 鼠标 X2 键 否0x07 未定义 否VK_BACK 0x08 退格键 是VK_TAB 0x09 TAB 键...原创 2019-01-08 22:58:01 · 2016 阅读 · 0 评论 -
原生C++中利用HDC画图,抛物线
这一段代码放入callback中,即可实现绘画HDC hdc;hdc = GetDC(hWnd);//或者hdc=GetWindowDC(hwnd);两者有一点差别MoveToEx(hdc, 5, 2, NULL);//起点定在坐标(100,100)处LineTo(hdc, 500, 30);//画一个(100,100)到(200,200)的线条ReleaseDC(hWnd, hdc);...原创 2019-01-14 13:34:45 · 5290 阅读 · 2 评论 -
C++原生窗体相关学习
控件实现监听https://bbs.csdn.net/topics/390493290原创 2019-01-07 16:54:43 · 266 阅读 · 0 评论 -
C++同时注册两窗口,点击按钮打开另一窗口
//Aother:CYhuq//越禾信息:志在记录和技术交流//QQ:421160052#include <windows.h>#include <stdlib.h>#include <string.h>#include <tchar.h>#include <iostream>#include "resource.h"#...原创 2019-01-12 10:41:03 · 2958 阅读 · 0 评论 -
C++之子类化窗口,实现Edit控件对WM_KEYDOWN的监听-收藏
https://www.cnblogs.com/guolixiucai/p/4758840.html转载 2019-01-10 19:15:09 · 822 阅读 · 0 评论 -
Win32获取相对路径的方法
两个函数一个全局变量就可以搞定static char LOGO_PATH[100]="";//先初始化一个地址//拼接函数void link(char *s, char *t){ while (*s != '\0') { s++; } while (*t != '\0') { *s++ = *t++; } *s = '\0';}void Func_Pic_Path...原创 2019-01-31 10:03:02 · 1841 阅读 · 0 评论 -
Win32中设置窗体失去焦点,并重新获取焦点
因为项目需求,在打开新窗体的同时,需要之前窗口不可被点击,但是最好不要消失,找了很久找到了一种方法: //找到窗口属性 LONG dwNewLong = GetWindowLong(hWndMain, GWL_EXSTYLE); //隐藏窗口 dwNewLong |= WS_EX_TRANSPARENT | WS_EX_LAYERED; SetWindowLong(hWndMain,...原创 2019-02-22 14:37:17 · 7842 阅读 · 0 评论 -
Win32中的wsprintf始终载入1024byte数据
wsprintf在写入数据时,最大的缓冲区为1024个字节,试了很多次,每次都是在一定长度截断我想要输出的字符串,所以才发现了这个问题。如下: char demochar[1026] = ""; for (int i = 0; i < 1026; i++) { demochar[i] = '26'; } wsprintf(demochar, "%s",demochar);//...原创 2019-03-13 11:55:40 · 283 阅读 · 0 评论 -
Win32使用ListView时的注意事项
这两天使用listview的一些心得和问题,拿来跟大家分享一下1.一个大坑,调试了许久,在删除所有行后,必须要重新设置一次mask,如下LV_ITEM lvItem;...//删除所有行SendMessage(hwndListView, LVM_DELETEALLITEMS, 0, 0);//这里是line是一个int值,为行号lvItem.mask = LVFIF_TEXT...原创 2019-03-06 16:36:07 · 1041 阅读 · 6 评论 -
Win32程序SetWindowText()改变Static标签内容重影问题
最近遇到的一个问题说一下,在Win32中预定好的static的内容,在使用下面的API后导致重影: SendMessage(hWnd, WM_SETTEXT, 20, (LPARAM)TEXT_Static1);----------------------------------------------解决方案---------------------------------------...原创 2019-03-06 11:04:59 · 1435 阅读 · 0 评论