草庐IT

win32exception

全部标签

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

windows - win7通过命令行刷新壁纸

我想从命令行刷新Windows7中的墙纸。我正在通过reg.exeadd设置墙纸。rundll32.exeuser32.dll,UpdatePerUserSystemParameters不起作用(1,True或1,False)要求:它必须立即刷新壁纸(无需等待)它必须从命令行运行首选默认Windows7命令行。编写c++/VB/C#程序是可以接受的,但不如默认的win7cli解决方案好。 最佳答案 杀死资源管理器从来都不是一个好主意,试试这个:RUNDLL32.EXEUSER32.DLL,UpdatePerUserSystemPar

windows - 允许用户在 64 位 Windows 上安装 32 位版本

我有一个简单的inno-setup脚本,它允许我的设置根据Is64BitInstallMode值安装程序的32位或64位版本。这很好用,但我想为用户提供安装32位版本的选项,即使他们在64位Windows上也是如此。我想在选择应用程序安装路径之前做出选择,以便它可以根据他们的选择默认为32位或64位程序文件文件夹。如果它们在32位Windows上,我也想完全避免这个问题。我一直在玩各种功能,但还没有找到一种方法来做到这一点。如果我不能轻松完成,我将只进行两个单独的安装(我正在尝试确定最有意义的安装!)非常感谢任何建议! 最佳答案 我

windows - 调试(Win): DIA versus DBGHELP

简洁明了:DIA(调试接口(interface)访问)和DBGHELP库之间的实际区别是什么?我知道DIA是基于COM的并且似乎非常强大(并且能够与托管和非托管进程一起使用),而DBGHELP似乎使用起来非常方便但提供的可能性较少。任何人都可以解释这两者的区别在哪里,以及一个可以做什么,而另一个不能做什么?我真的很难在互联网上找到一些完整的结论性信息:(抱歉,如果这看起来是一个乏味的问题,感谢您为我提供的任何答案!:)问候普尔诺克提斯 最佳答案 DIA具有一致的基于COM的接口(interface)。DbgHelp由一组标准C函数组