草庐IT

windows - 将 Win32 API 功能与 pthreads 一起使用/从 pthreads 使用

我有自己的线程库,使用TinyThread++构建。它工作得很好,对我来说也是一次很好的学习经历。我有自己的数据结构来传递消息,这个界面对我来说很有意义,主要是因为我是它的作者。每当在我的系统中创建一个线程时,它都会循环运行,并偶尔通过我自己设计的消息传递协议(protocol)检查消息。现在我想开始使用一些WindowsAPI功能,Windows有自己的一套约定和消息队列等。现在我很确定TinyThread++使用pthreads。由于我使用的是MinGW,我想知道是否在Windows线程上实现了pthreads。如果是这种情况,我也许可以将我的pthreads-threads视为w

c++ - Windows下如何为Code::Blocks/MinGW32编译Box2D?

我在互联网上发现了类似的问题,但没有一个对我有帮助。Code::Blocks工作区和项目文件包括DO生成.a文件,我已经将它们移动到Codeblocks/MinGW/lib,我已经将Box2D文件夹移动到Codeblocks/MinGW/include和HelloWorld.cpp示例仍然给我theseerrors. 最佳答案 看起来您用来构建.a的项目文件缺少一些文件。错误消息中提到的文件是在v2.1.2之后从Box2D中删除的文件,所以我猜您使用的是2.1.2源代码(或附近)以及来自其他来源的项目文件?无论如何,自己设置这些都非

windows - 如果用户在 win 7 中使用放大字体大小 125% 或 150% 需要找到你

有谁知道我是否可以在任何地方检查这个参数? 最佳答案 您可以阅读Graphics.DpiX辨别这一点。将Graphics.DpiX乘以100再除以96,您将得到字体缩放百分比。这是真的,因为100%的字体缩放等同于96dpi。请注意,如果您的应用程序未标记为DPIaware然后当用户将字体缩放比例设置为150%时,DpiX属性将报告96。在我的脑海中,我不知道标准WinForms应用程序是否被标记为DPI感知。 关于windows-如果用户在win7中使用放大字体大小125%或150%需

c++ - 如何在 Win32 中等待窗口完成绘制?

我使用函数PrintWindow获取某个窗口的屏幕截图。但是由于某些原因,PrintWindow的调用通常在窗口自己绘制时触发,因此窗口的某些尚未绘制的部分是全黑的。等待窗口完成绘画的任何解决方案? 最佳答案 等待窗口完成绘制并不是解决问题的办法。或者,换句话说,问题不在于在目标窗口处于其绘制周期的一部分时调用了PrintWindow。PrintWindow通过向目标窗口发送WM_PRINT(或WM_PRINTCLIENT)消息然后等待目标窗口的消息队列进行处理来实现功能那条消息。排队的消息不会交错。为了弄清实际问题的根源,我认为您

c# - 从 32 位代码在 System32 中运行 64 位可执行文件

我试图从32位C#应用程序(在64位操作系统上)运行可执行文件,但我得到“系统找不到指定的文件”可能是因为wsqmcons.exe在C中不存在:\Windows\SySWOW64。该文件确实存在于System32中。如果可能,从代码运行wsqmcons.exe的最佳方法是什么?Processp=newProcess();p.StartInfo.Arguments="-f";p.StartInfo.FileName=@"C:\Windows\System32\wsqmcons.exe";p.Start();p.WaitForExit();Verify.AreEqual(0,p.ExitC

windows - 同一系统上的 64 位和 32 位非托管 dll - 最佳实践?

我有一个内置于32位和64位的共享dll。两个版本都使用相同的名称foo.dll。如何在系统上同时安装foo.dll,以便我的32位和64位应用程序在其路径中找到正确的dll。Windows本身使用SysWOW64(用于32位dll)和System32(用于64位dll)。我想避免部署到这些文件夹。让两个位的dll在同一个盒子上共存并被链接到它们的适当应用程序找到的公认方式(如果有的话)是什么? 最佳答案 如果您不部署到受文件重定向影响的文件夹(即system32),那么您几乎需要为DLL指定不同的名称。这样做的原因是DLL搜索路径

windows - 如何通过 Win API 调用或(更好)读取注册表值来读取 Windows 构建版本

我们安装的系统偶尔会检测到错误的Windows版本。(它通过内置的Wise安装程序功能检测系统信息来检测版本,但没有说明它是如何做到这一点的)。因此,我正在寻找另一种检测Windows版本的方法。Wise安装程序调用WindowsAPI函数的能力非常有限,因此从注册表或特定文件中读取会更容易(当然,我必须将文件版本映射到Windows版本)。我找到了这个讨论帖:http://www.velocityreviews.com/forums/t513244-best-way-to-get-version-from-registry.html但它没有引用。所以我不确定它的可靠性如何。

.net - 7 个 64 位操作系统上带有 32 位 oracle 客户端驱动程序的 System.data.OracleClient

我有一个从asp.net1.1(VS2003)迁移到Asp.net2(VS2008)的Web应用程序。我在新版本上执行Oracleconnexion时遇到问题。开发环境是64位七。当使用所有CPU生成应用程序时,我在System.Data.OracleClient上遇到问题,异常System.BadImageFormatException:Tentativedechargementd'unprogramdeformatincorrect.(HRESULT异常:0x8007000B)。.我在x86CPU上生成,但在启动时出现此错误:[BadImageFormatException:Imp

python - pyqt4程序,如何制作win安装程序

我用pyqt4编写了一个应用程序。它在linux中工作,我想它应该在windows中工作而无需任何更改(没有任何系统特定)。我想为windows制作一个安装程序,因此windows用户之前在他们的系统上没有python和pyqt。那么有什么办法可以做到吗? 最佳答案 使用PyInstaller.它处理Windows、Linux和OSX的打包。有关使用PyInstaller打包的Qt4应用程序的示例,请参见logview. 关于python-pyqt4程序,如何制作win安装程序,我们在S

windows - perl on win2003 (strawberry perl) - 如何获取当前带宽使用情况?

标题几乎说明了一切。是否可以通过perl脚本(使用strawberryperl)在windows2003中获取当前带宽使用情况? 最佳答案 我很少使用Windows,目前无法访问Windows计算机,但您应该能够使用WMI/WQL来获得所需的东西。此发行版为WMI提供了一个DBI接口(interface):https://metacpan.org/release/DBD-WMI正确的查询应该是SelectName,currentbandwidthFROMWin32_PerfFormattedData_Tcpip_NetworkInt