问题标签 [visual-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
16363 浏览

c++ - 有没有办法在 Visual C++ 中编写带有变量参数列表的宏?

据我所知,在 gcc 中,您可以编写如下内容:

有没有办法在 VC++ 中做到这一点?

0 投票
2 回答
1290 浏览

windows - 如何使用 Windows Core API 制作无限滚动条控件?

我怎么做一个?我是 Windows API 的新手。这种事情有什么手册吗?我对核心 API 特别感兴趣。感谢您的任何帮助。

0 投票
2 回答
1573 浏览

windows - 如何可靠地获取 XP 和 Vista 中的 Quick Launch 文件夹?

我们需要在 Vista 和 XP 下为 All 和 Current 用户可靠地获取 Quick Launch 文件夹。我正在用 C++ 开发,但这可能更像是一个一般的 Windows API 问题。

作为参考,下面是获取两个系统下的 Application Data 文件夹的代码:

我怀疑这只是知道微软使用哪个子文件夹的问题。

在 Windows XP 下,应用程序数据子文件夹是:

Microsoft\Internet Explorer\快速启动

在 Vista 下,子文件夹似乎已更改为:

漫游\Microsoft\Internet Explorer\快速启动

但我想确保这是确定正确位置的正确方法。

找到确定此位置的正确方法非常重要,因为当您进入国际安装等时,依赖硬编码的文件夹名称几乎总是会中断......事实上,该文件夹在 Vista 中被命名为“漫游”,这让我想知道是否有是与该文件夹相关的一些特殊处理(类似于 XP 下的 Local Settings 文件夹)。

编辑:以下 msdn 文章: http: //msdn.microsoft.com/en-us/library/bb762494.aspx表明 CSIDL_APPDATA 具有 FOLDERID_RoamingAppData 的等效 ID,这似乎支持 StocksR 的断言,即 CSIDL_APPDATA 确实返回 C:\ Users\xxxx\AppData\Roaming,因此应该可以为 CSIDL_APPDATA 使用相同的相对路径来快速启动(\Microsoft\Internet Explorer\Quick Launch)。

因此,以下算法对于每个 MS 都是正确的:

检查 hres 以确保对 SHGetSpecialFolderPath 的调用成功也是一个好主意。

0 投票
4 回答
2448 浏览

c - C中的编译时LCM / GCD

有谁知道在编译时计算C中至少两个数字的 LCM(最小公倍数)和/或 GCD(最大公分母)的机制(不是 C++,我知道那里有模板魔术)?

我通常使用GCC,并记得它可以在所有输入已知的编译时计算某些值(例如:sin、cos 等)。

我正在寻找如何在GCC中执行此操作(最好以其他编译器可以处理的方式),并希望相同的机制可以在 Visual Studio 中工作。

0 投票
8 回答
5454 浏览

c# - 使用 Visual Studio 在 Windows 上混合 C# 代码和非托管 C++ 代码

我想从我的 C# 代码中调用我的非托管 C++ 库。有哪些潜在的陷阱和需要采取的预防措施?感谢您的时间。

0 投票
7 回答
8257 浏览

user-interface - MFC应用程序的图表控件?

我想对我们可以在 Visual C++ MFC 应用程序中使用哪些第三方控件提出一些建议?

0 投票
12 回答
2148 浏览

visual-c++ - 小型公司的代码/文档管理

我在一家非常小的公司工作(约 5 名员工,2.5 名程序员)。几年来,我们已经摆脱了没有代码或文档管理的困扰,但随着我们的成长,它开始赶上我们。

对管理系统的任何建议。免费更好,但便宜是可以接受的。我们只是不想花更多的时间在安装/配置上,而不是节省我们的时间。

我们主要使用 VC++ 6,但我们正在扩展到 VC# 2008。此外,我们需要跟踪几个硬件的机械图和电路图,以及硬件和软件的用户手册(但我没有真的希望找到一种工具来完成所有这些工作,只是希望)。

0 投票
7 回答
12164 浏览

visual-studio-2008 - 如何为 Visual C++ 2008 (Express edition) 编译 Cairo

大多数预编译的 Windows 二进制文件都是使用 MSYS+gcc 工具链制作的。它使用与 Visual C++ 2005/2008 不兼容的 MSVCRT 运行时。

那么,如何仅为 Visual C++ 编译 Cairo 1.6.4(或更高版本)。包括依赖项(png、zlib、pixman)。

0 投票
1 回答
2289 浏览

visual-c++ - 将 HTMLHelp.lib 与 x64 链接

我有一个使用 HtmlHelp 的 VS05 C++ (MFC) 项目(函数 HTMLHelpA,从 HmleHelp.lib 链接,来自 HTML HElp Workshop v1.4)。32 位版本编译和链接很好。

64 位版本可以正常编译,但在链接时在 HTMLHelpA 上出现“未解决的外部”错误。

所以,我的问题很简单:有没有办法在 x64 中使用 HTMLHelp?

0 投票
5 回答
2510 浏览

visual-c++ - 屏幕截图在 Vista 中的 MFC 应用程序上不起作用

我们有一些在 MFC 中构建的内部应用程序,带有 OpenGL 绘图例程。他们都使用相同的代码在屏幕上绘图并打印屏幕或将其保存为 JPEG 文件。在 Windows XP 中一切都运行良好,我需要找到一种方法让它们在 Vista 上运行。

在我们的三个应用程序中,一切正常。在剩下的一个中,我可以得到窗口边框、标题栏、菜单和任务栏,但内部从来没有出现过。正如我所说,这些应用程序使用完全相同的代码来写入屏幕并捕获窗口图像,我看到的唯一区别可能是相关的问题应用程序使用 MFC 多文档界面,而那些该工作使用单一文档界面。

要么答案不在网上,要么我在谷歌上的搜索比我想象的要差。我在 MSDN 论坛上问过,我得到的唯一实用建议是使用 GDI+ 而不是 GDI,这并没有什么不同。我对捕获和打印或保存的代码的每一部分都尝试了不同的东西,给出了一个指向窗口的指针,所以显然这是窗口本身的问题。我还没有使用 SDI 重建有问题的应用程序,我真的没有任何其他想法。

有没有人见过这样的事情?


我有四个应用程序。他们使用很多通用代码,并共享实际的 .h 和 .cpp 文件,所以我知道绘图和屏幕截图代码是相同的。

有一个 WindowtoDIB() 例程,它采用 *pWnd、源矩形和目标大小。它看起来像是经过略微改编的 Microsoft 代码,我在 Microsoft 网站上的此文件中找到了其他功能。在我的四个应用程序中,三个处理得很好,但一个没有。最明显的区别是问题之一是MDI。

在我看来,*pWnd 是问题所在。我绝对不是 MFC 专家,在我看来,问题可能在于我们在 SDI 中设置了一个窗口,而在 MDI 中设置了多个窗口。我可能将错误的 *pWnd 传递给函数。

同时,它已经开始在 64 位 Vista 测试机上正常工作,但在 32 位 Vista 机器上仍然无法正常工作。我不知道为什么。自上次测试以来,我没有改变任何东西,我认为其他人也没有。(在 32 位版本上,Print Screen 键按预期工作,但它不会将屏幕保存为 JPEG。)