win7下如何正常运行vc6.0
作者:cnfgg 日期:2010-08-30
上周新装了win7系统,在装vc前先搜索了半天vc6.0的安装,因为有很多说Windows7下vc6.0是不能正常运行或报错的,在实践后发现下面的教程是很有效的,我一周来都在使用,没出半点错误。
可以肯定的说,win7是可以安装VC6.0的,而且还比XP更稳定。一次也没有死过。在XP下可是得同时把任务管理器也打开,随时准备关掉卡死的VC。
具体方法1.在安装或者使用Visual C++ 6.0时,凡是出现兼容性问题提示对话框,一律按以下方式处理——把“不再显示此消息”打上勾,然后选择“运行程序”。不要怕,本人亲自验证过没有任何“副作用”。
可以肯定的说,win7是可以安装VC6.0的,而且还比XP更稳定。一次也没有死过。在XP下可是得同时把任务管理器也打开,随时准备关掉卡死的VC。
具体方法1.在安装或者使用Visual C++ 6.0时,凡是出现兼容性问题提示对话框,一律按以下方式处理——把“不再显示此消息”打上勾,然后选择“运行程序”。不要怕,本人亲自验证过没有任何“副作用”。
用OpenCV进行圆标志检测的vc代码
作者:cnfgg 日期:2010-08-16
利用OpenCV可以方便地在图像中对特殊标志进行定位,比如两个相邻的圆,就可以用cvHoughCircles,通过调节参数来稳定的识别图像中的圆,然后通过相对位置和半径约束就可以准确定位圆标志了。下面是一些示例代码,仅供参考。
IplImage* img=cvLoadImage("D:\\circles.jpg", 1);
IplImage* gray = cvCreateImage( cvGetSize(img), 8, 1 );
CvMemStorage* storage = cvCreateMemStorage(0);
IplImage* img=cvLoadImage("D:\\circles.jpg", 1);
IplImage* gray = cvCreateImage( cvGetSize(img), 8, 1 );
CvMemStorage* storage = cvCreateMemStorage(0);
vc中pragma comment的使用方法
作者:cnfgg 日期:2010-07-30
在vc中,该宏放置一个注释到对象文件或者可执行文件。
我们经常用到的是#pragma comment(lib,"*.lib")这类的。例如:#pragma comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。和在vc的工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的程序别人在编译你的代码的时候就不用再设置工程settings了。
#pragma comment( comment-type [,"commentstring"] )comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。commentstring是一个提供为comment-type提供附加信息的字符串,Remarks:1、compiler:放置编译器的版本或者名字到一个对象文件,该选项是被linker忽略的。2、exestr:在以后的版本将被取消。3、lib:放置一个库搜索记录到对象文件中,这个类型应该是和commentstring(指定你要Liner搜索的lib的名称和路径)这个库的名字放在Object文件的默认库搜索记录的后面,linker搜索这个这个库就像你在命令行输入这个命令一样。你可以在一个源文件中设置多个库记录,它们在object文件中的顺序和在源文件中的顺序一样。如果默认库和附加库的次序是需要区别的,使用Z编译开关是防止默认库放到object模块。4、linker:指定一个连接选项,这样就不用在命令行输入或者在开发环境中设置了。只有下面的linker选项能被传给Linker.
我们经常用到的是#pragma comment(lib,"*.lib")这类的。例如:#pragma comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。和在vc的工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的程序别人在编译你的代码的时候就不用再设置工程settings了。
#pragma comment( comment-type [,"commentstring"] )comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。commentstring是一个提供为comment-type提供附加信息的字符串,Remarks:1、compiler:放置编译器的版本或者名字到一个对象文件,该选项是被linker忽略的。2、exestr:在以后的版本将被取消。3、lib:放置一个库搜索记录到对象文件中,这个类型应该是和commentstring(指定你要Liner搜索的lib的名称和路径)这个库的名字放在Object文件的默认库搜索记录的后面,linker搜索这个这个库就像你在命令行输入这个命令一样。你可以在一个源文件中设置多个库记录,它们在object文件中的顺序和在源文件中的顺序一样。如果默认库和附加库的次序是需要区别的,使用Z编译开关是防止默认库放到object模块。4、linker:指定一个连接选项,这样就不用在命令行输入或者在开发环境中设置了。只有下面的linker选项能被传给Linker.
OpenCV 图像结果上下翻转的问题
作者:cnfgg 日期:2010-05-10
使用DirectShow中Renderer Filters的问题
作者:cnfgg 日期:2010-03-15
最近在用DirectShow写程序的时候,经常被Renderer Filter的问题困扰,有的问题一开始不了解还觉得莫名其妙,虽然说到现在也不是完全明白,但好歹解决了。
我曾经遇到的问题有:
将一个解码器封装成 ActiveX 控件,但是遇到刷新问题,就是拖动窗口的时候才刷新。奇怪的是,在有的机器上就没有问题,即使配置一样,而且和IE版本也没什么关系。
在一个桌面播放器中同时播放4个视频,都附着到一个窗口上,但是左上角一路异常,总是打开比其他几个慢,而且拖动窗口时会反应迟缓,总之就是它特殊,但是程序中完全是一样对待的。
我曾经遇到的问题有:
将一个解码器封装成 ActiveX 控件,但是遇到刷新问题,就是拖动窗口的时候才刷新。奇怪的是,在有的机器上就没有问题,即使配置一样,而且和IE版本也没什么关系。
在一个桌面播放器中同时播放4个视频,都附着到一个窗口上,但是左上角一路异常,总是打开比其他几个慢,而且拖动窗口时会反应迟缓,总之就是它特殊,但是程序中完全是一样对待的。
Tags: DirectShow 问题
VC中如何打开Com10及以上的串口
作者:cnfgg 日期:2010-02-22
今天用以前的一个串口程序,发现串口怎么也打不开。因为用的串口不是常规的COM1、COM2而是大于Com10的端口,想着是很简单的增加几个选项就可以轻松搞定的,结果加上后测试,发现总是初始化失败,调试发现在CreateFile里总是失败,找到MSDN一看果然这里有区别。
Win32 API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。使用CreateFile()函数打开串口时文件共享模式应设置为0(表示独占),创建参数设置为OPEN_EXISTING,模板必须设置为NULL。
如果为COM1至COM9,可使用“COM1”-“COM9”作为文件名传递给CreateFile()函数,函数可成功返回。但是,如果操作对象为COM10及以上的端口,以此方式命名文件名调用CreateFile()函数会返回INVALID_HANDLE_VALUE,表示端口无法打开。
Win32 API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。使用CreateFile()函数打开串口时文件共享模式应设置为0(表示独占),创建参数设置为OPEN_EXISTING,模板必须设置为NULL。
如果为COM1至COM9,可使用“COM1”-“COM9”作为文件名传递给CreateFile()函数,函数可成功返回。但是,如果操作对象为COM10及以上的端口,以此方式命名文件名调用CreateFile()函数会返回INVALID_HANDLE_VALUE,表示端口无法打开。

