
vc
文章平均质量分 88
danming60520
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VC6.0调试技巧(转载)
说明:文 章的名字可能取的比较大,毕竟本人能力有限,掌握的知识比较肤浅,写出的东西可能没有多大的价值。但是看到一些初学者经常问一些太过简单的问题,我终于忍 不住想写点什么。通过与很多初学者交流,我发现他们共有的一个弱点是不会调试。很多人根本不知道调试是怎么回事。其实很多问题,只要会调试都能自己解决。 签于此,我就根据自己在程序开发中积累的经验写一点关于VC6.0下调试的基本知识和技转载 2012-06-22 10:52:09 · 420 阅读 · 0 评论 -
Windows上的音频采集技术(转)
转自:http://shanewfx.github.io/blog/2013/08/14/caprure-audio-on-windows/ 前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音。之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术。对于音频处理的技术,主要有如下几种:采集麦克风输入转载 2014-07-24 15:52:59 · 1116 阅读 · 0 评论 -
Windows 7、Windows Server 2008等系统音频系统底层API
Core Audio APIs 的优势: Windows Vista 、 Windows 7 、 Windows server 2008 等系统 音频系统相比之前的系统有很大的变化,产生了一套新的底层API 即 Core Audio APIs 。该低层 API 为高层 API(如 Media Foundation( 将要取代 DirectShow 等高层 API) 等 ) 提供转载 2014-07-24 16:50:13 · 964 阅读 · 0 评论 -
SetWindowsHookEx详解
http://apps.hi.baidu.com/share/detail/23903142SetWindowsHookEx详解2010-06-17 18:21函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件相关.函数原形:HHOOK SetWindow转载 2014-07-28 16:27:38 · 817 阅读 · 0 评论 -
VC++实现监视系统的键盘操作 创建记录键盘动作的全局钩子DLL
全局钩子函数必须以DLL(动态连接库)为载体进行封装,VC++6.0中有三种形式的MFC DLL可供选择,即Regular DLL with MFC statically linked(标准静态链接MFC DLL)Regular DLL using shared MFC DLL(标准动态链接MFC DLL)MFC Extension DLL(using shared MFC DLL)(转载 2014-07-29 00:52:19 · 2145 阅读 · 0 评论 -
VC中使用高版本API的方法——undeclared identifier引发的血案
有同学在如鹏论坛提问,在VC6中使用GetListBoxInfo这个API函数的时候编译提示: 'GetListBoxInfo' : undeclared identifier详见:http://www.rupeng.com/forum/thread-3214-1-1.html他已经将GetListBoxInfo所在的头文件WinUser.h直接或者间接的包含进来了,打开WinUs转载 2014-07-29 02:02:26 · 580 阅读 · 0 评论 -
键盘事件的响应步骤
键盘事件的响应步骤是:键盘驱动->系统键盘消息处理->当前进程消息处理->当前窗口消息处理WH_KEYBOARD_LL插在系统键盘消息处理前而WH_KEYBOARD则插在当前进程消息处理前.因此如果你WH_KEYBOARD hook正确而WH_KEYBOARD_LL hook得不到想要得结果,那么唯一可能就是你把一些不该过滤的键盘消息给过滤掉了。转载 2014-07-29 11:47:26 · 821 阅读 · 0 评论 -
VC++之多媒体编程之左右声道控制
一、创建对话框应用程序二、编辑对话框资源控件ID与标题(红色部分)IDC_SLIDER_LEFT (左声道控制滑块)IDC_SLIDER_RIGHT (右声道控制滑块)IDOK转载 2014-08-07 16:48:39 · 1340 阅读 · 0 评论 -
通达信股票软件日线数据分析
通达信股票软件日线数据分析2007-11-29 12:06:10 / 个人分类:技术日线文件以"代号"+"股票代码"+".day"命名,代号为"sh"或"sz",股票代码6位,一个记录32个字节。以深发展1997年1月2日的数据为例:00000000h: 36 B8 30 01 72 06 00 00 86 06 00 00 60 06 00 00 ;00000010h转载 2014-09-05 13:55:13 · 6469 阅读 · 0 评论 -
WindowsAPI使用详解——GetVersion|GetVersionEx 获取操作系统版本和名称
Windows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。 GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号。可是因为编写此函数的程序员犯了一个错误,使得此函转载 2014-08-14 10:30:57 · 749 阅读 · 0 评论 -
数据格式
概念板块数据结构 文件存储路径:tdx\T0002\hq_cache\block.dat 文件存储格式: 文件头:384字节 板块个数:2字节 各板块数据存储结构(紧跟板块数目依次存放) 每个板块占据的存储空间为2812个字节,可最多包含399个个股 板块名称:转载 2015-04-13 17:19:07 · 2660 阅读 · 0 评论 -
仅通过崩溃地址找出源代码的出错行
作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看?……错啦!我相信我的看法是不会有人反对的——那就是,程序发生了崩溃!“该程序执行了非法操作,即将关闭。请与你的软件供应商联系。”,呵呵,这句 M$ 的“名言”,恐怕就是程序员最担心见到的东西了。有的时候,自己的程序在自己的机器上运行得好好的,但是到了别人的机器上就崩溃了;有时自己在编写和测试的过程中就莫名其妙地遇到了非法转载 2015-08-26 00:28:30 · 528 阅读 · 0 评论 -
对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进
读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。一、该方法适用的范围在windows程序中造成程序崩溃的原因很转载 2015-08-26 00:30:43 · 612 阅读 · 0 评论 -
VC常用方法
一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL);三、关闭计算机OSVERSIONINFO OsVersionInfo;转载 2014-07-21 13:59:05 · 429 阅读 · 0 评论 -
VC++设置与取得系统音量
MMRESULT rc; // 多媒体函数返回结果变量 HMIXER hMixer; // 混合器设备句柄 MIXERLINE mxl; // 音频线路标准状态信息结构体 MIXERLINECONTROLS mxlc; // 音频线路控制器集合信息结构体 MIXERCONTROL转载 2014-07-21 13:49:08 · 2674 阅读 · 0 评论 -
VC++控制音量
《Visual C++开发技术大全》第26章声音与动画编程,本章讲述在VC 6.0环境下,如何使用Win32、GDI、GDI+、DirectShow等开发接口实现声音与动画的处理。本小节为大家介绍控制音量。26.1.3 控制音量Windows API中提供了可以控制音量的接口函数。使用auxGetNumDevs()函数可以获取当前系统中安装的声卡数目。其函数原型为:UIN转载 2014-07-21 13:56:33 · 1297 阅读 · 0 评论 -
VC6.0调试技巧二
○常用功能: 1.Restart(Ctrl+shift+F5):此debugger功能将从程序的开始(第一有效行)处全速执行,而不是从当前所跟踪的位置开始调试,这时所有变量的当前值都将被丢弃,debugger会自动停在程序的main()开始处.这时如果选择Step Over(F10)就可以逐步执行main()函数了. 2.Stop Debugging(Shift+F5转载 2012-06-22 10:53:03 · 553 阅读 · 0 评论 -
虚函数 和 纯虚函数
简单的说,“接口”就是该类的public函数。由于在类的外部一般只能通过这些公共函数才能访问一个类,所以这些函数就称为类的接口。虽然一个类也可以存在public成员数据,但是,一般不要编写这种能够直接在类的外部访问的public数据,因为这样就使信息隐藏性受到一定的“破坏”。 当使用一个基类的指针指向其一个派生类的实体时,利用该指针调用一个函数,如果这个函数在基类的定义转载 2012-07-09 10:56:53 · 358 阅读 · 0 评论 -
VC断点调试快捷键
调试.应用代码更改 Alt + F10应用代码更改但不停止调试模式。有关更多信息,请参见编辑并继续。调试.自动窗口 Ctrl + Alt + V,A显示“自动”窗口,以查看当前过程内当前执行行范围中的当前变量的值。有关更多信息,请参见中断执行。调试.全部中断 Ctrl + Alt + Break临时停止执行调试会话中的所有进程。仅适用于“运行”模式。调试.断点转载 2012-06-26 13:43:13 · 776 阅读 · 0 评论 -
转贴 fatal error LNK1201:
转贴 fatal error LNK1201:OglPMesh fatal error LNK1201: 写入程序数据库“d:/OglPMesh/Debug/OglPMesh.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够上面的错误在 MSDN的解释如下: 写入程序数据库“filename”时出错;请检查是否是磁盘空间不足、路径无效或权限不够LINK 未能转载 2012-07-13 13:45:50 · 886 阅读 · 0 评论 -
C++链表的创建与操作
我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简单的数据处理变得非常复杂,低效。为了能有效地解决这些问题,一种称为“链表”的数据结构得到了广泛应用。1.转载 2013-01-15 14:21:48 · 439 阅读 · 0 评论 -
VC程序里判断系统是64位还是32位的正确方法
方法如下:[cpp] view plaincopyprint?#include #include typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE,PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL IsWow64() { B转载 2013-06-05 11:36:02 · 1045 阅读 · 0 评论 -
vc 基于对话框实现工具条提示显示
在用基于对话框的MFC里面,这时我们在工具栏的属性页下的提示是不会显示的,需要加入下面的东东,我已完成,可以,大家可以参考下;1.在***dlg.h中加入:afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);2.在***dlg.cpp中加入:ON_NOTIFY_EX(TTN转载 2014-01-05 22:47:10 · 1372 阅读 · 1 评论 -
keybd_event使用方法
Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_KEYUP消息。 该函数原型如下: VOID keybd_event( BYTE bVk, // virtual-key code BYTE bScan转载 2014-03-21 15:12:51 · 854 阅读 · 0 评论 -
VC动态创建控件之CButton类
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。转载 2014-04-16 15:11:42 · 952 阅读 · 0 评论 -
临界段CCriticalSection的使用
类CCriticalSection的对象表示一个“临界区”,它是一个用于同步的对象,同一时刻只允许一个线程存取资源或代码区。临界区在控制一次只有一个线程修改数据或其它的控制资源时非常有用。例如,在链表中增加一个结点就只允许一次一个线程进行。通过使用CCriticalSection对象来控制链表,就可以达到这个目的。它就像是一把钥匙,哪个线程获得了它就获得了运行线程的权力,而把其他线程统统阻塞。转载 2014-04-07 13:54:17 · 557 阅读 · 0 评论 -
使用VC6.0实现窗口的任意分割
一、关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割。 那么我们自己如何创建类似的界面,也实现窗口的任意的分割呢 ?在VC6.0中这就需要使用到CSplitterWnd类。CSplitterWnd看上去像是一种特殊的框架窗口,每个窗口都被相同的或者不同的视图所填充。当窗转载 2014-04-11 11:07:42 · 1218 阅读 · 0 评论 -
用VC控制系统音量
1、头文件(Mixer.h)// Mixer.h: interface for the CMixer class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_MIXER_H__7369BAA5_012E_467E_AD1E_A383E4474转载 2014-07-21 13:47:08 · 1184 阅读 · 2 评论 -
遍历USB devcie,读取设备描述符 device descriptor
http://blog.youkuaiyun.com/jtujtujtu/article/details/4836900理论:对于USB接口的设备,现在越来越多了。本篇我们就通过获取一个USB扫描仪设备中的序列号,来介绍如何获取usb设备的一些硬件信息。对于usb设备都是采用HCD0,HCD1,HCD2,HCD3等符号描述的。如下图:因此,有了这个名字,我们就可以使用CreateFile来转载 2015-12-09 18:47:53 · 4776 阅读 · 0 评论