MFC中初始化opengl的类3D视图
123456789101112131415161718192021222324252627282930313233343536#pragma once class InitOpenGL3D{public: InitOpenGL3D(void); virtual ~InitOpenGL3D(void);public: // 在OnCreate函数中调用此函数: int InitOpenGL3D::OnCreate(LPCREATESTRUCT lpCreateStruct, CClientDC* pDC); // 在Ondestroy()中调用 void InitOpenGL3D::OnDestroy(); // 在OnSize()调用 void InitOpenGL3D::OnSize(UINT nType, int cx, int cy); // 在OnPaint()中调用,窗口框架重绘 void InitOpenGL3D::OnPaint();private: // InitOpenGL3D 消息处理程序 ...
MFC中导出excel表格
MFC中导出excel表格
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192_Application app; Workbooks books;_Workbook book;Worksheets sheets;_Worksheet sheet;Range range;Range xlsCells,xlsCol; COleVariant vResult;COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); //*****//创建Excel 2000服务器(启动Excel)if(!app.CreateDis ...
MFC选择文件存放路径
123456789101112131415161718192021222324BROWSEINFO bi; ZeroMemory(&bi,sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径 bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpszTitle="选择文件存放路径"; //添加提示语句 LPMALLOC pMalloc; LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//以默认路径打开浏览文件夹对话框 char szcSavePath[MAX_PATH]; CString szSavePath=""; if(pidl != NULL) { SHGetPathFromIDList(pidl, szcSavePath);//文件夹路径存放入szcSavePath中 szSavePath.Format( ...
多线程顺序打印字母
多线程顺序打印字母编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#include <process.h>#include <Windows.h>#include <stdio.h> #include <stdio.h>#include <stdlib.h> struct ThreadNum{ char num;}; int const LOOP = 10;HANDLE g_hThreadEvent[3]; unsigned int __stdcall ThreadPrint(LPVOID); int main(_In_ int _Argc, char ...
多线程示例程序
多线程示例程序
12345678910111213141516171819202122232425262728#include <windows.h>#include <stdio.h>#include <process.h>int tally = 0;//glable unsigned int __stdcall ThreadProc(PVOID pm){ for(int i = 1; i <= 50; i++) { tally += 1; } printf("tally=%d\n", tally); _endthreadex(0); // 有这条语句的线程函数不能当普通函数使用。因为它会结束当前线程。 return 0;}DWORD WINAPI ThreadFun(LPVOID pM){ enum{MAXHANDLE = 1}; HANDLE handle[MAXHANDLE]; handle[0] = (HANDLE)_beginthread ...
限制客户端运行数量
windows限制客户端运行数量CreateMutex()函数可用来创建一个有名或无名的互斥量对象
1CreateMutex //找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥量。
12345678HANDLE hMutexOne = CreateMutex(NULL, false, "RUNONCE"); if (GetLastError() == ERROR_ALREADY_EXISTS){ CloseHandle(hMutexOne); // 关闭句柄 // 结束进程 return FALSE;}// do something
c++导入、导出函数
使用extern “C” _declspec(dllexport) Return Type funcname(parameter list);
声名的函数 要使用typedef Return Type ( * funcname)(parameter list );
Return Type 返回值类型
funcname 函数名parameter list 参数列表
使用C++方式 DLL
typedef Return Type (_stdcall* funcname)(parameter list );
123456789101112131415161718#ifdef __cplusplusextern "C" {#endif // #define DLL_EXPORT // #ifdef DLL_EXPORT#define DLLAPI __declspec(dllexport)#else#define DLLAPI __declspec(dllimport)#endif // 列表 int DLLAPI add ...
MFC加载位图和图标
从文件加载位图
1234567891011121314151617181920#pragma once // ZBitmap从文件加载位图资源class ZBitmap{private: HBITMAP m_hBitmap; CString m_FileName;public: ZBitmap(const char* pFileName); ZBitmap(); virtual ~ZBitmap();public: HBITMAP GetHandle(); BOOL LoadBitmapTo(const char* pFileName); private: // stop copy ZBitmap (const ZBitmap&); ZBitmap operator=(const ZBitmap&);};
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include "StdAfx.h"#include " ...
动态加载DLL
动态加载DLLdumpbin -exports xx.dll // 查看DLL函数名称列表
动态加载DLL
123456789typedef BOOL (_stdcall * SetHook)(HWND);//定义函数指针类型HINSTANCE hInst;hHookInst=hInst=LoadLibrary("Hook.dll");//动态加载DllSetHook Hook=(SetHook)GetProcAddress(hInst,"SetHook");//获取Dll的导出函数if (NULL == Hook){ MessageBox("加载失败!", "error", 64);}FreeLibrary(hHookInst);
多选checkbox选中
查询条件较多,可以选择其中的1-n条,
设置chexk box 选中1((CButton*)(GetDlgItem(ID)))->SetCheck(TRUE);得到选中状态1((CButton*)(GetDlgItem(ID)))->GetCheck();
要使 CComboBox 不自动排序 去掉styles->sort前面的勾
VC6.0下设置编辑框不可见将visable勾去掉