草庐IT

c++ - 需要在c++中以周期性时间间隔调用函数

我正在用C++编写一个程序,我需要定期调用一个函数,比如说每10毫秒左右。我从来没有在C++中做过任何与时间或时钟相关的事情,这是一个快速简单的问题还是没有巧妙解决方案的问题之一?谢谢! 最佳答案 要完成这个问题,@user534498的代码可以很容易地调整为具有周期性滴答间隔。只需要在定时器线程循环开始时确定下一个开始时间点,以及函数执行后的sleep_until那个时间点。#include#include#include#includevoidtimer_start(std::functionfunc,unsignedintin

c++ - 如何在 c++/QT 中以编程方式右键单击文件/文件夹时添加自定义菜单?

我们有一个应用程序可以像dropbox一样同步文件和文件夹。这是一个基于C++/QT的安装程序。我们想在文件或文件夹的右键单击上下文菜单中添加自定义菜单,就像dropbox在下面的屏幕截图中所做的那样。我们的目标是Windows和Mac平台。谁能建议我如何开始? 最佳答案 在Mac上,您将遇到问题,因为添加到常规Finder上下文菜单已被弃用。因此,您可能会想,如果它已被弃用,那么Dropbox是如何做到这一点的呢?根据我过去的研究,我相信他们使用代码注入(inject)来注入(inject)正在运行的Finder应用程序的地址空间

windows - 如何在 Windows RT 中以波形格式录制来自麦克风的声音?

我能够得到mp3和wma格式的文件。但我需要波形格式。 最佳答案 我知道这看起来有点扭曲,但是你不能安装一个音频转换软件(或者实现一个,如果算法不是太复杂的话)吗?此外,我对此并不十分熟悉,但我听说过有关WinRT的MediaEngine的讨论,如果您不了解它,可能值得研究一下。 关于windows-如何在WindowsRT中以波形格式录制来自麦克风的声音?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

c++ - 在 C++ 中以微秒的分辨率测量时间?

我正在寻找一种在C++/Windows中测量微秒的方法。我读到了“时钟”函数,但它只返回毫秒...有办法吗? 最佳答案 使用QueryPerformanceCounter和QueryPerformanceFrequency在Windows上实现最精细的颗粒计时。有关使用这些API进行代码计时的MSDN文章here(示例代码在VB中-抱歉)。 关于c++-在C++中以微秒的分辨率测量时间?,我们在StackOverflow上找到一个类似的问题: https://

c# - 使用 C# 将 Shell 集成到 Windows 中以获取特定文件类型

因此,我搜索了有关如何将您的应用程序与C#进行外壳集成(将其添加到右键单击菜单)的指南,但我找不到如何仅针对特定文件类型执行此操作。我知道这是可能的,因为WinRar做到了。那我该怎么做呢? 最佳答案 通常有两种方法可以实现这一点。注册表项-您可以在HKEY_CLASSES_ROOT下写入键和值。如果你查看那个配置单元,你会在你的电脑上看到扩展。看这个article有关键和值的详细信息。在这里可以使用一些简单的选项,例如使用您的应用程序打开.myfile类型的选项。这是一个FileAssociationExampleShell扩展(

c++ - 如何在 Visual C++ 中以编程方式设置断点?

我想做的是监视某些特定地址的内存值变化,比如将回调函数绑定(bind)到“onChange”事件。目前我能想到的一个想法是使用内存写入断点。那么如何在VisualC++中以编程方式操作断点呢? 最佳答案 如果您需要进入调试器,请使用DebugBreak函数,如果需要,在#ifdef_DEBUG#endifblock下 关于c++-如何在VisualC++中以编程方式设置断点?,我们在StackOverflow上找到一个类似的问题: https://stacko

windows - 我可以确定 Matlab 是否在 Windows 中以提升的权限运行吗?

我想检测当前的Matlabsession是否在Windows下以提升的权限运行(即用户以“以管理员身份运行”启动它)。理想情况下,该解决方案适用于XP和Windows7,但如果需要,我很乐意提供两种解决方案。This答案表明我可以通过.Net外部接口(interface)从Matlab获取我需要的信息(至少对于Vista和更高版本),但我想知道是否有更“本地”的Matlab解决方案。 最佳答案 “Matlab.NETBridge”用于另一种方式-从.NET调用Matlab。使用.NET外部接口(interface)支持可以非常直接地

c++ - 如何在 Windows 中以编程方式从调用堆栈帧中读取函数参数?

我试图遍历调用堆栈帧并从中提取一些信息。我能够使用来自WinDBG的StackWalk64、SymGetSymFromAddr64和SymGetLineFromAddr64API提取文件名、行号和函数名。但是STACKFRAME64中的DWORD64Params[4]是StackWalk64的返回值,只支持回读4个64位来自帧的函数参数。更糟糕的是,在32位系统上,仅使用Params[4]的低32位,因此超过32位的单个参数需要两个或更多元素。typedefstruct_tagSTACKFRAME64{ADDRESS64AddrPC;ADDRESS64AddrReturn;ADDRES

windows - 有没有办法在多GPU环境中以编程方式选择渲染GPU? ( Windows )

问题我有一个OpenGL应用程序,它将在具有多种multi-GPU配置(以及可能从XP到7的不同Windows版本)的计算机中运行。是否有一种通用方法来选择独立于GPU组合(例如NVIDIA+NVIDIA,NVIDIA+AMD,NVIDIA+Intel等)的将用作OpenGL渲染器的特定GPU?它必须是一种可以从应用程序代码中应用的解决方案,即直接在C++中或可以从应用程序中调用的脚本,而无需最终用户干预。下面是我为找到解决方案而进行的几种测试的详细信息,从非常特殊的情况开始,但是也许有一种解决方案可以在所有或大多数情况下使用。是否有任何可靠的方法来强制执行OpenGL渲染的GPU?任

windows - 在 Windows 批处理文件中以 YYYYMMDD 格式获取日期

这个问题在这里已经有了答案:Windowsbatch:formatteddateintovariable(17个答案)关闭9年前。我需要在批处理文件中获取YYYYMMDD格式的日期。我正在使用:setmydate=%date:~6,4%%date:~3,2%%date:~0,2%echo%mydate%我需要它在整个系统中保持一致,即使在更改时间设置时也是如此。请指教。