草庐IT

windows - 哪些 Windows (C++) 屏幕捕获库符合我的要求?

我准备外包我们应用程序的屏幕捕获功能,因为这不是我们的核心业务,而且我花了太多时间试图让我们的代码完成我需要的所有事情。我想是时候请专家了。以下是我的要求,按重要性降序排列。有没有人有使用满足大部分或所有这些要求的任何商业或免费图书馆的经验?必须在WindowsXP及更高版本中工作。(但不是Win95/98/Me。)VisualC++2005兼容,可以从我的代码中触发屏幕截图。最好是静态库,但DLL或COM对象也可以。我不希望使用独立的EXE,因为有些用户会试图篡改我们的应用程序,而且我认为拥有一个明显的单独屏幕截图EXE会使这变得太容易了。必须能够截取多个监控系统的完整屏幕截图。(最

python ,C : redirected stdout fires [Errno 9]

我尝试记录用Python和C编写的程序的所有输出。但是,从Python打印会导致IOError:[Errno9]Badfiledescriptor请问有人知道问题出在哪里以及如何解决吗?PS:它在WindowsXP、Python2.6和MinGWGCC上#include#include#include"Python.h"intmain(){intfds[2];_pipe(fds,1024,O_BINARY);_dup2(fds[1],1);setvbuf(stdout,NULL,_IONBF,0);/*alternativeversion:*///HANDLEhReadPipe,hWr

c++ - 互斥(在静态库中)

我有一个静态库来访问数据库。它有一个函数readMaximum()。readMaximum()从数据库中读取最大值。此函数是线程安全的(使用互斥量)。但问题是:有两个进程A.exe和B.exe;两者都是用静态库编译的。有什么方法可以实现进程A.exe和B.exe之间的互斥,这样当两个进程同时调用函数readMaximum()时,只允许一个进入临界区?附言。我不想更改DB/Schema/Table的任何属性。 最佳答案 使用CreateMutex()创建一个命名的全局互斥量。在名称前加上“Global\”前缀。

c++ - 在 Windows 上设置 midiIO 库

我已经下载了midiIO库,在自述文件中说:editthefileMakefile.libraryandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.type"makelibrary"tocompilethelibrary.Itwillbecreatedaslib/libmidiio.ainunix.editthefileMakefile.examplesandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.Also,ifyouareusingALSA,thenuncomm

c - 几个 Eclipse C/C++ 问题

我已经使用VS2008/2010一段时间了,我打算学习使用EclipseHelions进行C/C++开发(主要是C)。虽然我对库和包含感到有点困惑。1)例如,您如何正确地包含winsock2.h?我试过这个:#ifndefCONFIG_H_#defineCONFIG_H_/*Windows-Build*/#ifdefined(WIN32)||defined(_WIN32)#include#endifSOCKETsock;#endif/*CONFIG_H_*/但是编译器不识别SOCKET。您是否必须在某处手动添加winsock2的完整路径?2)ws2_32.lib呢?您将其包含在Ecli

c++ - 在C++中实现C库函数

用C++实现C库有什么缺点?该库将用于使用VisualStudio2008或更新版本为普通PC构建Windows应用程序。目前尚不清楚为什么规范声明它应该是C库。我猜他们想要的是纯C-API,而不是纯C库。但我的老板不同意。无论如何,我想做的是extern"C"所有函数声明,并在实现文件中使用C++。我做了一些测试,即使应用程序被编译为C(通过更改VisualStudio中的项目选项),一切都运行良好。 最佳答案 我见过有人这样做是为了将STL集合暴露给C程序。如果您确定该库只会在具有健全的C/C++编译器(例如,仅限VS和gcc)

在 Windows 上交叉编译?

我有适用于Windows的GNUGCC编译器。我读到它可以用作交叉编译器。我该怎么做?哪些命令选项会生成可供MacOS/Linux平台使用的共享库? 最佳答案 您需要构建您自己的交叉编译器,即您需要获取GCC源代码并使用所需的目标架构编译它们。然后你必须交叉编译所有的库。这个过程相当复杂且漫长。通常的GNUmakefile非常擅长支持这一点(通过HOST、BUILD和ARCH变量),但如果可能,您应该将其留给更高级别的抽象。crosstool是我想到的一个这样的工具,但我不知道它是否适用于Windows。您可能能够在Internet

c++ - 在 C++ 中的 cURL 库请求中设置 Internet Explorer 代理 - Windows

好吧,我想使用默认的InternetExplorer连接代理设置在C++中的cURL中发出请求,这是我的示例代码:CURL*curl;CURLcoderesult;curl=curl_easy_init();charerrorBuffer[CURL_ERROR_SIZE];if(curl){//Nowsetupallofthecurloptionscurl_easy_setopt(curl,CURLOPT_ERRORBUFFER,errorBuffer);curl_easy_setopt(curl,CURLOPT_URL,url);curl_easy_setopt(curl,CURLO

c - C for Windows 中的网络摄像头视频程序

我想编写一个应用程序,从连接到PC的网络摄像头捕获视频。我在其他网站上找到了教程,但它们是用C++或C#编写的,我有兴趣使用C来完成。你知道一些网络或有一些知识可以帮助我吗?我想我将不得不开始我的代码“请求许可”到SO以允许我连接到网络摄像头但是......我不知道该怎么做,也不知道如何继续。 最佳答案 我注意到你在Windows上的标记,所以这个c库video4linux不会为你工作。然而,在许多情况下,OpenCV(在C/C++中)会做得很好。OpenCV的很多部分都是纯C语言,其中“视频分析”部分可能适合您的部分需求。找到这个

c - MSVC 生成的符号表中 __real、__imp、__xmm 符号的含义

我是一名UNIX开发人员,负责帮助维护一些Windows软件,我正在查看.DEF生成器同时修复错误。它不包括__xmm,__real和__imp-来自导出的前缀符号。我一直在努力弄清楚这些符号到底是什么。很明显,它们不需要出现在.DEF中。文件(如果它们需要在DLL接口(interface)上导出,编译器将__declspec(dllexport)对其自身进行注释)但是......它们是什么?看起来排除__imp的目的前缀是排除functioncallthunks.正确吗?搜索MSDN未提供有关__xmm的信息或__real(顺便说一句,使用social.msdn.microsoft.