草庐IT

c++ - 是否可以复制 GDI 句柄?

或者在我的特定情况下是Windows区域(HRGN)?更新:问题如下:我有一个对象集合,其中每个对象都可以包含一个HRGN。这些区域一旦获得就会在对象被销毁时释放。由于其中一些对象存储在std::vector中,因此我必须定义一个赋值运算符。到目前为止,我只是分配了那些HRGN,但这是一个错误。如果我复制这样的对象,每个对象都会尝试删除相同的区域,而其中一个将使用不存在的区域。 最佳答案 您不能复制HRGN句柄,但您可以使用CombineRgn获得拷贝功能。 关于c++-是否可以复制GD

windows - 如何在 Visual C++ 中确定用户的语言?

我一直在msdn上搜索,但没有直接的答案。有没有办法简单地获取用户的语言?此时我不想加载任何资源或任何东西,我只想获取他们的语言。有什么简单的方法可以做到这一点吗?我使用的是VisualC++,我没有使用MFC或类似的东西。 最佳答案 GetUserDefaultUILanguage呢??警告:切勿将用户的区域设置误认为是他们的UI语言。那里已经有足够多的损坏的应用程序。 关于windows-如何在VisualC++中确定用户的语言?,我们在StackOverflow上找到一个类似的问题

c++ - 在 Windows 中设置全局剪贴板文本, native C++

我有一个ASCII字符串(一个空终止字符数组)在控制台应用程序中。我想做的就是让我的应用程序将这个字符串放入“全局剪贴板”以便在运行它之后,我可以在任何标准应用程序(在本例中为visualstudio)中按ctrl+v并粘贴我的字符串!我该怎么做?我做了:voidSetClipboardText(char*txt){if(!OpenClipboard(NULL)){__asmint3;}intl=PIstrlen(txt);HLOCALla=GlobalAlloc(LMEM_MOVEABLE,l+1);void*dest=GlobalLock(la);PImemcpy(dest,txt

c++ - 如何在结构数组中自动初始化最后一项?

我将一个数组传递给一个函数,并用一些值对其进行全局初始化。我在数组末尾使用空字符串来确定数组长度。现在,有没有什么方法可以自动初始化数组,使其末尾有额外的空项,这样我就没有机会从那里忘记它了?就像char[]的工作原理一样,它会向末尾的IIRC添加额外的null。这是我现在使用的代码:structtwostrings{strings1,s2;};twostringsoptions[]={{"text1","moretext1"},{"text2","moretext2"},{"text3","moretext3"},{""},//tellsthatthearrayendshere}in

c - 是否可以通过编程关闭电脑风扇+处理器风扇?

我正在尝试观察软件今天是否会损坏硬件。为此,我选择关闭电脑风扇是个好主意(否则我宁愿让硬盘崩溃)。我需要知道以下内容:是否可以在任何人的计算机上执行此操作?这会对硬件造成危险吗?选择C​​是一个不错的选择,还是我应该选择汇编语言?提前致谢。 最佳答案 首先,风扇旋转是有原因的:复杂的电子设备会很快过热。查看执行此操作的专用工具会更容易,例如适用于Windows的SpeedFan。另一方面,如果您真的想这样做,有很多方法-但是,它们大多是特定于供应商和产品的。对于Linux上的Acer笔记本电脑,请参见例如this-请注意,它是非常底

c++ - STL容器泄漏

我正在使用vector容器来保存包含3个整数和2个std::string的对象的实例,这是在堆栈上创建的并从另一个类中的函数填充但是通过deleaker运行应用程序显示对象中的std::string全部泄漏。这是代码://Populatorfunction:voidPopulatorClass::populate(std::vector&list){//m_MainListcontainsalistofpointerstothemasterobjectsfor(std::vector::iteratorit=m_MainList.begin();it!=m_MainList.end()

c++ - 使用 Windows api 和 C++,我如何从硬盘驱动器加载一个 exe 并在它自己的线程中运行它?

为了学习,我正在尝试做操作系统在启动程序时所做的事情,即。解析一个PE文件并给它一个执行线程。如果我有两个exe,一个叫foo.exe,另一个叫bar.exe,我如何让foo.exe将bar.exe的内容加载到内存中,然后让它在自己的线程中从那里执行?我知道如何使用MapViewOfFile或通过简单地将硬盘驱动器上的内容加载到缓冲区中来将其放入内存。我假设只是将磁盘上bar.exe的内容复制到它自己的挂起线程中并运行它是行不通的。我对PE文件的内部结构比较熟悉。当然,非常感谢所有帮助:) 最佳答案 首先,兰伯特是正确的。EXE在它

c++ - Visual Studio 在编译文件中存储隐藏数据?

我想知道VisualStudio是否将隐藏数据存储在编译文件(或其他文件)中。我说的是有关程序是用VisualStudio编写的事实的信息数据。 最佳答案 VisualStudio本身不会以这种方式为您的程序添加水印,但通常可以检测到您使用了Microsoft的工具链只是因为一些杂项,即文件中编译了哪些顺序方法,使用了哪些异常实现(MSVC++使用NT的SEH之上的特定异常代码,以实现C++异常;例如,MinGW使用完全不同的系统),以及对函数名称应用了哪些装饰。这些信息是PEID等工具的作用操作。

C++:如何优雅地将动态数据读入结构?

假设我将header存储在某个文件中,但header的某些部分是动态长度,看起来像这样:structHeaderTest{intsomeparam;intmore;intarrsize;//howbigarray,readarrsizeelementsintoarr:intarr[arrsize];//notvalid};是否有一些优雅的方法可以将动态数据读入结构? 最佳答案 您可以像这样定义您的结构,而不是在您的结构中使用arr和arrsize变量:structHeaderTest{intsomeparam;intmore;std

c++ - 简单的 C++ GUI 工具包

我正在寻找一个可以与MSVC++2008一起使用的漂亮而简单的GUI工具包。我需要一些带有简单示例/教程和良好文档的东西。我已经尝试过wxWidgets,但在尝试编译它时我真的很头疼。Qt教程和示例对我来说似乎太复杂了。我在Swing方面有相当多的经验,它是我唯一能够理解的GUI工具包。谢谢。编辑:三年前,我还很年轻,很傻,对小部件工具包知之甚少。强烈建议现在使用Qt。它对我来说效果很好。 最佳答案 MSVC++附带的工具包MFC不适合您的原因是什么?有大量的示例代码,使用起来并不是特别困难。