![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC++
zeqi1991
这个作者很懒,什么都没留下…
展开
-
监视文件夹的action[文件增加,修改,删除,重命名等]
void WatchFile(){ DWORD cbBytes = 0; char file_name[MAX_PATH] = {0}; char notify[1024] = {0}; int count = 0; TCHAR* dir = _T("D:\\"); std::string s = "D:"; HANDLE dirHandle = ::CreateFile(dir, GENERIC_READ | GENERIC_WRITE | FIL原创 2022-05-18 18:45:56 · 279 阅读 · 0 评论 -
CString输出文本对齐处理
int HasChineseChar(const CString& str){ CString content; int count = 0; for (int i = 0; i < str.GetLength(); i++) { if (str.GetAt(i) > 255) { content += str.GetAt(i); count++; }原创 2022-05-15 14:41:18 · 433 阅读 · 0 评论 -
VA助手亮显背景
va助手在黑色主题下,如果当前行亮显,那么它的highlight words在当前行可能会没有亮显背景原创 2021-12-21 09:24:34 · 190 阅读 · 0 评论 -
模拟qq窗口抖动效果
RECT rtWindow; GetWindowRect(&rtWindow); //long x = 400; //long y = 200; long x = rtWindow.left; long y = rtWindow.top; long cxWidth = rtWindow.right-rtWindow.left; long cyHeight = rtWindow.bottom-rtWindow.top; const long nOffset = 9; const .原创 2021-12-11 11:24:10 · 401 阅读 · 0 评论 -
检查windows操作系统的位数
bool IsWow64(){ typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); BOOL bIsWow64 = FALSE; LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(_T("kernel32")), "IsWow64Process"); if (NULL !原创 2021-12-11 11:22:56 · 313 阅读 · 0 评论 -
隐藏 Windows任务栏中的窗口显示
CoInitialize(NULL); ITaskbarList* pTaskBarList = NULL; HRESULT hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList, (void**)&pTaskBarList); if (SUCCEEDED(hr)) { pTaskBarList->HrInit(); ...原创 2021-12-11 10:53:42 · 409 阅读 · 0 评论 -
MFC程序调用时,获取命令行参数的几个方法
方法一CString commandLine = GetCommandLine();这里获取到 "C:\test\app.exe -1 -2"方法二AfxGetApp()->m_lpCmdLine这里获取到 "-1 -2"原创 2021-12-11 10:44:43 · 807 阅读 · 0 评论 -
Windows系统下获取本机IP
#pragma comment(lib, "ws2_32.lib") WSADATA wsd; WSAStartup(MAKEWORD(2, 2), &wsd); DWORD size = MAX_PATH; char computerName[MAX_PATH] = { 0 }; GetComputerNameA(computerName, &size); CString str; struct hostent* pHost = nu原创 2021-06-30 14:42:11 · 258 阅读 · 0 评论 -
CFileDialog
文件打开 // 打开一个txt DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT; //一般 “文本文件*.txt|*.txt”为一组,最后加上 "||" const TCHAR* filter = _T("文本文件*.txt|*.txt|word文档*.doc|*.doc|所有文件(*.*)|*.*||"); CFileDialog dlg(TRUE, _T("txt"), NULL, dwFlags,原创 2021-04-25 23:32:40 · 2262 阅读 · 0 评论 -
vsvim的设置
vsvim退出编辑模式的方法使用ESC,但是esc按键太远,不太适合使用vsvimrc文件,用 jj这个快捷键代替使用hotkey,交换esc和caps lock使用vsvim自带的ctrl+[介绍一些怎么处理vsvim自带的 ctrl + [, 首先,ctrl+[会被vs自动处理为一个组合键,所以按下这两个键时,vsvim不会立刻响应并执行下一步的操作。原来我是连续按两次ctlr + [,解决办法是:在选项-vsvim-keyboard中调整ctrl+[为vsvim,然后在选项-环境-键盘原创 2020-12-07 09:23:31 · 641 阅读 · 0 评论 -
Windows API关于文件路径的处理函数
文件路径处理的相关函数相关函数在头文件<Shlwapi.lh>中,需要#pragma comment(lib, “shlwapi.lib”)获取当前运行的exe程序的位置char filePath[MAX_PATH] = {0};::GetModuleFileName(nullptr, filePath, MAX_PATH);获取当前运行的dll位置extern CDialogApp theApp;char filePath[MAX_PATH] = {0};::GetMod原创 2020-12-03 14:44:33 · 1392 阅读 · 0 评论 -
vs2010遇到异常退出的解决办法
vs2010闪退今天遇到了2010闪退的一个问题,当时的场景是,随意打开一个mfc工程,然后切换到继承CWinApp的类的头文件下// PropertySys.h : PROJECT_NAME 应用程序的主头文件//#pragma once#ifndef __AFXWIN_H__ #error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"#endif#include "resource.h" // 主符号// CPropertySysApp:// 有关此类原创 2020-12-03 14:07:54 · 1376 阅读 · 3 评论 -
控制台程序的定向输出
控制台程序的定向输出void ClickedButton(){ UpdateData(); BYTE b1, b2, b3, b4; if (m_IpAddressCtrl.GetAddress(b1, b2, b3, b4) < 4) return; TCHAR cmdLine[MAX_PATH] = {0}; _stprintf(cmdLine, _T("Ping.exe %d.%d.%d.%d"), b1, b2, b3, b4);原创 2020-11-23 09:55:00 · 192 阅读 · 1 评论 -
常用文件读写(1)
文件操作的几种方式使用CRT函数文件操作可以使用C语言运行时库来完成,CRT提供的fxxx()函数如下表所示函数含义fopen打开指定文件名的文件fclose关闭文件fwrite向文件写入指定的数据fread从文件中读取指定长度的数据fgetc从文本文件中读取一个字符fgets从文件文件中读取一串字符fputc向文本文件写入一个字符fputs向文本文件中写入一个字符串feof判断文件是否到达文件结尾ftel原创 2020-11-20 19:01:09 · 509 阅读 · 0 评论 -
CMFCPropertyGridCtrl的简单用法
简单创建一个CMFCPropertyGridCtrl创建一个简单的工程,添加CMFCPropertyGridCtrl这个控件,然后关联一个变量。 // TODO: 在此添加额外的初始化代码 m_propertyGridCtrl.EnableHeaderCtrl(FALSE); m_propertyGridCtrl.EnableDescriptionArea(); m_propertyGridCtrl.SetVSDotNetLook(); m_propertyGridCt原创 2020-10-31 09:56:24 · 3053 阅读 · 0 评论 -
CEdit控件
设置多行的属性当文字内容超过显示范围是,自动显示垂直拉条Horizontal scroll//注意:Horizontal scroll 和 Auto HScroll 不要选择在OnInitDialog()函数中处理:// 获取EDIT可以显示的行数 TEXTMETRIC tm;CRect rect;GetDlgItem(IDC_EDIT_INFO)->GetClientRect(&rect);CDC* pdc = GetDlgItem(IDC_EDIT_INFO)-&g.原创 2020-09-17 15:48:02 · 906 阅读 · 0 评论 -
一个窗体,切换Popup属性和Child属性
之前的计算界面,是一个个的独立窗体,都是popup的弹出窗体。现在是想以子窗体的形式体现出来,并且保证代码不需要大量更改或者再创建一份资源。这就需要使用一些办法解决问题。//独立窗口显示CDataDlg dlg;dlg.Domodal();//子对话框的形式显示CDataDlg dlg;dlg.Create(CDataDlg::IDD, this);dlg.ShowWindow(SW_SHOW);这就意味着需要在窗体未创建之前修改窗体样式。这里涉及到一个函数PreSubclass原创 2020-08-28 17:28:10 · 527 阅读 · 0 评论 -
MFC添加对话框资源时,怎么保证多个对话框大小一致
最近,接到一个活,仿造一个界面做一个计算书功能。仿造界面如下左边是数树控件,右边是子窗口界面,鼠标在左侧选择不同的模块时,右边切换显示界面。这里就涉及到一个问题,对于子对话框,怎么保证它的大小一致,尽量在主对话框内饱满,也就是说要添加子对话框资源的时候,要确保对话框大小一致。解决办法如下:状态栏有两个不停变化数值,第一个是描述窗体的左上角位置,第二个描述的是窗体的大小。这样就可以控制所有子窗体保持一致。原本考虑使用tabctrl控件的,但是tabctrl的描述部分如果文字太长,可能效果就不会太好原创 2020-08-28 17:12:55 · 801 阅读 · 0 评论 -
VC下文件的使用
在VC下文件的使用的案例文件常用的有新建,读,写文件,删除文件,读取文件的路径,创建文件夹(目录),文件的复制,移动,重命名,读取文件的大小,查找文件,遍历目录下的文件和子目录,递归遍历目录下的所有文件和子目录比较少用到的的功能设置文件的属性,使用内存映射文件等下面是几个关于文件使用几个函数 : #include <Windows.h>#include <stdio.h>...原创 2018-04-15 20:46:42 · 3245 阅读 · 0 评论 -
封装一个路径选择对话框
class CPathDialog : public CObject{public: CPathDialog(LPCTSTR lpszTitle, LPCTSTR pszInitPath=NULL,HWND hParent=NULL); virtual ~CPathDialog(); int DoModal(); CString GetPathName...原创 2019-07-08 09:03:18 · 251 阅读 · 0 评论 -
ARX中非模态对话框
ARX中非模态对话框的用法//类似一个全局变量CNoModalDlg* pDlg = nullptr;//资源切换CAcModuleResourceOverride myResource;CMDIFrameWnd* pCadWnd = acedGetAcadFrame();pDlg = new CNoModalDlg;pDlg->Create(IDD_DIALOG_TEST...原创 2019-07-04 10:21:18 · 988 阅读 · 0 评论 -
MSC_VER对应的版本
MSC_VERVS_VERVC_VER1910VS2017VC15.01900VS2015VC14.01800VS2013VC12.01700VS2012VC11.01600VS2010VS10.01500VS2008VS9.01400VS2005VS8.01310VS2003VS7.11300...原创 2019-06-29 22:29:34 · 789 阅读 · 0 评论 -
创建cad菜单
cad菜单的创建办法使用cui自定义,这个是差不多最稳妥的办法了//创建一个test.mnu文本//使用时,直接用menuload命令加载即可,加载后可以得到test.cui文件***MENUGROUP=Polygon***POP3PolygonName [Polygon]Polygon-4 [Polygon-4]^C^C_polygon 4 \I 10Polygon-5 [Pol...原创 2019-07-01 14:06:24 · 1313 阅读 · 0 评论 -
ARX中自定义CDialog
定制对话框//自定义消息#define WM_ACAD_KEEPFOCUS WM_USER+0x1234class MyDialog : public CDialog{ DECLARE_DYNAMIC(MyDialog)public: afx_msg void OnPaint(); afx_msg LRESULT OnAcadKeepFocus(WPARAM...原创 2019-07-16 13:20:04 · 657 阅读 · 0 评论 -
vs调试的时候,怎么让exe以管理员身份运行
在Windows编程中,运行程序时出现错误,错误返回值为5,这表示程序运行的权限不够,在Visual Studio 2017 中设置程序以管理员身份运行的步骤是:直接项目右键—属性—连接器—清单文件—uac执行级别 选择requireAdministrator 重新编译 即可...原创 2019-07-16 22:18:57 · 6895 阅读 · 1 评论 -
CString的GetBuffer
CString str = “abcde/0cde”;输出字符串的值为: abcde而字符串的长度为 s.GetLength() 的值为: 5这是因为CString对象在赋值时只察看到’/0’,后面的疏忽了, 也即便说切实对象str内容为"abcde".而str恳挚的存储空间为6(字符串以’/0’结尾).因而说在字符长度和切实的空间是不一样的. 好!别跑!请看下面有趣的过程:CStr...原创 2019-07-17 16:29:17 · 838 阅读 · 0 评论 -
fatal error lnk1123 转换到coff期间失败”的解决方法
弹出工程的属性界面,在左侧的功能栏中依次打开配置属性-清单工具-输入和输出,接着我们在右侧中找到嵌入式菜单,将其状态改为“否”,然后点击确定来保存配置...原创 2019-07-31 15:06:30 · 201 阅读 · 0 评论