- 博客(224)
- 收藏
- 关注
原创 探测输入字符串是否为UTF8编码
#include <windows.h>#include <crtdbg.h>/*UTF-8 编码规则1字节 0BBBBBBB 2字节 110BBBBB 10BBBBBB 3字节 1110BBBB 10BBBBBB 10BBBBBB 4字节 11110BBB 10BBBBBB 10BBBBBB 10BBBBBB 5字节 111110BB 10BBBBBB 10BBBBBB 10BBBBBB 10BBBBBB 6字节 1111110B 10BBBBBB 10BBB.
2021-08-25 11:54:56 617
原创 由给定的端点和控制点 计算3次 Bezier 曲线
#include <math.h>//计算3次 Bezier 曲线//P0 P3 端点//P1 P2 控制点//ix 输入X//oy 输出Y//有效时返回truebool CalBezier3(POINT P0, POINT P1, POINT P2, POINT P3, double ix, double &oy){ double t, y, x1=0, x2=1, y1; //超过控制点范围? if(ix <P0.x || ix >P3..
2020-10-28 20:55:29 2305
翻译 C++ EXCEL Sample
// Copyright (c) Microsoft Corporation. All rights reserved.//// This source code is only intended as a supplement to the// Microsoft Visual C++ Language Reference and related// electronic documentation provided with Microsoft Visual C++.// See the.
2020-10-18 10:13:57 617
原创 ODBC 枚举数据表名
#include <afxdb.h>class CDatabaseEx : public CDatabase{ DECLARE_DYNAMIC(CDatabaseEx)public: CDatabaseEx(){};public: int EnumTables(CStringArray &sTabs);};IMPLEMENT_DYNAMI...
2020-04-06 12:53:43 451 1
原创 MFC 数据项写入CSV文件
//将数据项写入CSV文件int PutCSVItemLine(FILE *file, CStringArray &sItemLine){ //准备行数据 CStringA sLineString; //循环取子项 for(INT_PTR nItem=0; nItem<sItemLine.GetSize(); nItem++) { //取子...
2020-02-25 13:14:27 2431 3
原创 基于状态机的 CSV 文件数据解析
#include <tchar.h>#include <afxtempl.h>#include <stdio.h>#include <string.h>#ifndef CStringA#define CStringA CString#endif //CStringA//解析CSV行数据核心代码//chLine 输入行//szDa...
2019-12-27 16:32:26 528 3
原创 对话框自己处理边框拖动
LRESULT CDlg2Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { enum _tagDragMask_t { _DragNull = 0x00, _DragLeft = 0x01, _DragTop = 0x02, _DragRi...
2019-11-23 16:00:16 361
原创 10进制34进制转换
//10进制34进制转换//映射表 0~9 A~Z(除去I,O)static const char Code10Map34[] ={ '0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','J','K', 'L','M','N','P','Q','R','S','T','U','V',...
2019-08-23 11:35:25 6640
原创 RegNotifyChangeKeyValue 监控注册表变化
///////////////////////////////////////////////////////////////////////RegMonitorClass.h#pragma onceclass CRegMonitorClass{public: //标准构析函数 CRegMonitorClass(); ~CRegMonitorClass();prote...
2019-08-22 11:32:20 1717
转载 Windows API Monitor
文章转自http://www.rohitab.com/apimonitorAPI MonitorAPI Monitor v2 is currently in Alpha. Installers for both 32-bit and 64-bit versions are now available.Download Now.Save Capture and Moni...
2019-08-22 09:25:43 1714
原创 从CMFCPropertyGridProperty派生新类,实现点击时显示下拉列表
class CMFCPropertyGridPropertyCB : public CMFCPropertyGridProperty{// Constructionpublic: CMFCPropertyGridPropertyCB(const CString& strName, const COleVariant& varValue, LPCTSTR lpszDesc...
2019-08-09 07:03:58 1593 1
原创 在菜单中搜索某项指定ID菜单经过的路径
//获取菜单路径BOOL GetMenuPath(HMENU hMenu, UINT uIDM, CStringArray &szPath){ //按位置搜索ID for(int iPos=0; iPos<GetMenuItemCount(hMenu); iPos++) { //获取菜单信息 TCHAR szString[128]; MEN...
2019-07-25 12:41:54 443
转载 NI VISA 串口读写示例
/********************************************************************//* Read and Write to a Serial Instrument *//* ...
2019-07-06 11:14:16 4525 1
转载 NI VISA USB 读写示例
/********************************************************************//* Read and Write to a USBTMC Instrument *//* ...
2019-07-06 11:13:21 3787 1
转载 NI VISA Tcpip 操作示例
/*********************************************************************//* This example demonstrates opening a simple TCPIP connection and *//* does a read and checks a few properties. *//...
2019-07-06 11:11:27 4283 1
转载 NI VISA viRead viWrite 示例
/********************************************************************//* Read and Write to an Instrument Example *//* ...
2019-07-06 11:02:48 9090 2
转载 NI VISA viLock 操作示例
/********************************************************************//* This example demonstrates VISA locking *//* ...
2019-07-06 11:01:30 1075
转载 NI Visa 操作示例 viFindRsrc
/*********************************************************************//* This example demonstrates how you might query your system for *//* a particular instrument. This example queries for a...
2019-07-06 10:59:05 6577
原创 解决CFtpFileFind在Unicode版本下GetFileURL不能正确返回路径
最近看到 CFtpFileFind GetFileURL 不能正确返回路径在VS2008下测试了一下确实有BUG, 多字节版本下是正常的, 而UNICODE版本下没有后面的文件名大概调试追踪了一下, 先分析GetFileURLCString CFtpFileFind::GetFileURL() const{ ASSERT_VALID(this); ASSERT(m_hC...
2019-06-05 09:52:08 984
原创 在内存创建对话框资源
//////////////////////////////////////////////////////////////////////////BaseDynDialog.h#pragma onceclass CBaseDynDialog : public CDialog{ DECLARE_DYNAMIC(CBaseDynDialog) public: ...
2019-05-30 18:26:04 484
原创 GDI+绘制雷达图
欢迎拍砖#include <atlimage.h>using namespace Gdiplus;class CRadarDrawClass{public: //绘制的单元 typedef struct _tagRadarItem_t { WCHAR szName[64]; //名称 float fValue; //数值 ...
2019-05-28 18:42:57 972
原创 使用CFontDialog 选择字体
{ #ifndef CF_INACTIVEFONTS #define CF_INACTIVEFONTS 0x02000000L #endif //CF_INACTIVEFONTS //初始化字体结构体 LOGFONT lgFont={0}; //填充用于初始化LOFGONT GetFont()->GetLogFont(&lgFont); CFon...
2019-05-22 19:31:54 1114
原创 将读入的文本文件数据转换为UNICODE
//文本转换为UNICODE//pInByte 从文本文件读入的数据//iInBytesLen 原始数据字节长度//pWchString 返回转换后的UNICODE数据(以0结束)//返回转换后UNICODE数据长度int ConvertText2Unicode(const BYTE *pInByte, const int iInBytesLen, LPWSTR *pWchStr...
2019-04-02 10:51:36 1383
原创 由给定的点计算Bezier曲线
//计算 Bezier curve//cpt 端点及控制点//cn cpt的数量//st 准备计算多少步//pXY, X,Y的坐标输出BOOL CalBezier(POINT cpt[], int cn, int st, POINT *pXY){ int r,i,k; double t, t1; double coeffx[20], coeffy[20]; i...
2019-02-16 15:07:13 2837 1
原创 GDI+ 绘制模拟钟表
关键点: 窗口坐标(X轴向右,Y轴向下); 窗口角度逆时针; 关键函数DrawClock#if !defined(AFX_COLOCKSTATIC_H__619C9005_4652_45A8_BC24_801ECF6ED3EA__INCLUDED_)#define AFX_COLOCKSTATIC_H__619C9005_4652_45A8_BC24_801ECF6ED3EA__INCL...
2019-01-03 16:02:05 961
原创 多显示器环境中移动窗口到指定的显示器
//显示器信息结构体typedef struct _tagMyMonitorInfo_t{ HMONITOR hMonitor; MONITORINFOEX info; _tagMyMonitorInfo_t() { ZeroMemory(this, sizeof(*this)); }}MYMONITORINFO, *LPMYMONITORINFO;C...
2018-12-27 12:26:04 1472 2
原创 IcmpSendEcho 实现 ping
#include <Winsock2.h>#pragma comment(lib, "Ws2_32.lib")#include <icmpapi.h>#pragma comment(lib, "Iphlpapi.lib")// Initialize Winsockstruct _tagWinSockInit_t{ _tagWinSockInit_...
2018-11-30 16:20:27 2202
原创 枚举HTML元素及超链接
#include <mshtml.h>INT EnumHtmlElement(IDispatch *pDispDoc, CStringArray &m_listTags, CStringArray &m_listHref){ m_listTags.RemoveAll(); m_listHref.RemoveAll(); IHTMLDocument...
2018-11-14 09:56:05 3324
原创 智能接收条码编辑框
以扫码枪回车作为区分, 下次输入时自动清除 // MyEdit.h : header file#pragma once#define WM_MYINPUT_MSG (WM_USER + 1000)/////////////////////////////////////////////////////////////////////////////// CMyEdit wi...
2018-11-09 09:22:56 301
原创 枚举多显示器信息 EnumDisplayMonitors 应用
class CMultiMonitorEnumerator{public: int m_iMontorNumber; typedef struct _tagVMonitorInfo_t { HMONITOR hMonitor; //显示器句柄 TCHAR szDevice[32]; //显示器名 RECT rcVirtual; //虚拟显示屏坐标 R...
2018-07-05 12:52:25 9307
原创 Verilog 二进制到格雷码的相互转换
/*Decimal Binary Gray-Code00 0000 000001 0001 000102 0010 001103 0011 001004 0100 011005 0101 011106 0110 0101...
2018-05-23 11:47:05 2454
原创 查表法计算CRC32
#include <stdio.h>#include <stdlib.h>#include <string.h> typedef unsigned long u_int32_t;typedef unsigned char u_char; static const u_int32_t crc32tab[256] = { 0x00000000UL...
2018-04-15 10:20:07 3901
原创 自定义对话框类名
标准的对话框类都以“#32770”作为类名,当然常规的应用没有任何问题,但是如果FindWindow查找窗口时就比较容易造成困扰。下面就来介绍下自定义对话框类的简单方法。 首先第一步 修改资源 .rc 文件中的类名,添加CLASS "你想要的类名"IDD_DLG7_DIALOG DIALOGEX 0, 0, 133, 69STYLE DS_MODALFRAME | WS_POPUP | WS...
2018-04-09 14:39:57 1165
原创 计算[s,e]线段是否经过rc区域
//计算[s,e]线段是否经过rc区域BOOL isLineInRetc(const RECT rc, const POINT s, const POINT e){ BOOL bRet = FALSE; //两点式计算与边界的交点 // y = (y2-y1)/(x2-x1)*(x-x1) + y1; double x1 = s.x, y1 = s.y; double x...
2018-03-30 10:17:47 566
原创 子窗口随父窗口缩放管理类
因为记录了子窗口原始相位位置,因此不论缩放多少次,相对位置都不会发生变化#pragma once#include <Afxtempl.h>class CWindowSizeMange{protected: typedef struct _tagSizeData_t { HWND hWndCtrl; //窗口句柄 double fLeft,...
2018-02-12 13:14:47 1530 1
原创 PSAPI 获取应用PID
#include "psapi.h"#pragma comment(lib, "psapi.lib")// Get the process name. INT GetProcessBaseName(DWORD processID, LPTSTR szProcessName, int iBuffLen){ INT iRet = 0; ZeroMemory(szProce...
2018-02-12 12:57:29 862
原创 计算某一天在一年中是第几周
//一年中的第几周 //wYear wMonth wDay 年月日//bSundayAsFirstDay 星期天作为第一天//返回 1~53int GetWeeksOfYear(int wYear, int wMonth, int wDay, BOOL bMondayAsFirstDay){ int iWeek = 0; //确定1月1日是星期几 COleDateTime
2018-01-06 12:22:39 2506 1
原创 解析和创建快捷方式
#include #include BOOL ResolveShortCut(LPCSTR pszShortcutFile, CHAR pszPath[MAX_PATH+1], CHAR szDescription[MAX_PATH+1]){ BOOL bRet = FALSE; *pszPath = 0; // assume
2017-12-15 21:28:19 374
原创 热键管理
#include class CWndHotKeyManage{protected: typedef struct _tagWKItem_t { HWND hWnd; // window to receive hot-key notification int id; // identifier of hot key UI
2017-12-15 21:23:05 419
原创 Uinx 时间戳的转换
Unix时间戳(Unix timestamp), 定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
2017-10-14 16:47:53 1354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人