Articles of visual c ++

在Windows 8 Media Foundation转换中在IMFMediaBuffer上绘制文本

如何在IMFMediaBuffer对象上绘制文本,并将其写出到另一个IMFMediaBuffer对象? 上下文是我正在build立一个MFT,最初我尝试使用Direct2D和Direct3D11来实现这一点,但无济于事。

Windowsregistryredirect是一个“坏事”?

我有我自己的安装程序,我用它来安装我写的几个应用程序。 我一直在更新这个程序,以避免应用程序的数据文件更新到用户的VirtualStore,因为我读这是一个“坏事”。 我这样做是通过将程序和常用数据文件分别存储在正确的位置,而不是像XP中那样将所有内容都保存在程序文件中。 我现在也在使用SHGetFolderPath(是的,它已被弃用,但我仍然需要支持我的XP用户),以获取已知的文件夹,而不是拖网registry,这是另一个“坏事”(我读)。 接下来我要做的是重写安装程序代码,避免在向HKLM写入内容时将registryredirect到Wow6432Node,因为我认为这是另一件“坏事”。 然而,虽然我可以把应用程序特定的东西(如安装文件夹,如果用户决定安装在默认以外),杀手是需要将卸载信息放在HKLM \ Software \ Microsoft \ Windows \ CURRENTVERSION \卸载。 对于在64位系统上运行的32位的东西,这被redirect到Wow6432Node。 我不觉得有什么办法 – 事实上是可能的吗?

如何编辑MFC列表框中的单元格?

我有一个CListCtrl控件有2列和任意数量的行。 我希望用户能够点击(或者双击)“单元格”,并能够编辑其中的文本。 我的意思是,我希望能够点击和编辑任何地方,说“testing”通过点击文本,使其可编辑。 我应该怎么做呢? 我想我应该使用鼠标点击事件,但如何使单元格可编辑?

客户在使用我们的应用程序时得到R6002运行时错误

我们有一个使用Visual C ++ 2005构build的应用程序,有一个客户报告说他得到了这个运行时错误: Microsoft Visual C++ Runtime Library Runtime Error! Program: [path to our application] R6002 – floating point support not loaded 根据微软( 在这个页面上 ),可能的原因是: 该机器没有FPU(不是这种情况:客户有一个Intel Core 2 Duo CPU,自从486SX以来我没有看到没有FPU的机器) printf或scanf与浮点格式规范一起使用,但程序中没有FPvariables(我们的应用程序包含FPvariables,但是我确信我们从不使用printf或scanf与FP格式) 与FORTRAN(在我们的应用程序中没有FORTRAN代码) 而且,在使用我们的应用程序时(特别是在他们select要处理的文件之后),而不是在应用程序启动时发生错误。 我意识到这是一个远射,但是有没有人在任何地方见过这样的事情? 谷歌是相当无益的(有很多没有支持的声称,这是一种病毒感染的症状,但除此之外很less)。 任何build议感激地收到:-)

如何在Windows上构buildgnu`libiconv`?

我想在Windows上构build一个静态库(* .LIB文件) GNU libiconv ,与Visual C ++中的其他库一起使用。 我正在使用的其他库是使用“multithreadingDLL”(/ MD)运行时选项构build的。 所以,我需要使用相同的选项来构buildlibiconv。 问题是libiconv使用GNU构build系统,我想用/ MD选项编译。 你可以在这里看到libiconv的源代码结构: http ://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv Zlatkovic先生维护libxml2的GNU libiconv的Windows端口 你可以在这里看到他们: ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip 我不能使用他的端口。 我需要从最新版本的libiconv-1.13开始构build。 我不知道这个人是如何移植它的? 有人可以告诉我如何从这个build立* .lib并使用MSVC编译它? 编辑: 其实,我需要build立几个相同的设置GNU库。 所以,如果我得到一个库的解决scheme。 我可以为所有其他人做同样的事情。

C ++exception“跳过”MSVC x64中的Try-Catch子句

我正在用C ++编写一个程序。 该程序一直在Win32(x86)正常工作,最近我已经尝试编译本机的X64。 当然,东西没有马上工作。 在debugging问题后,我已经设法用这个简单的代码片段重现它: class MyException { }; int main() { try { for (;;) { try { std::cout << "Throwing" << std::endl; throw MyException(); if (1 == 0) { continue; } } catch (const MyException&) { std::cout << "Catch 1" << std::endl; } } } catch (const MyException&) { std::cout << "Catch 2" […]

Windows 7操作中心

如果有人能指导我修改/控制Windows 7操作中心所需的新MS API,我将不胜感激。 我需要做的是将Backup通知消息集成到我的应用程序中,该应用程序是Action Center中的备份应用程序。 换句话说,我希望Windows在第三方软件完成其备份操作后显示备份操作成功。 更具体地说…有没有办法像安全通知/状态消息一样处理备份通知…例如,在安装反病毒应用程序之后…操作中心中的病毒保护字段显示消息类似于这个: <App Name> reports that it is up to date and virus scanning is on. 其中<App Name>是第三方应用程序名称。 有没有办法做类似的事情,但在行动中心的备份部分?

任何原因使用SecureZeroMemory()而不是memset()或ZeroMemory()时,安全性不是问题?

这个MSND的文章说SecureZeroMemory()是适用于在一段时间内存储在内存中的敏感数据在不再需要时确实被覆盖的情况。 这个问题的答案解释了为什么这可以有所作为。 现在有没有使用SecureZeroMemory()初始化每个内存块的意义? 例如在一个项目中,我看到类似下面的代码: ICONINFO ii; ::SecureZeroMemory(&ii, sizeof(ICONINFO)); if (::GetIconInfo(hIcon, &ii)) { //do stuff, then //release bitmaps if(ii.hbmMask) ::DeleteObject(ii.hbmMask); if(ii.hbmColor) ::DeleteObject(ii.hbmColor); } 为什么在这里使用SecureZeroMemory()而不是ZeroMemory() , memset()或者初始化值? 我的意思是如果编译器决定初始化是不必要的,并希望优化它 – 为什么我会执行它? 有什么理由在这里使用SecureZeroMemory()吗?

如何使用callback示例vc实现icmpsendecho2asynchronous

我需要使用ApcRoutinecallback例程asynchronous使用IcmpSendEcho2 API命令。 我有一个问题是我需要定义的ApcRoutinecallback例程的签名是什么样的? 当我打电话给IcmpSendEcho2第三个参数是什么样的? 我有15个代理请求被发送。 我只能用IcmpSendEcho2请求一次或多次。 如果我需要一次发送多个IcmpSendEcho2请求。 callback函数ApcRoutine如何知道哪个IcmpSendEcho2调用完成。 我猜这是ApcContext参数进入的地方? 我无法findMSDN或其他地方的任何示例代码,演示如何asynchronous使用IcmpSendEcho2命令。

如何从DLL生成一个导入库(LIB文件)?

是否有可能从一个DLL自动生成一个MSVC导入库(LIB文件)? 怎么样?