问题标签 [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 投票
3 回答
5892 浏览

gcc - 是否可以说服 GCC 模仿 fastcall 调用约定?

所以我有一个程序集需要在 Windows 上使用 fastcall 调用约定调用一个函数,但 gcc 不(afaict)支持它。GCC 确实提供了 regparm 属性,但它期望前 3 个参数在 eax、edx 和 ecx 中传递,而 fastcall 期望前两个参数在 ecx 和 edx 中传递。

我只是试图避免有效地复制一些代码路径,所以这并不是很关键,但如果它是可以避免的,那就太好了。

0 投票
5 回答
17801 浏览

windows - 如何在 Windows 中控制打印机的打印机托盘选择

我们需要能够更改给定打印机的默认选择打印托盘。有没有人有 VC++/win32 代码来做这件事?

万一这很重要,我相信我们必须更改打印机的默认设置。我们的打印作业由我们以外的应用程序执行,因此我们不能在源自我们应用程序内部的打印操作的上下文中进行这些类型的更改。除非有某种方法可以在不同的应用程序中修改默认打印设置,否则我认为我们无法更改用户对打印机的默认设置,启动我们的打印作业,然后将默认设置恢复为原始值。

我们真的更希望只为当前用户更改默认值,而不需要任何特殊的 UAC 提升等...

我怀疑它将使用类似于此 MSDN 文章中所示的内容,并涉及在 DEVMODE 结构中设置字段(dmDefaultSource 或 dmFormName 或两者)。

有接盘侠吗?或者有没有人有任何他们想分享的问题?

编辑:这是 DEVMODE 文档的链接DEVMODE 文档

编辑:我还应该指出,我们正在寻找一个通用的解决方案 - 不是特定于特定打印机的东西(我们部署在很多很多环境中)

0 投票
2 回答
536 浏览

windows - 重用编辑控件作为命令窗口

这是一个 GUI 应用程序(实际上是 MFC)。我需要一个能够显示如下提示的命令窗口:

最喜欢的色情明星的名字:

用户应该能够在提示后输入文本,如下所示:

最喜欢的色情明星的名字:Raven Riley

但我需要防止用户将光标移动到提示区域。还应防止用户退格进入提示符,以防止出现以下情况:

Rrraven Rrrileeey Ruuuulez!!!最喜欢的色情明星的名字:

还需要控制文本选择等等。最后,我只检索用户输入的文本(减去提示文本)应该没有问题。

从头开始创建自己的窗口类(即从CWnd 继承)会更好还是应该重用Windows EDIT 控件(即从CEdit 继承)?

在 AutoCAD 和 Visual Studio(在调试模式下)中可以看到类似的命令窗口。

0 投票
2 回答
2157 浏览

c++ - 在 MFC 中创建标尺条

在 SDI 应用程序中创建垂直和水平标尺条的最佳方法是什么?你会让它成为框架或视图的一部分吗?从CControlBar派生出来,还是有更好的方法?

垂直标尺也必须停靠在窗格而不是框架上。

为了让我更清楚地了解我所追求的,想象一下 Visual Studio 中对话框编辑器中的垂直标尺(仅限 MFC)。每当调整树视图的大小时,它都会重新定位。

0 投票
3 回答
8997 浏览

c++ - VC++ 2008,OpenProcess 总是返回错误 5(拒绝访问)

当我尝试使用 PROCESS_ALL_ACCESS 作为我想要的访问权限调用 OpenProcess 时,有谁知道为什么 MSVC++ 2008 总是在 GetLastError() 上返回错误 5?PROCESS_VM_READ 工作得很好。我是这台计算机的管理员,它在 Dev C++ 中运行良好。

我需要在某处设置一个选项吗?

0 投票
6 回答
69341 浏览

c++ - C++#include和#import的区别

#includeC++和C++有什么区别#import

0 投票
1 回答
171 浏览

visual-c++ - 在 Microsoft Visual Studio 2005 中,是否可以在打开编辑窗口时设置其大小?

我有一个非常大的显示器。当我在 MSVC 中打开一个文本文件时,该文件的默认宽度约为我屏幕空间的 80%。对于大多数代码位,大约是我需要的大小的两倍。有没有办法设置新打开文件的默认大小?

0 投票
1 回答
1983 浏览

visual-c++ - 转换为 Windows 库的 MinGW 库在 VC++6 中给出了奇怪的链接

我使用了 MinGW.a到 Windows的.lib转换过程,详见 gmp-discuss 列表中的一个线程,如下所示(针对使用 --disable-shared --enable-static 创建的库。)

我现在有一个.lib文件,VC++6 似乎可以毫无困难地链接它。我现在担心的是我从链接阶段收到的警告消息:

在程序的这一点上,这些对我的 DLL(包装了某些 GMP 功能)的运行没有任何影响。但这足够好吗?将这三个符号从libgmp.a链接到我的 Windows DLL 最终会咬我吗?

0 投票
4 回答
37719 浏览

visual-c++ - 不使用 VCRedist_x86.exe 的 Visual C++ Redistributables

我在一个受到严格限制的环境中开发,但开发人员也有严格的控制。

VCRedist_x86.exe - 一个 4Mb 的可再发行文件 - 不好玩(传输四个小时)。我真的更喜欢只重新分发 MFC90.dll、msvcm90.dll、msvcp90.dll 和 msvcr90.dll - 这更像是 2Mb。但是,重新分发 Visual C++ 文件说:

不支持重新分发在没有清单的情况下构建的 C/C++ 应用程序。如果没有将应用程序绑定到这些库的清单,C/C++ 应用程序就不能使用 Visual C++ 库。有关详细信息,请参阅选择部署方法

我最初将 DLL 复制到程序工作目录的计划似乎在这个勇敢的清单新世界中行不通。

我的下一个猜测是将文件填充到 WinSxS 目录所需的注册表项并自己填充(而不是使用 4 meg 程序)。

[编辑] 该软件经常更新,因此 DLL 比静态链接更受欢迎。[/编辑]

我怎样才能成功地分发必要的文件,同时降低开销?

0 投票
1 回答
6937 浏览

winapi - 如何确定最佳线程堆栈大小?

实际上,有两种大小:最初提交的和总保留的。

您使用静态分析还是动态分析?哪些工具?有哪些技巧?