草庐IT

c++ - 在 C++ WIN32 中识别后台进程并将其置于前台

谁能告诉我如何识别特定的后台进程(即,已经在运行的应用程序)并将其带到前台?例如,如果一个记事本应用程序在后台运行,当我运行我的WIN32应用程序时,它应该识别记事本应用程序并且记事本应该弹出或进入前台。我尝试了SwitchToThisWindow()函数,但它的工作方式类似于Alt+tab。它不会识别后台进程。请给我建议这方面的演练指南..谢谢你.. 最佳答案 不清楚您所说的“后台进程”是什么意思,但这里有一些想法:使用EnumWindows为您提供桌面上的所有顶级HWND。这将包括一堆你不想要的东西,你必须过滤掉。建议您使用Sp

c++ - 为什么 MS 在其 win32api 中没有返回字体文件名的函数,给定字体句柄?

在使用WindowsAPI多年的经验中,这是我第一次遇到我需要做某事的情况,而我不能使用Windows当前的编程接口(interface)。根据我的研究,字体“ArialBlack”使用文件arialblk.ttf并且字体“ArialBlackItalic”没有文件,字体“ArialBlack”也没有粗体”,至少在我装有Windows7的计算机中是这样。我在下面插入了一个程序来显示几行使用字体“ArialBlack”的文本,单独使用,然后使用斜体和粗体显示。令我惊讶的是,斜体文本呈现正常,而粗体文本呈现为好像只是“ArialBlack”。然后我意识到同样的事情发生在MSWord上。我还

C++ 11新特性之week_ptr

概述        在C++11标准中,智能指针的引入极大地提升了内存管理的安全性和便利性。除了已经广为人知的shared_ptr和unique_ptr之外,还有一个重要但相对较少被单独提及的智能指针类型——std::weak_ptr。std::weak_ptr是C++11引入的一种弱引用智能指针,它不拥有所指向对象的所有权,而是对shared_ptr持有的对象提供一种非拥有但可观察的访问方式。weak_ptr主要用于打破共享所有权循环引用的问题,防止出现内存泄漏。工作原理        1、不增加引用计数。        当创建一个weak_ptr时,它不会增加其所指向的对象的引用计数。这意

c++ - Win32 中是否有检测用户何时更改区域设置的消息或通知?

编辑:为了响应社区的评论,问题被减少和优化。问题的删除部分将作为单独的问题发布。问题:在Win32API中是否有任何WM_SOMETHING或NM_SOMETHING消息可以通知我有关用户更改locale?你看,我可以使用该消息/通知将我程序的locale更改为当前locale.像这样的伪代码:caseWM_SOMETHING://inmymainwindowprocedure_wsetlocale(LC_ALL,L"");此外,如果有这样的消息,并且我按照上面的伪代码处理它,它会调整仅主窗口的locale还是还为子对话框和控件设置locale?。我为解决这个问题所做的努力:通过互联网

c++ - C++11 中具有 C 链接的复杂类型

我需要将C库的header包含到我的C++11代码中。现在,header提供的例程和数据结构到处都涉及大量doublecomplex。例如,#include//..typedefstructparameters{//...doublecomplexVud;}parameters;//...doublecomplexpolylog(intn,intm,doublex);我将这个文件放入我的C++11源代码中,用extern"C"{#include"include.h"}包装(不管你信不信,这就是实际的文件名)。如果我添加了-std=c++11,g++(尝试过4.7.3和4.8.2)和cl

c++ - C++11 中的 BOOST scoped_lock 替换

我面临这样一种情况,我必须用C++11中的等效项替换BOOSTscoped_lock。在visualstudio2013下。由于c++11不支持scoped_lock,我不确定下面的替换代码是什么。我应该选择lock_guard还是try_lock?boost::mutex::scoped_lockobjectLock(ObjectVectorMutex,boost::try_to_lock);if(objectLock){//...}在代码中我有以下“等待”语句if(ObjectsCollection.empty()){//Thisiswherewewaittilsomethingi

c++ - 在 C++11 中使用不带托管共享指针的 shared_from_this()

假设我有一个类是enable_shared_from_this的子类。这个基类的文档说在调用shared_from_this之前应该有一个拥有这个类的共享指针。使用new分配类并调用shared_from_this来管理对象是否安全? 最佳答案 正如其他用户已经提到的,在不属于shared_ptr的实例上调用shared_from_this将导致未定义的行为(通常是异常,但也有没有保证)。那么,为什么还要一个答案呢?因为我自己做了一次同样的问题并得到了几乎相同的答案,然后我开始为另一个问题而苦苦挣扎,这个问题紧随其后-我如何保证所有

c++ - 如何获得 -std=c++11 w/libstdc++?

为什么这行不通:#includeintmain(){return0;}编译为:clang++-std=c++11-stdlib=libstdc++temp.cpptemp.cpp:1:10:fatalerror:'regex'filenotfound#include^1errorgenerated.clang++--versionAppleLLVMversion7.0.0(clang-700.1.76)Target:x86_64-apple-darwin14.5.0Threadmodel:posix如果我允许stdlib为libc++则它会编译。正则表达式是c++11,但是clang似

c++ - 静态顺序初始化失败,iostream 和 C++11

根据C++11规范:Theresultsofincludinginatranslationunitshallbeasifdefinedaninstanceofios_base::Initwithstaticstorageduration.Similarly,theentireprogramshallbehaveasiftherewereatleastoneinstanceofios_base::Initwithstaticstorageduration这意味着如果我的代码看起来像这样://A.cpp#includeusingnamespacestd;unsignedlongfoo(){

c++ - ISO C++11 不允许从字符串转换为字符

根据我在这里读到的内容,你不能这样做:char*delegates[]={"IN",NULL};它必须是这样的,这样你就不会收到警告:constchar*delegates[]={"IN",NULL};但是我有一些我无法更改的功能,看起来像:voidInterpreter::setBuiltIns(char*builtins[],intnum)这个函数不会以任何方式改变数组。如果我尝试将字符串数组传递给它:myclass.setBuiltIns(delegates,1);我得到一个错误,但是如果我从delegate中删除const没有错误,但是我得到了ISO警告.我怎样才能保留这个函数