VC++
chinabinlang
webrtc,音视频编程,视频会议开发,视频直播,电子白板开发
展开
-
vs 查看 C++ #define 宏定义展开代码
右键 cpp 文件,编译 -》build 目录中会有一个 .i 文件,打开后,搜索查看的 宏定义内容,就可以看到效果;在 vs 中,选中需要查看的 cpp 文件 -》 右键属性 -》 预处理器 -》 预处理到文件 选择。如果需要调试代码,还需要将参数修改为 否;#define 通常是代码的展开;原创 2023-04-04 11:57:21 · 1456 阅读 · 0 评论 -
visual studio 命令行工具 Use the Microsoft C++ toolset from the command line
Developer command prompt shortcutsThe command prompt shortcuts are installed in a version-specific Visual Studio folder in your Start menu. Here's a list of the base command prompt shortcuts and the build architectures they support:Developer Command Pr转载 2021-03-23 11:48:23 · 487 阅读 · 1 评论 -
webrtc VisaulStudio2017 IntelliSense 设置
编译一个webrtc最新版本后,提示有问题,很多红线,参数提示错误;主要是因为在工程中,sdk版本应该设置为编译需要的sdk版本;修改:属性管理器 -》 单击第一个工程,Shift+单击最后一个工程 -》 设置指定版本SDK;然后打开任意cc(cpp)文件 -》右键 -》 重新扫描 -》 重新扫描整个解决方案;...原创 2021-01-05 10:44:20 · 296 阅读 · 0 评论 -
VisualStudio设置C++代码clang编码格式
VisualStudio设置clang编码格式VisualStudio 默认的C++格式为 默认的,alt + F8 自动格式代码;如果要求代码为clang格式,为了简单,可以设置;工具-》 选项 -》 文本编辑器 -》 C/C++ -》 格式设置 -》 (界面右边)默认格式设置样式然后就很方便应用了;...原创 2020-12-08 11:40:51 · 1072 阅读 · 0 评论 -
VC 对话框前置
Setforegroundwindow();SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);//设置最前端;SetWindowPos(&CWnd::wndNoTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);//取消最前端;原创 2012-07-04 12:26:09 · 1113 阅读 · 0 评论 -
PreTranslateMessage作用和使用方法
PreTranslateMessage作用和使用方法PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,转载 2012-07-06 17:30:46 · 2090 阅读 · 0 评论 -
VC 窗口透明
原创文章,转载注明出处:方法一://会闪烁,会刷新窗口;网上有很多窗口透明的方法,大多都差不多,不过还是有很多人没有完全会用,这里我整理一下,写了一个函数:窗口透明有两种情况,一种是鼠标可以透过窗口,一种是鼠标不可以透过窗口; void TransparentWnd( CWnd * PW = NULL /*透明窗口指针*/, int nisLeakDlg = 1 /*透明原创 2011-12-30 10:20:53 · 5416 阅读 · 1 评论 -
MapWindowPoints 函数
mfc中有 ScreenToClient 和 ClientToScreen 这另个进行坐标转换的函数好, 不过还有一个函数更好记,更方便:MapWindowPoints函数; 就是把a窗口为坐标的点,转换为B窗口为坐标的点; 下面的例子演示了将窗口的点pt(位置),转换为点pt在窗口上点(位置) CPoint pt(0,0); int i = ::Ma原创 2011-09-27 10:05:58 · 3663 阅读 · 0 评论 -
VC右键菜单
1:添加WM_CONTEXTMENU消息;2:void CTmfc1Dlg::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here CMenu menutemp; menutemp.LoadMenu(IDR_MENU1); CMenu* pSu原创 2012-08-16 14:06:02 · 1152 阅读 · 1 评论 -
GDI+ 制作透明图片
1:制作透明图片文件; GDI+ 支持32位位图文件,所以自然就支持图片透明了; 首先:建立一个32位位图文件在内存中,将文件刷新为透明格式; 其次:在这个内存32位位图文件上作图; 最后:保存这个32位位图文件为指定格式的图片:例子如下:在透明位图文件上作图,然后保存问题png格式文件:#include using nam原创 2012-08-20 13:40:30 · 8605 阅读 · 5 评论 -
VC 对话框支持拖动
对话框支持拖动添加WM_NCHITTEST 消息事件UINTCMyAgentDlg::OnNcHitTest(CPoint point) {// TODO: Add your message handler code here and/or call default UINT nHitTest=CDialog::OnNcHitTest(point); retur转载 2012-08-22 08:48:29 · 969 阅读 · 0 评论 -
win11 眼睛保护色
设置计算机窗口颜色为眼睛保护色,当然可以通过360眼睛卫士一键设置眼睛保护色;在VC6中,代码编辑区背景正常显示保护色了,但是在VC2008中还是白色:解决方法如下:进入: 菜单中“工具”->选项->环境->字体与颜,然后切换“背景颜色”在“自动”和“默认值”之间切换,然后“确定”,就可以了;...原创 2012-08-28 12:39:00 · 2800 阅读 · 0 评论 -
void OutputDebugStringf(char *fmt, ...)
这是来自xvid中的一个函数:#include "debug.h"#include #include #include /* vsprintf */#define DPRINTF_BUF_SZ 1024void OutputDebugStringf(char *fmt, ...){#ifdef _DEBUG va_list args; char buf[转载 2012-10-24 09:13:15 · 1259 阅读 · 0 评论 -
DLL中获取dll的路径
char * getcurrentDLL(){ static char array[MAX_PATH] = {0} ;if (strlen(array) > 1 ){return array;}char * pstrDllName = "my.dll"; HMODULE hMod = GetModuleHandle( pstrDllNam...原创 2012-11-15 10:25:04 · 1225 阅读 · 0 评论 -
Camstudio(vscap)编译
vs2010 编译 Camstudio-2.0-src:1:hook工程添加:windowscodecs.lib;uuid.lib2:在vscap工程添加hook.lib(当然包含路径) VC6编译需配置STLport;原创 2012-11-30 14:04:07 · 1375 阅读 · 0 评论 -
获取文件属性SHGetFileInfo
1:文件/文件夹 显示的图标:#include using namespace Gdiplus;#pragma comment(lib,"gdiplus.lib")void CTestGetFileICONDlg::ShowFileIcon( CString strFile ) { // TODO: Add your control notification handler原创 2012-11-30 16:43:59 · 1034 阅读 · 0 评论 -
VC调试方法大全
VC调试方法大全一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置跟踪调试1、 尽量使用快捷键时转载 2012-12-27 09:07:49 · 670 阅读 · 0 评论 -
Windows平台下Makefile学习笔记
Windows平台下Makefile学习笔记(一)作者:朱金灿来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码);另一方面源码在服务器端编译的话,使用IDE的方式编译还是转载 2012-12-17 09:31:44 · 7765 阅读 · 0 评论 -
VC命令行编译开源代码的常用做法
作者:朱金灿来源:http://blog.csdn.net/clever101 一般开源代码为了支持多种编译器,一般并不针对VC编译器提供解决方案文件或工程文件。因此要使用VC编译器编译开源代码,需要了解VC命令行的常用用法以及开源代码编译方面的知识。 开源代码一般采用两种做法来支持VC编译器,一是用CMake导出VC++项目文件,如OpenCV和OS转载 2012-12-17 09:33:10 · 1000 阅读 · 0 评论 -
error C2365: “operator new”: 重定义;以前的定义是“函数”
在VC的debug中,有时候会出现: error C2365: “operator new”: 重定义;以前的定义是“函数” 这个错误,如:在某个cpp文件中的后面某行添加 #include;#include可以在cpp文件任意行的非函数题中。原因是 在debug时,new 被vc重定义,以便检查内存泄露。解决方法:方法1:将所有的#include写在 #ifdef _DEBU原创 2012-12-19 14:32:31 · 13282 阅读 · 1 评论 -
uafxcwd.lib(afxglobals.obj) : error LNK2001: 无法解析的外部符号 _IID_IWICImagingFactory
再用VC2010静态链接后,编译出现这个错误提示:uafxcwd.lib(afxglobals.obj) : error LNK2001: 无法解析的外部符号 _IID_IWICImagingFactory。 解决方法:在工程中添加链接 windowscodecs.lib。 原文:http://social.msdn.microsoft.com/Forums/zh-CN/v转载 2013-01-25 17:15:09 · 8535 阅读 · 1 评论 -
VC强制退出线程
BOOL Terminate_Thread( CWinThread * pCWinThread ){ DWORD dwExitCode = 0; ::GetExitCodeThread( pCWinThread->m_hThread, &dwExitCode ); //这两个函数直接写到线程中,就相当于return,工作者线程隐含调用了ExitThread; //::Exi原创 2013-01-22 09:53:24 · 5411 阅读 · 0 评论 -
在VC中判断VC版本
在程序中的应用:#if _MSC_VER==1200//这里判断就是VC6#endif在很多情况下,一般只判断当前版本是否是VC6 或更高版本,如下:#if _MSC_VER==1200//VC6;#else if _MSC_VER>1200//更高的VC版本#endif 转:_MSC_VER是MSVC编译器的内置宏,定义了编译器的版原创 2013-02-20 10:17:16 · 2911 阅读 · 0 评论 -
CFileName
当然根据路径获取文件名的最简单方法就是用LPTSTR PathFindFileName( LPCTSTR pPath ); 函数;如果想跨平台,可以自己实现; 和CFileDialog差不多,不过 文件路径是直接给的: .h文件----------------------------------------------------------------------转载 2012-01-05 10:21:46 · 2617 阅读 · 0 评论 -
Shlwapi
Shlwapi介绍Windows中有一个Shlwapi.dll文件,包含了大量的Windows字符串处理方法,这些方法,在通常的程序应用中,经常会用到,有一部分处理方法,在CRuntime中也存在,但不方便使用。有一部分函数,也有相关的Windows API函数,如StrCpy对应的lstrcpy之类的字符串处理函数。从Shlwapi名称看,这个应该是Windows的Shell A转载 2013-03-07 13:26:02 · 2080 阅读 · 0 评论 -
如何提升进程的权限
如何提升进程的权限我们可以通过WriteProcessMemory函数直接修改其他进程的内存从而实现内存补丁或者游戏修改之类的功能,但是,有个问题,并不是所有的程序都是能够被写内存的,这从前面的日志通过CreateToolhelp32Snapshot函数获得系统中当前运行的进程信息2 可以看出来,好多程序的打开状态是失败的。所以,提升当前进程的权限非常非常必要。程序实现的代码如下:转载 2013-03-14 15:49:23 · 916 阅读 · 0 评论 -
VC启动另一个exe 同时传入参数 systerm WinExec ShellExecuteEx
1:简单的可以用systerm(),直接启动另一个exe;如果传参数:2:WinExec( strCommand, SW_HIDE );strCommand:表示另一个exe和参数,就相当于在右下角运行框中启动程序;但是这个函数只可以执行ANSI字符串;还要格式化字符串;3:ShellExecuteEx。这是我认为比较好的方式。{ SHELLEXECUTEINFO原创 2013-03-29 10:58:44 · 2030 阅读 · 0 评论 -
一步一步教你实现CTreeCtrl 自绘
源代码下载 最近因工作需求,需要自绘CTreeCtrl。由于原来从来没有自绘过,开始在网上搜索资料,查询(因此本文有些知识可能不全面,或许还有更好的办法来实现,还请大家多多指教。)经过一段时间的编写,终于写好了。在此,感谢网友bunpkin提供的实例参考。先贴上效果图,如果觉得还不错,那就继续往下看吧。如果觉得不行的,请飘过。如何你看见这句话我会很高兴,因为至少我写的东西对你转载 2013-04-01 13:48:21 · 1022 阅读 · 0 评论 -
Detours
这里我将好的文章及总结放到这里:《如何生成Detours.lib Detours的使用准备》Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:一.下载Detours 在http://research.microsoft.com/sn/detours 可免费下载Detours,当前的最新版本是Detours Expr转载 2013-04-01 14:11:19 · 1153 阅读 · 0 评论 -
VC6--Unicode编程总结
VC6--Unicode编程总结 UICODE环境设置在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。UNICODE编译设置:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link/output转载 2013-03-20 10:28:48 · 852 阅读 · 0 评论 -
VC 调用 图片查看器
ShellExecute (0, "open", "explorer.exe", "G:\\t.bmp", "", 10);//在win7上没问题,但是windows xp系统不可; 所以,用一下函数可以全部支持(简单修改了一下别人的文章):void Palyimagewindows( CString strPicFile ){ CString strSystemD原创 2012-03-23 17:29:14 · 3248 阅读 · 0 评论 -
VC 添加库 与 忽略库 (库:lib文件)
在VC编程时经常需要用到 lib 文件, 这里仅说明命令行 添加lib文件 和 忽略lib文件的方法,当也然可以通过VC的IDE设置; 添加库:#pragma comment(lib,"*.lib")忽略库:#pragma comment(linker,"/nodefaultlib:*.lib")原创 2011-09-08 15:57:21 · 2919 阅读 · 0 评论 -
VS2010 帮助文档安装(msdn)
vs2010的帮助文档安装,比之前的安装方式有所变化,具体安装如下: 从软件应用程序的“帮助”菜单中启动 Help Library 管理器。单击“帮助”>“管理帮助设置”。选择“我想要使用本地帮助”,然后单击“确定”。 单击“从磁盘安装内容”。导航到包含内容安装文件(HelpContentSetup.msha)的目录。通过单击内容标题旁边的“转载 2013-03-21 10:34:23 · 2954 阅读 · 0 评论 -
VC项目配置基础
一.IDE基础配置1.字体VC6中“Tools→Options→Format→Font”配置字体;VC2005中“工具→选项→环境→字体和颜色”配置字体。编写代码一般采用等宽字体,等宽点阵(位图)字体,相对矢量字体而言具有兼容性好和显示清晰的优点。常用的编程等宽字体包括Fixedsys(VC6和notepad御用字体)、Consolas、YaHei Mono。VC6转载 2012-04-13 09:40:01 · 1661 阅读 · 0 评论 -
VC 枚举硬盘 获取硬盘剩余空间
枚举所有硬盘,可以设置枚举条件:void emnu(){ DWORD dwInfo = GetLogicalDrives(); int m = 0; while(dwInfo) { if (dwInfo&1) { char ch= 'A'+m; char chs[2] = {0}; chs[0] =原创 2012-02-16 16:03:47 · 2802 阅读 · 3 评论 -
Visual Studio 2010 SP1 重新安装错误解决
Visual Studio 2010 SP1 Upgrade Fiasco: silverlight_sdk.msi is unavailable …Applying Visual Studio .Net 2010 SP1 is arduous at best. Mostly, I’m likely griping over the amount of time I’ve had to inv转载 2011-11-22 11:12:08 · 6690 阅读 · 0 评论 -
将鼠标锁定在指定区域内
1,将鼠标锁定在指定区域内: CRect rc; GetClientRect(&rc); ClientToScreen(rc); ClipCursor(rc); 2,解除锁定鼠标限制:ClipCursor(NULL);原创 2012-04-06 13:15:18 · 3154 阅读 · 0 评论 -
VC2010配置附加路径(工程相对路径)
附加路径的配置只针对当前工程: 另:网上有篇文章《vc2010详细介绍》不错,百度文库里有。原创 2013-03-21 14:13:48 · 1037 阅读 · 0 评论 -
获取CCombobox下拉框rect
CRect rect; m_Combobox.GetDroppedControlRect(&rect);原创 2012-04-09 09:47:36 · 696 阅读 · 0 评论 -
VC实现flash透明显示
1:在窗口上添加CShockwaveFlash ocx同时关联变量;2:可以通过CShockwaveFlash设置flash背景色;3:设置窗口透明,指定透明颜色(CShockwaveFlash设置flash背景色);这样就实现了flash的透明显示了;原创 2013-03-26 13:40:21 · 2093 阅读 · 0 评论