-
VC++ Thread多线程执行不同任务的例子
VC++ 创建多个 Thread多线程,用以执行不同任务的例子,运行程序后你可看到分别有红色、蓝色的小球,在沿各自不同的轨迹做运动,在代码中,我们创建了一个小球运动线程的主函数,分别用两个线程调用这个函数,但设定的参数不一样,在小球运动函数中,分别定义了小球X、Y方向的运动,确定重绘区域,重绘小球,挂起线程,控制小球速度,并取得客户区大小以及取得小球客户区相对于窗口客户区的位置等,最好还写了一个函数,终止蓝色和红色线程。
- 2022-12-06 04:40:03下载
- 积分:1
-
VC 结合定时器隐藏进程一定时间
VC++ 隐藏进程,这个例子结合了计时器来实现,不是永久隐藏,是隐藏进程一定时间,根据定时器返回的时间,重新显示进程。
要实现这个过程,可编写以下代码:
LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;
//加载RegisterServiceProcess函数所在的链接库
hDLL = LoadLibrary("KERNEL32");
//得到RegisterServiceProcess函数的地址
lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL, "RegisterServiceProcess");
//执行RegisterServiceProcess函数,在任务列表中隐藏程序
lpRegisterServiceProcess(GetCurrentProcessId(),1);
//卸载链接库
FreeLibrary(hDLL);
//设定定时器
SetTimer(0,m_nSeconds*1000,NULL);
//隐藏程序的同时,隐藏窗口
ShowWindow(SW_HIDE);
后续会卸载链接库,请下载源码查看源代码文件。
- 2022-04-17 12:20:46下载
- 积分:1
-
VC++ 6.0制作的弹出式菜单
VC++ 6.0制作的弹出式菜单,代码作者:一剑,这里主要是定义了CMainFrame::OnContextMenu函数来实现弹出式菜单,请参见以下核心代码:
void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)
{
CMenu menu;
CMenu *popup;
//IDR_POP_MENU是菜单资源的ID号,是刚添加的菜单
menu.LoadMenu(IDR_POP_MENU);
ASSERT(menu);
//此函数用于得到子菜单的指针。
//由于需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到。
popup=menu.GetSubMenu(0);
popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x, point.y,this);
}
然后需要定义几个菜单命令响应函数,请参见源代码文件。
- 2022-03-30 01:28:38下载
- 积分:1
-
VC++ 使用right outer join查询SQLServer数据库的例子
VC++ 使用right outer join查询SQLServer数据库的例子,查询结果显示在DATAGRID数据控件中,测试前请确保数据库连接已成功,且数据库非空。窗体界面效果如截图所示,注:测试时数据库连接失败,这是测试电脑的问题。
- 2023-03-02 00:25:04下载
- 积分:1
-
VC++ 实现基于文档视图结构的打印
VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:
CFont m_titlefont; //标题字体
CFont m_bodyfont; //正文字体
int screenx,screeny; //获取窗口每英寸像素数
int printx,printy; //获取打印机每英寸像素数
double xrate,yrate; //打印机与屏幕的像素比率
int pageheight; //打印纸高度
int pagewidth; //打印纸宽度
int leftmargin,rightmargin; //打印纸左右边距
BOOL isPreview; //是否处于预览状态
- 2022-06-19 11:39:54下载
- 积分:1
-
VC++ 创建一个非模态对话框
VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:
void CNonModeDlgDlg::Finish()
{
m_pChoice = NULL;
GetDlgItem(IDOK)->EnableWindow();
}
void CNonModeDlgDlg::OnOK()
{
if ( m_pChoice == NULL )
{
m_pChoice = new CChoiceDlg(this);
if ( m_pChoice->Create() == TRUE )
{
GetDlgItem(IDOK)->EnableWindow(FALSE);
}
}
else
{
m_pChoice->SetActiveWindow();
}
}
- 2022-02-10 13:08:52下载
- 积分:1
-
VC++ MFC DLL的创建:显示问候语信息
VC++ MFC DLL的创建:显示问候语信息,运行效果如上图所示。
- 2022-05-21 08:12:16下载
- 积分:1
-
VC++ 源码演示雷达工程数据的可视化与处理
VC++综合实例源码,演示雷达工程数据的可视化与处理,这个源代码来自一本VC++书籍中,不知道现在是否还可以用,里面雷达测试文件,不过我没有调试成,源代码文件是比较完整的,大部分代码中都有注释,你可以了解一些关于雷达数据读娶界面标尺运用、鼠标操作控制、坐标的显示与控制、映射模式(像素)、鼠标位置标识、BMP格式重新排列数据、滚动窗口、内存控制等多个方面的操作技巧,是一个比较综合的VC++学习实例。
- 2023-03-01 01:05:04下载
- 积分:1
-
VC++ 6.0 定时关机
VC++ 6.0 定时关机,设置时间,自动关机,时间以分钟计,在确定使用本功能前,请确保保存当前工作,系统将于设定的时间到达后自动关机。
- 2022-02-04 23:31:44下载
- 积分:1
-
3个VC++ win注册表编程操作实例
本源码中有三个VC++操作表的相关例子,每一个都属于比较简单那种,展示注册表的操作技巧,有兴趣的下载源码包。
HKEY hKEY; //定义有关的 hKEY, 在查询结束时要关闭。
LPCTSTR data_Set="SoftwareMicrosoftWindowsCurrentVersion"; //子键目标
//打开与路径 data_Set 相关的 hKEY,第一个参数为根键名称,第二个参数表。
//表示要访问的键的位置,第三个参数必须为0,KEY_READ表示以查询的方式。
//访问注册表,hKEY则保存此函数所打开的键的句柄。
long retopen=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_READ, &hKEY));
if(retopen!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行
{
MessageBox("错误: 无法打开有关的hKEY!");
return;
}
//查询有关的数据 (系统用户姓名 owner_Get)。
LPBYTE owner_Get=new BYTE[80];
DWORD type_1=REG_SZ ;
DWORD cbData_1=80;
//hKEY为刚才RegOpenKeyEx()函数所打开的键的句柄,"RegisteredOwner"。
//表示要查 询的键值名,type_1表示查询数据的类型,owner_Get保存所。
//查询的数据,cbData_1表示预设置的数据长度。
//与RegQureyValueEx()类似,hKEY表示已打开的键的句柄,"RegisteredOwner"
//表示要访问的键值名,owner_Set表示新的键值,type_1和cbData_1表示新值。
//的数据类型和数据长度
UpdateData(true);//获得编辑框数据
if(m_Adduser.IsEmpty()||m_Addpassword.IsEmpty())//用户名、密码不能为空
{
AfxMessageBox("输入用户名、密码不能为空!");
return;
}
- 2022-02-22 09:55:12下载
- 积分:1