
Visual C++编程实战宝典
Visual C++编程实战宝典
Greless
这个作者很懒,什么都没留下…
展开
-
两种串口通信端口编程
一.MS Comm串行通信控件VC6.0安装时自动添加注册这个组件,VS平台需要自己来注册1.准备MSCOMM32.DEP,MSCOMM32.oca,mscomm32.ocx复制到%windir%\system32\2.regsvr32 /s %windir%\system32\mscomm32.ocx文件下载:http://download.youkuaiyun.com/download/t原创 2017-08-24 17:10:08 · 6518 阅读 · 0 评论 -
图形与图像编程(四)-图像特效
一、图像锐化处理//图像锐化处理void CGDIEffectSampleView::OnMenuitemRuihua() { Status status = GenericError; Graphics graphics(m_hWnd); status = graphics.GetLastStatus(); if (status != Ok) return; B原创 2017-08-31 15:02:27 · 446 阅读 · 0 评论 -
图形与图像编程(二)-基础图像技术
一、位图画刷//位图画刷void CGDIBaseSampleView::OnMenuitemBmpbrush() { CDC* pDC = GetDC(); CRect rect; GetClientRect(&rect); rect.top = rect.Height()/4; rect.bottom = rect.top*3; rect.left = rect.Wid原创 2017-08-31 13:59:34 · 995 阅读 · 0 评论 -
图形与图像编程(三)-特殊曲线
一、绘制蜗牛线//绘制蜗牛线void CCavsSampleView::OnMenuitemWoniuline() { float pi = 3.1415926f; CRect rect; GetClientRect(&rect); UINT width = rect.Width(); UINT height = rect.Height(); CDC* pDC = GetDC原创 2017-08-31 14:32:40 · 1568 阅读 · 0 评论 -
图形与图像编程(一)-图形编程
DDB和DIB的区别可以這樣理解 DDB 只存在與內存裡,它是與當前顯示相關的,也不可能保存成文件。一般情況下用 CreateBitmap , CreateCompliateBitmap 就是 DDB而用 CreateDIBSection 得到的就是 DIB, DIB 是文件相關,而 DDB 是設備相關。但在顯示時 DDB 要比 DIB 快。而 bmp原创 2017-08-30 17:33:18 · 1351 阅读 · 0 评论 -
字体效果
一、空心字// 绘制空心字void CFontEffectsSampleView::OnMenuKongxinFont() { // 获得窗口的客户区设备上下文句柄 CClientDC dc(this); // 更改当前字体 LOGFONT lf; dc.GetCurrentFont()->GetLogFont(&lf); CFont font; CFont *pOldFon原创 2017-08-30 15:24:50 · 654 阅读 · 0 评论 -
动态链接库
一、DLL种类不使用MFC的win32 DLL和使用MFC的MFC DLLMFC DLL三种开发方式1.使用静态链接MFC类库的常规DLL2.使用动态链接MFC类库的常规DLL3.MFC扩展DLL。现有MFC类库中的类派生而来的可以重复使用的类。扩展DLL使用MFC的动态链接库版本构建二、DLL文件组成DEF文件模块定义语句1.文件的第一条语原创 2017-08-30 14:49:58 · 881 阅读 · 0 评论 -
DirectX图形开发(一)-基本概念
一.DXSDK_Jun10.exe安装二.VS2015配置1.VC++目录可执行文件目录:$(DXSDK_DIR)Utilities/bin/x86包含目录:$(DXSDK_DIR)Include;$(IncludePath)库目录:$(DXSDK_DIR)Lib/x86;$(LibraryPath)2.链接器附件依赖项:d3d9.lib;d3dx9d.lib;原创 2017-09-04 15:53:01 · 5442 阅读 · 0 评论 -
系统相关功能开发(十)-鼠标键盘
1.交换鼠标左右键void CMouseKeyBordSampleDlg::OnButSwap() // 交换鼠标左右键{ if (SwapMouseButton(TRUE)) // 交换鼠标左右键 WriteLog("鼠标左右键已经交换"); // 输出错误提示信息 else WriteLog("交换鼠标左右键成功"); // 输出提示信息}voi原创 2017-08-25 17:38:39 · 500 阅读 · 0 评论 -
系统相关功能开发(九)-剪贴板
1.列举剪贴板中数据类型void CClicpBoardSampleDlg::OnButtonEnumClformat() // 列举剪贴板中数据类型{ if(!OpenClipboard()) // 打开剪切板 { WriteLog("打开剪切板时发生错误"); // 输出错误信息,并 return; // 返回 } WriteLog("原创 2017-08-25 17:16:15 · 360 阅读 · 0 评论 -
系统相关功能开发(八)-消息
1.自定义消息// 21.8.1(OK)#define WM_MY_MESSAGE WM_USER + 66 // 自定义消息void CMessageSendSampleDlg::OnButtonSendMymessage() // 发送自定义消息函数{ SendMessage(WM_MY_MESSAGE, NULL, NULL); // 发送自定义消息}LRES原创 2017-08-25 17:03:11 · 385 阅读 · 0 评论 -
系统相关功能开发(七)-系统信息
1.获取CPIUDvoid CSystemInfoSampleDlg::OnButtonGetCpuid() // 获取CPU ID值{ BYTE szCPU[16]= {0}; // 定义存放CPU类型的数组 UINT uCPUID = 0U; // 定义存放CPUID的数组 _asm // 开始执行汇编 { mov eax, 0 // 获取CPU原创 2017-08-25 16:27:11 · 346 阅读 · 0 评论 -
系统相关功能开发(六)-桌面相关
1.获取桌面对话框2.获取任务栏对话框句柄void CDesktopSampleDlg::OnButtonGetBar() // 获取任务栏对话框句柄{ HWND hWinBar = ::FindWindow("Shell_TrayWnd",""); // 获取任务栏对话框 if(hWinBar != NULL) WriteLog("获取任务栏窗口句柄成功=0x%08X", hW原创 2017-08-25 15:37:03 · 449 阅读 · 0 评论 -
系统相关功能开发(五)-系统工具
1.为程序添加快捷方式void CSysToolSampleDlg::OnButtonCreatelink() // 为程序添加快捷方式{ if (!SUCCEEDED(CoInitialize(NULL))) // 初始化COM组件 { WriteLog("初始化Shell失败"); // 初始化失败显示信息 return; // 返回 } IShe原创 2017-08-25 15:06:52 · 314 阅读 · 0 评论 -
系统相关功能开发(四)-应用程序操作
1.禁止程序重复运行// CAppOperSampleApp initializationconst char* MyClassName = "CAppOperSampleDlg";BOOL CAppOperSampleApp::InitInstance(){ AfxEnableControlContainer(); HANDLE hMutex = CreateMutex(NULL,原创 2017-08-25 14:55:32 · 339 阅读 · 0 评论 -
系统相关功能开发(三)-系统控制与调用
1.调用外部程序void CSysControlSampleDlg::OnButtonExe() // 调用外部程序{ STARTUPINFO si; // 定义启动信息变量 PROCESS_INFORMATION pi; // 定义进程信息变量 HANDLE hProcess,hThread; // 定义进程句柄和线程句柄 si.cb =si原创 2017-08-25 13:50:53 · 371 阅读 · 0 评论 -
系统相关功能开发(二)-磁盘操作
1.监视硬盘void CDiskOperDlg::OnButtonMonitorDisk() // 监视硬盘{ UpdateData(TRUE); // 从控件获取数据 DWORD dwWaitStatus; HANDLE dwChangeHandle; dwChangeHandle=FindFirstChangeNotification(m_DiskName,原创 2017-08-25 11:44:02 · 429 阅读 · 0 评论 -
系统相关功能开发(一)-获取磁盘信息
1.获取驱动器卷标void CDiskInfoDlg::OnButtonGetvol() // 获取驱动器卷标{ UpdateData(TRUE); // 从控件中更新数据,更新要获取的驱动器名称 char szVolume[MAX_PATH]={0}; // 存放卷标信息的字符数组 if (GetVolumeInformation(m_DiskName,szVol原创 2017-08-25 11:49:49 · 423 阅读 · 0 评论 -
图形与图像编程(五)-图像控制
一、图片上绘制线条//在图片上绘制线条void CGDIControlView::OnMenuitemDrawlineonimage() { Graphics graphics(m_hWnd); Image image(L"baby.JPG"); UINT width = image.GetWidth(); UINT height = image.GetHeight();原创 2017-08-31 17:21:56 · 469 阅读 · 0 评论