草庐IT

screen-capture

全部标签

c++ - 编译错误 : 'this' cannot be implicitly captured in this context

我正在尝试添加一个条件变量来处理线程,但在这一行出现编译错误:this->cv.wait(lk,[]{returnthis->ready;});看起来变量this->准备好了,'this'不在正确的范围内。在Java中,这可以用TestThread.this处理,C++中是否有任何东西可以做同样的事情?voidTestThread::Thread_Activity(){std::coutlk(m);this->cv.wait(lk,[]{returnready;});}std::coutlk(m);processed=true;//std::cout 最佳答

windows - 为什么 TFontDialog 提供的字体比 Screen.Fonts 少?

我想知道为什么TFontDialog提供的字体比Screen.Fonts少?(例如Arial*字体、Comic字体等,在TFontDialog中不显示)另外看来TFontDialog给出的字体列表和WordPad一样,而Screen.Fonts给出的字体列表和Word基本一致。非常感谢您的见解!附言:德尔福XE,Windows7PS:相关的SO主题:ToomanyfontswhenenumeratingwithEnumFontFamiliesExfunctionFindingSystemFontswithDelphiHowtouseexternalfonts?PS:相关网页:TFont

windows - 为什么 Windows Smart Screen 突然出现 'protecting' PC 因为购买了新证书

所以我从Comodo获得了证书并通过KSoftware购买,我用它来签署我的软件,因此当用户下载它时它不会生成警告,这一直工作正常但2年证书上个月过期了。我上周购买了一个新证书并申请了我的应用程序的新版本,但现在当我下载它时它会警告我未知的发布者,奇怪的是当我点击更多信息时它会显示我的完整地址而不仅仅是我的公司名称JThink。我在浏览器中查看了我的旧证书和新证书,发现我在旧证书中有Jthinkltd而在新证书中有JThink,这会导致问题吗?更新Comodo告诉我,在Microsoft开始接受新证书之前还有一段时间,即使公司信息相同,这仍然是一个问题,因为证书编号不同。这是真的吗?我

C++ - 如何截屏,除了一些窗口

情况:我有一个通过Internet执行屏幕共享的软件,其中一个用户充当演示者,其他用户充当观众/与会者。除了演示窗口,演示者还有一组出现在屏幕上的非共享窗口(用于开始共享/停止共享等的按钮栏,Skype窗口等)。演示者可以从屏幕共享软件的设置中进行配置,使这些NON-SHARING-WINDOWS不可见(即它们不会出现在发送给与会者的屏幕共享中,但它们后面的窗口内容会出现在屏幕截图中)。屏幕截图以大约每秒10帧或更快的速度发送。问题:除了这些非共享WINDOWS窗口之外,我如何以编程方式捕获屏幕?注意事项:由于较高的每秒帧数值,我无法最小化/最大化/设置这些窗口的alpha,因为这样窗

c++ - SendInput 不适用于 Print Screen 键

我正在为各种模拟器制作前端并触发它们的各种功能,例如保存/加载状态、保存屏幕截图,但具有统一的界面。FS-UAE烦人地使用“PrintScreen”作为其屏幕截图键,我想避免用户不得不更改模拟器的默认热键设置。除了“PrintScreen”键外,我已经成功地用SendInput模拟了我想要的任何按键。我在使用虚拟键码方面没有任何运气,我认为这不适用于全屏应用程序。因此,该部分代码被注释掉了。(编辑:更好的解释——虚拟键代码被DirectInput软件忽略)使用扫描码,我几乎可以按任何键。PrintScreen似乎是个异常(exception)。这是我用于扫描代码的引用;https://

c++ - BitBlt 忽略 CAPTUREBLT 并且似乎总是捕获目标的缓存拷贝

我正在尝试使用BitBlt函数捕获屏幕截图。但是,每次我截取屏幕截图时,无论我做什么,非客户区都不会改变。就好像它正在获取它的一些缓存拷贝。客户区被正确捕获。如果我关闭然后重新打开窗口并截屏,非客户区将被照原样截取。移动/调整窗口大小后的任何后续捕获都不会影响捕获的屏幕截图。同样,客户区将是正确的。此外,CAPTUREBLT标志似乎什么都不做。我注意到有或没有它都没有变化。这是我的捕获代码:QPixmapWindowManagerUtils::grabWindow(WIdwindowId,GrabWindowFlagsflags,intx,inty,intw,inth){RECTr;s

vue3插件——vue-web-screen-shot——实现页面截图功能

最近在看前同事发我的vue3框架时,发现他们有个功能是要实现页面截图功能。vue3插件——vue-web-screen-shot——实现页面截图功能效果图如下:1.操作步骤1.1在项目中添加`vvue-web-screen-shot`组件1.2在项目入口文件导入组件——`main.ts`1.3在需要使用的页面使用组件1.4在页面截图后使用获得的64位编码转为图片文件形式进行上传2.参考链接:效果图如下:最近项目遇到的要求是弹出框上传文件,需要用到页面截图,由于使用的是Vue3的框架于是选择用vue-web-screen-shot组件进行操作。(由于插件是Vue3编写的,所以只适用于Vue3的项

windows - 上下文菜单的捕获窗口(Alt-Print Screen)

众所周知,有时开发人员必须记录内容。或者捕获一些用于提交错误报告的东西。我的问题是在MSWindows中。我正在trycatch应用程序多个区域的上下文菜单(右键单击某个项目后出现的弹出菜单)。按Alt启动Alt+PrintScreen进程关闭上下文菜单。(只有按PrintScreen有帮助,但每次都删除非窗口区域很痛苦)。奖励:对于捕获菜单,Alt也可以关闭菜单。但是,如果您首先使用Alt键打开菜单,它会起作用:按Alt+F(用于打开"file"菜单),不要释放Alt按PrintScreen多田! 最佳答案 您无法单独获取菜单,但

windows - 使用 ffmpeg 捕获 Windows 屏幕

ffmpeg是跨平台和非常强大的软件来处理视频/音频或流式传输。在Linux上,ffmpeg可以使用以下命令捕获X11屏幕:ffmpeg-fx11grab-r25-scif-i:0.0out.mpeg但是否可以使用ffmpeg抓取Windows桌面? 最佳答案 使用built-inGDIscreengrabber(无需安装)像这样:ffmpeg-fgdigrab-framerate10-idesktop[output]这会将您的所有显示器捕获为一个大的连续显示器。如果要限制到一个区域,并显示被抓取的区域:ffmpeg-fgdigra

Python Kivy两个Gridlayouts和Screen Menager

我在Kivy有两个应用程序。两者都是基于Gridlayout,我发现了一个类似的问题,但我不明白:将屏幕与Kivy中的Gridlayout类关联在.py:importkivykivy.require("1.9.0")fromkivy.uix.labelimportLabelfromkivy.propertiesimportObjectPropertyfromkivy.appimportAppfromkivy.uix.gridlayoutimportGridLayoutclassFirstScreen(GridLayout):#somemethodsclassSecondScreen(GridL