-
兼容64位的VC++ 音乐播放器 带进度条
这是一个比较早的VC++播放器源码,兼容64位的VC++ 音乐播放器 带进度条和音量控制拖动条,同时还有几个常用的播放控制按钮,暂停、播放、打开文件、快进等,这个播放窗口可以随拖动大小而自动变化。运行效果如上图所示,源代码来自国外网站,注释全是英文英文的。
- 2022-01-25 16:55:52下载
- 积分: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++ 演示Excel文件的导入导出操作
VC++ 演示Excel文件的导入导出操作,一共完成了两种功能,一种是生成Excel文件,另一种是从Excel文件导入,这两种功能对于编写一些信息管理系统非常有用,我们经常需要将系统内的数据导出为Excle文件,或都从Excel中向系统导入数据,本实例将演示一些基础的功能实现,可提供一些参考。
- 2022-03-22 12:27:55下载
- 积分:1
-
VC++ 实现对软件的简单加密(注册)功能
VC++ 实现对软件的简单加密,本程序是通过C盘序列号来加密文件,实现软件的注册功能,软件号和C盘序列号同时正确才可验证,而C盘的序列号是唯一的,获得c盘序列号的代码如下:
DWORD VolumeSerialNumber;
GetVolumeInformation("c:",NULL,12,&VolumeSerialNumber,NULL,NULL,NULL,10);
VolumeSerialNumber^=0x12345678;//本机c盘序列号简单运算
m_usernum=VolumeSerialNumber;
UpdateData(false);
然后通过序列的判断,来验证加密是否正确,比如下边的代码来做加密验证:
UpdateData(true);
DWORD num;
num=m_usernum;
num^=0x1999aa98+12;//加密算法
if(!(num==m_serialnum))
{
AfxMessageBox("输入的序列号不正确!");
return;
}
- 2022-11-07 22:05:03下载
- 积分:1
-
用VS2008+ATL开发可以显示Gif的ActiveX控件源码
VS2008%2BATL开发Gif的ActiveX控件%28毛坯%29
创建一个空的解决方案,名称GifSolution。将来包含控件项目和测试项目。新建项目,弹出的对话框中选ATL项目,名称为GifAnimate确定。弹出的对话框中选择DLL服务器(可选允许合并代理存根,这样不会产生代理dll),完成后编译,这样工程框架就完成了。
组件分有窗口的和无窗口的,这里应该用有窗口的,所以添加组件的时候,外观不要基于none,最好基于CStatic。因为gif是动态的,应该用另一个线程绘制,这样不影响主线程响应消息,绘图更加流畅。
为GifAnimate项目添加类-选择ATL控件,点击添加,弹出对话框。
1.本文只是举例说明开发过程,抛砖而已。
2.样例只是框架,不能直接使用,所有代码没有经过测试
3.样例接收器GifSink和属性页卡片没有完成,懒了,呵呵
4.样例背景等很多属性没有实现
5.使用了GDI+,但GDI+的Image类的SetActiveFrame函数有问题,网上貌似没有解决办法。Debug版本不影响使用,Release版本没有测试。如果有兴趣,可以使用IPicture接口,网上很多。
- 2022-03-31 20:14:24下载
- 积分:1
-
VC++ WeiXinPay微信扫描二维码支付相关源码
VC++ WeiXinPay微信扫描二维码支付相关源码,这是个VC.NET源码项目,使用了qrencode生成了二维码,本微信支付项目功能包括了生成二维码、结果签名验证、下单测试、生成15位随机字符串等,有一些公共支付接口部分,需要用时候,自己修改:
CString g_strAPIKey("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");//*改* 32位的APIkey
CString g_strAppId("xxxxxxxxxxxxxxxxxx");//*改* 用户的APPID 貌似是18位的
CString g_strBody("刘隽曦的支付测试");//*改* 商品名
CString g_strMchId("xxxxxxxxxx");//*改* 商户号貌似10位
CString g_strIp("192.168.0.136");//*改* 本机IP
int g_nTotalFree = 1;//*改*商品价格 分
本源代码仅供支付,有时候微信支付接口在变化,可能会导致程序不可用。
- 2022-03-24 04:25:36下载
- 积分:1
-
参考性极强的一款VC推箱子游戏源码
参考性极强的一款VC推箱子游戏源码,带背景音乐可自定义关卡的推箱子游戏,关于玩法就不多介绍了吧:选中游戏界面的"游戏"|"游戏开始"来开始游戏。游戏以键盘来进行操作,玩家利用方向键把地图中的箱子推到指定位置。当玩家把全部的箱子都放置完毕时,玩家胜利进入下一关。如果玩家无法完成任务,则玩家失败,可自行选择重新游戏,还是从新关口游戏。
Debug中包括了音效文件和map文件,并可简单设置地图等操作,游戏运行界面如示例截图所示。
- 2022-04-26 16:06:04下载
- 积分:1
-
VC++俄罗斯方块源码 带声音
VC++俄罗斯方块源码 带声音,操作说明:利用键盘控制方块的移动: ↑ 方块旋转 ↓ 直接落下 ←向左移动 → 向右移动。消除行数已经超过10级,游戏结束。
游戏具体玩法:选中游戏界面的"游戏"|"游戏开始"来开始游戏,每当用方块填充完一行或者多行时,则可以消除当前这一行或者多行的方块,并得到一定积分。当方块堆放的高度超过游戏所规定的最大高度,即游戏界面最上面的边界。则认定游戏结束。开始时将要出现方块没有生成,其不能赋值给当前方块数组。
判碰撞,遇到了边界或者有其他方块档住我觉得这个方法对编写游戏很不错,碰撞检测的例子。
- 2022-02-12 00:45:04下载
- 积分:1
-
VC++ 利用Word文档实现打印功能
VC++ 6.0 利用Word文档实现打印功能,本示例是将需要打印的内容导入到Word文档中,然后直接打开Word文档,用户通过Word选择打印功能,打印出内容,其核心的打印是由word完成的,因此你的电脑上需要安装有Word,并且与打印机已连接好。
在调试时注意:时需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program FilesCommon FilesSystemado”目录下。
例:如果你的系统盘为C盘,则该文件位于“C:Program FilesCommon FilesSystemado”目录中。所以需要打开工程文件,并展开“FileView”视图中的“Header Files”节点,然后双击“StdAfx.h”文件,将代码中的“d:Program FilesCommon FilesSystemadomsado15.dll”改为“c:Program FilesCommon FilesSystemadomsado15.dll”。
- 2022-03-05 03:24:43下载
- 积分:1
-
VC 向加密狗中写入数据
VC 向加密狗中写入数据,与加密狗相关的例子。
DogAddr = 10; //设置起始地址
DogBytes = m_Data.GetLength(); //设置数据的长度
DogData = m_Data.GetBuffer(0); //设置写入的数据
if (WriteDog()==0)
MessageBox("数据写入成功");
- 2022-07-14 23:43:14下载
- 积分:1