vc编程
文章平均质量分 62
haodawei123
这个作者很懒,什么都没留下…
展开
-
vs调用python PyImport_ImportModule返回为0的处理
vs调用python文件PyImport_ImportModule返回为0的处理及原因思考原创 2022-09-14 11:17:40 · 776 阅读 · 0 评论 -
MFC日期时间控件使用
python json与字典的相互转化原创 2022-09-13 17:07:15 · 1275 阅读 · 0 评论 -
vc宽字符函数
vc字符串与宽字符常用函数对照原创 2022-07-17 13:41:29 · 149 阅读 · 0 评论 -
VC++在内存中绘图
HDC hdc=::GetDC(m_hWnd);RECT rect;GetClientRect(hwnd,&rect);int cxClient = rect.right;int cyClient = rect.bottom;//为显示设备创建一块相应的内存HDC hdcmem = CreateCompatibleDC(NULL);//创建位图HBITMAP hBitmap = CreateCompatibleBitmap(hdc,cxClient,cyClient);//将内存句原创 2021-06-18 16:28:26 · 399 阅读 · 0 评论 -
vc调用python函数返回列表的处理
1、python代码输入两个变量,返回一个列表xdef main(a,b): with open("1.txt","w") as fw: fw.write(a) fw.write(b) x=[1,2,3,4] return x,len(x) #//return x,len(x)#两个值就是元组了,也可以处理2、vc代码 Py_Initialize(); PyObject * pModule = NULL; PyObject * p原创 2020-10-20 22:07:22 · 188 阅读 · 0 评论 -
vc调用python返回值处理
1、c代码*通过测试发现只有 char a="";这样定义的字符型指针能通过PyArg_ParseTuple返回正确的字符串,使用char s1[100]={0};这样的形式定义的字符串将s1传入PyArg_ParseTuple函数会返回错误的字符串。Py_Initialize();PyObject * pModule = NULL;PyObject * pFunc = NULL;PyObject * ret = NULL;pModule = PyImport_ImportModule("1")原创 2020-10-20 20:01:57 · 173 阅读 · 0 评论 -
vc调用python函数传递可变参数
在绝大多数的文章中vc调用python的函数传递的参数都是确定的值,通过Py_BuildValue(“s”,“12334”),这样的形式实现的,有时候我们想传递一个可变的参数如有个vc的界面输入一段内容,将这段内容通过python的函数显示出来。下面是完整代码:// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <Python.h>#include <windows.h>#include <stri原创 2020-10-19 10:49:38 · 258 阅读 · 0 评论 -
第二类修正贝塞尔函数
1 递推算式摘自《MATLAB语音常用程序集》第二类修正贝塞尔函数需要用第一类修正贝塞尔函数来计算2 vc编程实现#include <stdio.h>#include <math.h>double first_xzbsl(int n,double x)//第一类修正的贝塞尔函数{ double a[7]={1.0,3.5156229,3.0899424,1.2067492,0.2659732,0.0360768,0.0045813}; double c[7]原创 2020-09-17 17:12:16 · 9297 阅读 · 0 评论 -
windows脱壳总结
1、单步跟踪法原理:单步跟踪就是有向上的跳转就在下面的代码上面F4,执行的跳转下面的代码,一直找直到找到OEP2、ESP定律对UPX ASPack的壳查找OEP使用标志是第一行代码是 pushad单步pushad然后在ESP寄存器上右键数据窗口中跟随数据窗口中ESP寄存器的地址处下硬件访问断点,F9让程序跑起来断下之后JMP xxx 基本就是ESP了3、2次镜像法od中ALT+M打开内存,在程序的第一个.rsrc区段上F2断点,F9运行,断下之后再ALT+M找到00401000这个位置下原创 2020-08-22 20:44:08 · 673 阅读 · 0 评论 -
vc编辑ini文件
CString filter;filter = "日K线文件(*.day)|*.day";CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);if (dlg.DoModal() == IDOK){ CString str; str = dlg.GetPathName(); char tmp[MAX_PATH] = { 0 }; GetCurrentDirectory(MAX_PATH, tmp); strcat_s(tmp原创 2020-06-24 16:55:19 · 191 阅读 · 0 评论 -
vc设置控件颜色
下面的代码设置 IDC_EDIT5控件的颜色void CFdm::SetCtrlColor(CDC * pDC, RECT r, COLORREF clr)//设置控件的颜色{CBrush brush, *oldbrush;CBitmap membitmap;CDC memDC;memDC.CreateCompatibleDC(pDC);membitmap.CreateCompati...原创 2020-04-16 20:26:06 · 684 阅读 · 0 评论 -
vc调用com方法
介绍在VC++ 6.0下编写COM客户程序的三种方法,虽然每一种方法都可以达到使用代码组件的目的,但详细了解并掌握所有方法会为根据具体情况选择适当方法提供更大的余地。1、COM库函数利用COM库函数使用代码组件的方法是介绍的三种方法中实现起来最麻烦和困难的方法。它要求开发人员必须具有对COM原理的深入理解。该方法实现步骤如下:首先添加COM初始和终止代码。在应用程序类的初始化实例函数Ini...原创 2020-03-31 10:03:03 · 634 阅读 · 0 评论 -
vc调用python传入中文参数
0、经过试验可以在 多字节和unicode两种编码方式下使用。1、添加引用文件string,命名空间std#include using namespace std;2、添加下面的转换函数添加下面的转换函数PyObject* StringToPyByWin(std::string str){ int wlen = ::MultiByteToWideChar(CP_ACP, NULL,...原创 2020-03-11 10:53:02 · 267 阅读 · 0 评论 -
VS2013程序设置给其他系统使用
下面的3处设置如下图:静态库中使用MFC使得程序文件变大原创 2020-03-09 15:23:23 · 168 阅读 · 0 评论 -
逆向---注入方式给应用程序添加菜单
原理:通过修改注入表的方式将我们自己的dll中的菜单及响应添加到应用中去,实现我们想要的功能。1、注入dll编写这里是通过 Stud_PE工具将dll注入到目标程序中去的1.1 dll中添加导出函数Stud_PE添加到目标程序是需要添加导出函数,因此这里添加一个导出函数,没有实际功能。jtfz.cppvoid test(){AfxMessageBox(“加载成功!”);}在de...原创 2020-03-07 18:03:36 · 1376 阅读 · 0 评论 -
逆向添加菜单vb
就两个函数一个是 GetMenu,一个是AppendMenuPrivate Declare Function GetMenu Lib “user32” (ByVal hwnd As Long) As LongPrivate Declare Function AppendMenu Lib “user32” Alias “AppendMenuA” (ByVal hMenu As Long, ByV...原创 2020-03-06 21:46:37 · 229 阅读 · 0 评论 -
窗口子类化
BOOL HookGameProc(HWND hGame){if(!lpPreWndProc){lpPreWndProc=(WNDPROC)GetWindowLong(hGame,GWL_WNDPROC);//保存之前的窗口处理入口SetWindowLongA(hGame,GWL_WNDPROC,(LONG)GameRecvProc);//窗口子类化,替换窗口过程}return TR...原创 2020-01-13 20:07:25 · 286 阅读 · 0 评论 -
反调试学习
1、PEB反调试 BeingDebugged :1 NtGlobalFlag :0x70```cpp#include "..//ntdll//ntdll.h"//导入ntdll.h头文件#pragma comment(lib, "..//ntdll//ntdll_x86.lib")//静态链接库#define OUTMESSAGE(a,b) printf("%-36s %s\n",...原创 2019-12-18 22:06:35 · 225 阅读 · 0 评论 -
SendMessage实现进程间通信
通过SendMessage来发送WM_COPYDATA消息实现进程间的通信,之所以使用SendMessage是因为SendMessage会等待消息处理过程运行完毕才返回继续执行,不会清除发送的代码。接收端:打开“类向导”选中“WM_COPYDATA”,添加处理程序,然后在cpp里面添加消息处理代码。发送端:发送函数内部添加下面的代码COPYDATASTRUCT cpd;cpd.dwD...原创 2019-12-09 15:06:32 · 1139 阅读 · 0 评论 -
指向二维数组的指针的使用
定义指向二维数组的指针用 ** 来定义,下面的代码定义一个二维数组a,并申请了BLOCKNUM*4个字节的空间,32位下1个地址占用4个字节。所以a能保存BLOCKNUM=306个地址使用COMPLEX **a = (COMPLEX **)malloc(BLOCKNUM*4);实例int BLOCKNUM = 306;COMPLEX **a = (COMPLEX **)malloc(B...原创 2019-10-23 17:05:45 · 732 阅读 · 0 评论 -
VC程序中关于堆栈大小的划定(转)
https://blog.csdn.net/liuhuiyi/article/details/8207021转载 2019-10-23 16:42:46 · 238 阅读 · 0 评论 -
vc调用surfer开发
1 通过MFC Automation客户调用Surfer这个测试了一下会出错。IDocument 不明确2、通过c++的com接口技术调用surfer3、原创 2019-10-13 19:46:51 · 944 阅读 · 0 评论 -
vc2010 引用ActiveX控件(转)
最近在编一个小程序,需要用到第三方的ActiveX控件,我就以“VC2010 引用ActiveX控件”为关键字在网上查找方法,结果搜索到的基本都是教你怎么在vc6.0中使用ActiveX控件的,我们知道在vc6.0中调用很简单,只要在菜单中,project->Add to Project->Components and Controls->Registered ActiveX C...转载 2019-10-13 19:32:34 · 321 阅读 · 0 评论 -
VC 双击编辑CListCtrl中的数据(转)
最近在拿一些小的项目练习MFC,遇到不少问题,期中之一便是修改列表框中的数据,查阅了一些资料,总结了一些方法,把期中最简单方便的一种方法在这里做简单介绍。想要双击实现修改列表框内容,只需四步:第一步:添加一个edit控件早任意位置,并关联一个变量如:m_edit;,在OnInitDialog()函数中写入 m_edit.ShowWindow(SW_HIDE),作用为初始时讲编辑框应藏第二步:...转载 2019-07-28 11:18:24 · 952 阅读 · 0 评论 -
CFileDialog 文件打开和文件存盘对话框功能
CFileDialog::CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName = NULL,DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL,CWnd* pParent...原创 2019-05-22 09:00:15 · 131 阅读 · 0 评论 -
WinExec、ShellExecute、CreateProcess iexplore.exe打开网页
iexplore.exe 打开网页运行窗口输入 iexplore.exe https://www.baidu.com/?tn=sitehao123_15 就能打开百度主页WinExec主要运行EXE文件** ⑴ 函数原型: UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow); ⑵ 参数: lpCmdLine:指向一个空结束的字符串,串中包...原创 2019-10-09 08:33:50 · 930 阅读 · 0 评论 -
MFC绘图
添加一个鼠标按下事件,当鼠标按下时绘制小方块CClientDC(客户区设备上下文): 处理显示器描述表的相关的窗体客户区域。构造时自动调用GetDC函数, 析构时自动调用ReleaseDC函数.一般应用于客户区窗口的绘制。void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point) //鼠标按下{// TODO: Add your messa...原创 2019-07-01 11:26:24 · 242 阅读 · 0 评论 -
mfc对话框设置对话框的背景色
在OnPaint事件的else里面添加void CMyDlg::OnPaint() //{if (IsIconic()){…}else{CPaintDC dc(this); // device context for paintingCRect rect;GetClientRect(&rect);dc.FillSolidRect(&rect, RGB(255,...原创 2019-07-01 11:24:01 · 717 阅读 · 0 评论 -
OpenProcess返回NULL解决
//提升程序的权限BOOL EnablePrivilege(LPCSTR lpName, BOOL fEnable){HANDLE hObject;LUID Luid;TOKEN_PRIVILEGES NewStatus;if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &...转载 2019-07-08 18:00:57 · 1410 阅读 · 0 评论 -
vc 读文件 fgets fscanf
fscanf 函数原型为 int fscanf(FILE * stream, const char * format, [argument…]); 其功能为根据数据格式(format),从输入流(stream)中读入数据,存储到argument中,遇到空格和换行时结束。fscanf位于C标准库头文件<stdio.h>中FILE *fp;while(!feof(fp)){fsca...原创 2019-07-02 10:31:22 · 545 阅读 · 0 评论 -
vc 双缓冲绘图
当然你可以直接搜索到能用的代码,并且基本能满足要求。不过这样总不是学习的态度。本着学习分享的态度,现做一些基本的分析吧。在MSDN上知道,我们画图的对象都是窗口的DC,WINDOWS的绘图更新时,总是用背景色先填充这个区域,然后才是我们的绘图代码,这就是说,如果我们绘图的代码与背景色差别较大,不管我们更新速度多快,总会有种闪烁的感觉。要想避免,通常的做法都是双缓冲了,具体代码上来了。vo...原创 2019-07-01 17:44:01 · 208 阅读 · 0 评论 -
CStatusBarCtrl控件使用
1、在对话框类的头文件里添加公共道变量public:CStatusBarCtrl m_StatusBar;2、在InitDialog函数里面添加如下代码:m_StatusBar.Create(WS_CHILD | WS_VISIBLE | SBT_OWNERDRAW, CRect(0, 0, 0, 0), this, 0);int strPartDim[3] = { 100, -1 };...原创 2019-05-22 10:43:09 · 1208 阅读 · 0 评论 -
CFileDialog实现多选
// Create dialog to open multiple files.CFileDialog Filedlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT | OFN_EXPLORER, _T(“TBL文件(.TBL)|.TBL||”));// .OFN_ALLOWMUL...原创 2019-05-25 17:51:45 · 1813 阅读 · 0 评论 -
vc读取tbl文件的点号与坐标
因为工作的需要用了一个下午多的时间写了个读V8 tbl文件点号与坐标的程序,修改一下也可以反过来使用,将点号,坐标写入到tbl文件中去,这里使用到了双向的链表结构,值得赞啊!!!!typedef struct LIST{char FileName[MAX_PATH];struct LIST *plist;struct LIST *clist;}LIST;typedef struct ...原创 2019-02-23 09:41:46 · 664 阅读 · 0 评论 -
Tsn文件Tag(标记)各个字节的意义
原创 2019-02-23 00:23:04 · 644 阅读 · 0 评论 -
CreateProcess创建进程
void CStartEditDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码STARTUPINFO si ;PROCESS_INFORMATION pi;GetStartupInfo(&si);//调用GetStartupInfo初始化si,否则createprocess会失败si.cb = sizeof(STARTUPIN...原创 2019-02-15 17:23:12 · 443 阅读 · 0 评论 -
CListCtrl 的自绘(转)
https://blog.csdn.net/sunliangyuan/article/details/7302707转载 2019-07-23 20:27:30 · 835 阅读 · 0 评论 -
vc cmd获取系统版本
cmd /c ver >os.txt上面的命令通过cmd查阅系统版本,写到os.txt文件原创 2019-07-19 14:50:15 · 1027 阅读 · 0 评论 -
vc串口编程通过MScommunication control控件实现
https://www.baidu.com/link?url=H9xjIvYWlZeyAL86c3vcKvsVBycvdrb2vx8MeYoRzEapj7n0riD30rdLeDPomjLk&wd=&eqid=f226a2890052ae87000000035d73a3a5转载 2019-09-07 20:46:54 · 279 阅读 · 0 评论 -
vc CreateFIleA串口通信实现
https://blog.csdn.net/zy1049677338/article/details/56279759转载 2019-09-07 20:36:30 · 1444 阅读 · 0 评论