-
vc 串口接收和发送数据的例子 Cs结构
这是一个CS结构(包括了服务端和客户端)的串口调试程序,测试时,两者都要运行,本程序可让你熟悉串口的相关操作,在客户端和服务端,您都要定义以下几个参数:
m_Comm.SetCommPort(1); //设置串口
m_Comm.SetRThreshold(1); //设置收到多少个字符后触发OnComm事件
m_Comm.SetPortOpen(TRUE); //打开串口
源码中包括了两部分的代码,请下载后编译对应目录中的源码,先运行客户端。
- 2022-02-06 06:48:34下载
- 积分:1
-
VC++ 6.0FreeBird软件源码 仿飞鸽传书,可聊天+传输文件
VC++ 6.0自写的FreeBird仿飞鸽传书,可聊天+传输文件程序源码,我耗费一个月上百度、参考网上代码,和不断调试出来的一个网络文件传输小软件。可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。
做这个小软件的目的不是为了给别人使用,而是想通过开发这么一个小小和软件,体会软件设计的过程和了解网络通信是个大概什么样的东西(这也是我摸索了好久,现在才彻底明白原来Socket通信是这么一回事的)。总而言之:目的是为了学习。
- 2023-08-31 14:20:03下载
- 积分:1
-
VC++ 音乐播放器 源代码
VC++ 音乐播放器 例子,支持播放列表 ,支持常规的播放控制,自制了界面,从这个播放器软件中,你可以学习到软件界面方面的编写技巧以及音乐播放方面的技巧,运行效果如下图所示。本源码对学习VC++软件编程有很好的借鉴作用。
- 2022-05-20 10:54:09下载
- 积分:1
-
VC++ 生成Brush笔刷程序
VC++ 生成Brush笔刷程序,使用了三种方法创建笔刷,第一种和第二种使用构造函数,第三种 创建CBrush类的一个对象myBrush3,调用CreateBrushIndirect()函数。创建了纯色、斜纹、网状方格三种形式的笔刷。
void CCreateBrushView::OnDraw(CDC* pDC)
{
CCreateBrushDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
// 第一种方法创建画刷
// 定义时调用构造函数
CBrush myBrush1(RGB(0,0,255));
CBrush* pOldBrush1 = pDC->SelectObject(&myBrush1);
pDC->Rectangle(100,150,250,400);
// 恢复画刷对象
pDC->SelectObject(pOldBrush1);
// 第二种方法创建画刷
// 定义时调用构造函数
CBrush myBrush2(HS_BDIAGONAL,RGB(255,0,0));
CBrush* pOldBrush2 = pDC->SelectObject(&myBrush2);
pDC->Rectangle(300,100,450,360);
// 恢复画刷对象
pDC->SelectObject(pOldBrush2);
// 第三种方法创建画刷
// 创建CBrush类的一个对象myBrush3
CBrush myBrush3;
// 设置LOGBRUSH结构;
LOGBRUSH lb;
lb.lbStyle = BS_HATCHED;
lb.lbColor = RGB(0,255,0);
lb.lbHatch = HS_CROSS;
// 调用CreateBrushIndirect()函数
myBrush3.CreateBrushIndirect(&lb);
CBrush* pOldBrush3 = pDC->SelectObject(&myBrush
- 2022-01-30 23:25:40下载
- 积分: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++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
- 2022-03-21 18:31:32下载
- 积分:1
-
VC++ 版 GDI+程序设计实例源代码实例集
gdiplus应用实例,在网络上广泛流传的“GDI+程序设计实例源代码”中使用的是C#语言,且封装了开源对象,
源代码主要在 “Form1.cs” 中,其功能的实现形式与.Net的MSDN帮助不同。
作者对该源代码进行了移植,在VC的非 UNICODE 环境下进行了修改,主要处理:
1、提供了一个 multibyte 与 widechar 的转化类 CWideCharString
实现 char* 与 WCHAR* 的转换有许多方法,如:
a) CWideCharString(char*) 得到 WCHAR*
b) L"char* string" 得到 WCHAR*
c) 在非UNICODE环境下,CString(WCHAR*) 得到 char*
2、将原C#中的Math、Shell等对象转换为普通的VC函数,如定义了 rand_Next 等。
3、将原C#代码中的new改为VC的引用或指针,避免了在VC中对new的重载和delete的繁杂调用所带来的内存泄漏
4、定义了一组MyDrawString函数,替换原代码中的 graphics.DrawString(...),保持了原C#代码中DrawString的参数顺序和引用方式,增加了两个 _MakeA_RGB 函数
5、因为 Image::Save 要求保存的文件不得存在,而在演示中可能会反复执行Save,所以提供了 MyImageSave 函数,先判断文件是否存在,若存在则删除,然后 Save.
6、为尽可能保持原代码的风格,在 CWalkLtDemo.cpp 的 OnDraw(...) 函数中提供一个void DoGdiplusDemo(...) 函数,该函数负责向各功能演示函数中传递所需要的绘图区和Graphics实例。
7、在主菜单“查看”项下增加了“GDI+功能演示”和“当前演示的源代码”菜单,并在工具条上增加了相应按钮。
8、程序已在VC6和VC++.NET中进行了完全的测试。
本源码包中使用的 gdiplus*.h 中对 Color 和 Point 进行了重新声明,分别为:
GdiPlusColor 和 PointI
为与MSDN中的 Color 和 Point 相一致,在WalkLtDemoHelp.h中使用了 typede
- 2023-07-17 07:35:04下载
- 积分:1
-
vc++ 6.0 AddNew添加数据库记录实例
VC++ 数据库基础编程例子,使用记录集对象的AddNew方法添加记录。
//连接数据库
OnInitADOConn();
//设置查询字符串
_bstr_t bstrSQL = "select * from employees order by 员工编号 desc";
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,"");
m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));
m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));
m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));
m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));
//将记录集指针移动到下一条记录
m_pRecordset->MoveNext();
}
//断开数据库连接
ExitConnect();
- 2022-03-10 00:07:57下载
- 积分:1
-
vc.NET MFC开发完成的晚会随机抽奖程序
vc.NET MFC开发完成的晚会随机抽奖程序,这个程序作为抽签、抽奖程序都可以,程序中需要设置几个抽奖参数,然后运行抽奖程序即可。抽奖过程中,程序数字不停变化,形成了动态效果,停止程序后,会显示出抽出来的获奖名单。本抽奖程序可设置一次需要抽出几个幸运观众,最多可设置5名观从被抽出来。其它的参数主要是选择几名男观从和几保女观众的年龄段,在抽取之前你需要准备好这些待抽出的资料供程序读龋。
- 2022-04-23 23:00:47下载
- 积分:1
-
VC 扫描仪控制程序
这是一个在VC++环境下实现的扫描仪扫描管理程序,用于启动扫描和停止扫描,只是实现基本的扫描仪控制,不过本程序的顺利运行需要扫描仪支持,且是指定型号,窗口中对应的功能,由下面的按钮事件来响应:
开始扫描:
void CScanManageDlg::OnButton1()
{
m_Scan.ScannerAvailable();
m_Scan.OpenScanner();
m_Scan.StartScan();
}
停止扫描:
void CScanManageDlg::OnButton2()
{
m_Scan.StopScan();
}
- 2022-05-27 18:23:01下载
- 积分:1