重载(文件对话框)CFileDialog类并自定义控件
这个工程用VS2008生成,实现了对文件对话框(CFileDialog)类的派生,可以在自己的文件对话框中加入自己想要的控件,并可定位原文件对话框位置(用ID为stc32的控件定位). 这样就可以方便地实现文件预览:比如文件预览,文本内容预览等等.
在MFC对话框程序中使用工具栏(工具条)和菜单栏
本例在实现了在MFC对话框中使用工具栏(工具条)和菜单栏.并能较好响应ON_UPDATE_COMMAND_UI消息.同时能在响应函数中用SetCheck和Enable有效.里面也有能同时改变菜单ID相关联的工具栏按钮状态的能力,只是方法和在CMainFrame中不同.
VC++对话框注入到其它进程并可HOME键呼出窗口
这个例子演示了如何把一个对话框(MFC dll)注入到另一个进程中去,并呼出.
VC++实现CMD命令执行与获得返回信息
VC++6.0实现CMD命令执行与获得返回信息,用CreateProcess执行CMD命令,用命名管道来获得返回的数据.基本上可以执行所有CMD命令.
VC++(VS2008)读取CR2(佳能canon raw图)文件读取
利用佳能canon提供的EDSDK 可以读取 EOS-500D 的文件.特别说明:这个需要EDSDK
VC++(VS2008)"橡皮筋"CRectTracker类实现有调整边框的矩形框
用Vc++(VS2008)中的"橡皮筋"CRectTracker类实现 可移动,有8个调整点,可8方向调整大小的矩形框,可以对其它图形调整大小.
VC++(VS2008)鼠标穿透窗口+自定义鼠标指针形状
里面实现了鼠标穿透效果,类似于QQ音乐放屏幕歌词时锁定歌词的效果. 其中也有窗口透明,但是文字不透明的窗口实现
还有自定义鼠标指针的形状.
(注:透明窗口是可以拖动的,只是鼠标左键要放在透明对话框的文字上按下,文字有点小,不容易选中^_^,可以自己改下
VC++(VS2008)鼠标跟随窗口+屏幕坐标+屏幕颜色
实现程序窗口外鼠标坐标的捕捉,鼠标跟随显示鼠标位置和对应点屏幕颜色.其中显示是在一个窗口透明,文字不透明的
窗口中显示的,并且对窗口的任务栏按钮(图标)进行的隐藏.
VC++(VS2008)文件遍历同时进行文件过滤
实现了两种文件遍历方式 一种是用API遍历,一种是用CFileFind类开实现.
同时还实现了一个遍历(枚举)指定类型组合的文件
比如想遍历txt文件和bmp文件就可以"*.txt;*.bmp"来指定只遍历(枚举)这两种类型文件.
其中还有文件对话框及默认目录的设置方法,
目录对话框及默认目录的设置方法.
VC++6.0窗口绑架(强行改变父窗口)
实现了两种绑架不属于同进程的窗口的方法,如果同进程则没有什么限制,直接用SetParent而没有什么问题.
VC++6.0遍历磁盘信息
遍历(枚举)磁盘的相磁信息,包括磁盘类型 磁盘容量 磁盘盘符名字 DVD/CD是否有盘等
VC++ 读取网卡信息,物理地址(MAC),IP等的类及应用
工程用VS2008生成.用到iphlpapi sensapi wininet
能获得主机名,域名,网卡名,网卡机器名,网卡描述串,IP
物理地址(MAC),网关,子网掩码,主DNS,备用DNS....
图形的对称变换,旋转变换,缩放变换演示
图形的对称变换,旋转变换,缩放变换的演示
程序是用vc6.0 MFC编写
用种子+扫描线的区域填充算法演示
种子填充 扫描线填充 区域填充算法演示
是用vc6.0, MFC 编写
用VC6.0写的分段插值法求方程组
分段插值法求方程组
这个程序的源代码是用vc6.0编写
LagrangeInsert 拉格朗日插入算法
LagrangeInsert 拉格朗日插入算法
程序是用VC6.0编与
Jacobi迭代法求解方程组
Jacobi 迭代法 求解方程组
详程序请打开程序看,是用VC++6.0编写的
GaussMain高斯列主元消去法求方程组
Gauss 高斯 消去法 求解方程组
用高斯列主元消去法求解方程组
圆和椭圆的生成算法演示
里面有圆和椭圆的生成算法演示
(注:黑点是由算法生成的,实线是用来作对比的标准
用vc6.0编写
各个方向直线生成算法演示
该直线生成算法包含了从各个角度的生成算法;
以4个像限来说:
1->3 3->1 1->2 2->1 1->4 4->1 2->4 4->2
还包括了<45度角和大于45度角
Beizier+B样条曲线算法演示
Beizier+B样条曲线算法演示
程序里面包含了Beizier B样条的曲线算法
VC6.0下MFC对系统信息及硬件信息的读取
VC6.0下MFC对系统信息及硬件信息的读取
VC6.0 MFC--access数据库访问,学生管理系统
是在VC6.0下用的MFC自动加载数据源的access数据库应用程序.
下面有另外个例子
VC6.0写的用户账号管理:
http://download.csdn.net/source/2848883
VS2008写的用户账号管理
http://download.csdn.net/source/2886243
基于TCP的用MFC局域网聊天工具源码
一个用vc6.0编写的MFC的基于TCP的局域网聊天工具,是源码。
Vfw + GDI屏幕录像
使用Vfw中的AVIFile相关函数 和 GDI的BitBlt实现屏幕录像
由于没有压缩, AVI文件会很大.
屏幕取色及其应用.
屏幕取色及其应用,使用屏幕取色,内存DC,设备无关位图的快速访问.
用VC在XP及Win7下显示模式切换
在XP下能切换扩展模式和单显示器模式和切换主显示器.
在Win7下调用SetDisplayConfig能实现复制,扩展,单显示器的切换,主显示器切换暂时没研究出怎么用.
VC 多国语言动态切换 资源dll版
一般来说,用资源dll来解决多国语言问题的话,都是重启生效,但是dll就真的不能动态切换吗?
答案是:当然能动态切换...
具体看代码.
XP_SP3 VS2008编译通过
VC++阳历(公历)到阴历(农历)转换
VC++ VC6.0下源代码.不知道是不是每年每天都正确,但我测试过的数据都是正确的
VC++操作access数据库(用户账号管理,并有des数据加密)
用VC在VS2008环境写的一个VC操作访问access数据库的小程序,作入门之用.望对大家有点点抛砖引玉的作用.
VC进程ID获得主窗口句柄获得进程名
VC获得进程ID获得主线程ID获得窗口句柄获得主窗口获得进程名
1.窗口类名 窗口句柄 窗口标题 窗口句柄
HWND FindWindow(
LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看
LPCTSTR lpWindowName //窗口标题
);
举例:
以 记事本为例, 记事本 窗口类名 为:NotePad, 窗口标题 视按具体情况而定,假设为"新建 文本文档.txt - 记事本"
窗口类名 窗口句柄
TCHAR lpClassName[]=TEXT("NotePad");
HWND hWnd=::FindWindow(lpClassName,NULL);
if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE);
窗口标题 窗口句柄
TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本");
HWND hWnd=::FindWindow(NULL,lpWindowName);
if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE);
2.窗口句柄 进程ID 窗口句柄 主线程ID
要使用到的函数:
DWORD GetWindowThreadProcessId(
HWND hWnd, //目标窗口句柄
LPDWORD lpdwProcessId //返回目标窗口对应进程ID
);
例子:
DWORD dwProcId=0;//存放返回的进程ID
DWORD dwThreadId=0;//存放返回的主线程ID
HWND hWnd=XXXX;//这里省略,可能用任务方式得到一个窗口的句柄.比如用1中的方法.
dwThreadId=GetWindowThreadProcessId(hWnd,&dwProcId);//同时得到进程ID和主线程ID.
3.窗口HAND CWnd
用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数.
4.进程名 进程ID
(注:进程名,即在"任务管理器"中看到的名字)
用CCheckObject类(详细实现源文件);
例子:
以记事本为例,进程名为 NOTEPAD.EXE (不一定是大写哦,得到任务管理器是显示而定);
CCheckObject ch;
TCHAR Name[]=TEXT("NOTEPAD.EXE");
DWORD dwProcId=ch.GetProcessId(Name);
5. 进程名 主线程ID
例子:
CCheckObject ch;
TCHAR Name[]=TEXT("NOTEPAD.EXE");
DWORD dwThreadId=ch.GetThreadId(Name);
6. 进程名 主窗口句柄
CCheckObject ch;
TCHAR Name[]=TEXT("NOTEPAD.EXE");
HWND hWnd=ch.GetTargetWindowHanle(Name);
7. 其它说明
从CCheckObject类和上面的源码中,不难写出从 进程ID 主线程ID 进程ID 主窗口句柄 主线程ID--->主窗口句柄 等等其它类似转换.
对于主窗口,特点如下:
A. 不能用进程ID,要用线程ID,因为一个进程可能有多个线程,每个线程都可能会有主窗口.
B. 主窗口不会有WS_CHILD属性
C. 主窗口没有父窗口
D. 主窗口一般都有子窗口(这个不是一定的,但是具有普遍性)
VC操作access数据库
采用ADO或者ODBC方式访问access数据库
程序里实现了用户管理模块和对用户数据的DES加密
VC程序自动启动和快捷方式和计划任务
里面实现注册表的操作,包括 遍历,添加,删除项;遍历,添加,删除键,
用注册表功能 实现了程序开机自动启动.
以向"启动"文件夹添加程序快捷方式,实现程序开机自动启动.
用计划任务方式实现程序每天定时启动.
VC在VS2008下注册表操作
用VC在VS2008环境下,利用操作注册表的API实现注册表的读写删除操作,可以遍历注册表项和键值,也可以添加和删除注册表项和键值.
还实现了一个程序随系统自动启动
VC6.0环境GDI实现图片播放特效
VC6.0下GDI实现的各种图片播放特效(特技),类似PPT中播放的样子.
实现了百叶窗,马塞克,渐变,移动,旋转切换....
仿QQ截屏+CRectTracker类(修改版)
在网上找的一个仿得比较可以的QQ截屏VC程序.分享给大家.
VS2008改造和使用"橡皮筋"CRectTracter类
"橡皮筋"CRectTracker为进行了改造.
CMyTracker
a. 可改变调整边框粗细和颜色
b. 可改变8个调整点的大小和颜色
c. 加入了resizeMiddle模式
d. 在类中解决"静态MFC库"中不显示光标问题.
CMyTrackerEx
a. 可改变调整边框粗细和颜色
b. 可改变8个调整点的大小和颜色
c. 需要在OnMouseMove中自已加载光标.(函数在程序中有)