草庐IT

mfc - MFC 中的可折叠控件(包括示例)

在WindowsXP控制面板中,您可以在左侧看到一个漂亮的可折叠面板控件:(来源:leeindy.com)这些不仅是可折叠的,而且是动画的。我想知道这些是否是开发人员可以访问的任何类型的控件,特别是在MFC中?或者它们是自定义/定制功能? 最佳答案 如果您有带有MFC功能包的VisualStudio2008,请查看CMFCTasksPane类(class)。该功能包包括一个演示如何使用它的TaskPane示例应用程序。 关于mfc-MFC中的可折叠控件(包括示例),我们在StackOve

c++ - 当 spy++ 没有提供任何可从软件中提取的详细信息时该怎么办?

我有一些软件需要一些信息挖掘,比如从控件/列表等获取文本。问题是spy++无法检测到任何控件,更不用说它们的文本了。我认为该软件是用c++/mfc/winapi未知的东西制作的那么我在这里有什么选择,我能做什么?似乎winapi在这里根本不起作用? 最佳答案 Microsoft有一个称为DirectUI的无窗口UI工具包,其他应用程序可能使用类似的控件。基于HWND的工具不会在那里帮助你,你最好的选择可能是尝试accessibilityapi. 关于c++-当spy++没有提供任何可从软

windows - 使用 MSBuild 为具有可配置服务名称的 Windows 服务生成 MSI 安装程序

您好,我正在尝试弄清楚如何使用MSBuild和VisualStudio2010实现以下场景。我想安装一组三项服务。默认安装目录应随构建(qa、uat和生产)而变化。为了给整个事情添加另一个有趣的皱纹,有时当我们处于峰值负载时,uat环境可能会被压入服务,因此服务的每个构建都需要有一个不同的名称。它不会经常发生,但它在列表中。如何配置服务安装程序以动态更改服务名称?我希望能够为服务创建MSI安装程序(无论当前构建是什么)。我已经为我正在使用的各种网站准备了一个现有且广泛的MSBuild脚本,但我有点不确定如何继续让这些服务正常工作。显然,每个服务构建的配置文件都不同。我已经为每项服务添加

windows - 确定驱动器是否可移动(闪存或 HDD)仅知道驱动器号

我正在尝试确定文件是否在本地驱动器上。我找到了GetDriveType()WINAPI检索驱动器类型。然而,阅读似乎返回值的描述,这就是我的理解,它将闪存驱动器检索为FIXED,这不是我想要的。它在本地驱动器上运行良好:boolIsDriveRemovableOrRemote(CStringdriveRoot){UINTdriveType=GetDriveType(driveRoot);return(DRIVE_REMOVABLE==driveType||DRIVE_CDROM==driveType||DRIVE_NO_ROOT_DIR==driveType||DRIVE_REMOTE

windows - 易于使用的可移植可执行恶意软件调试器

我正在寻找每个类别的推荐免费收费适用于可移植可执行文件(native/非.NET)恶意软件分析的易于使用的调试器。 最佳答案 在免费类别中,Olly是国王。如果您使用的是WinXP或更早版本,SoftICE也很棒,尽管现在很难找到它的副本。在付费类别中是IDAPro,Handlebars放下。克里斯·伊格尔wroteanexcellentbook向您展示如何使用IDA进行高级逆向工程。还要澄清一下Marco,UPX只能用于解压最初用UPX打包的可执行文件。许多非常复杂的恶意软件二进制文件使用自定义打包技术,无法使用UPX逆转。

Windows 命令提示符 - 'debug' 不是可识别的命令?

我已经对此进行了一些搜索,但令人惊讶的是找不到解决方案。我想要做的就是启动Windows命令提示符,并使用“调试”命令访问Debug模式。但是命令提示符一直响应:“调试”未被识别为内部或外部命令。根据之前的搜索,我只能得出与系统环境变量有关的结论,但没有足够的信心去改变它们。如有任何帮助,我们将不胜感激。 最佳答案 您使用的是x64版本的Windows吗?debug.com是一个16位程序,不随x64版本一起提供,因为它们不支持16位可执行文件。 关于Windows命令提示符-'debu

windows - Windows程序文件夹中全局可写批处理文件的安全问题

我有个小问题。通常我是一名Linux开发人员,但目前我必须为Windows7和8进行开发。一般来说这不是问题,但显然我在这个平台上缺乏一些认真的经验。我的问题:我的营销人员想要强制我在我们程序的安装文件夹中添加一个全局可写的批处理文件。在Linux下是一个可怕的想法。在Windows下可能不是一个更好的主意。但这里的风险到底是什么?我需要一些很好的论据来反对它。或者……不太可能……“没问题,继续”。 最佳答案 几乎完全符合您的期望。如果您的应用程序调用该批处理文件,那么任何用户都可以将命令放入其中以运行您的应用程序的用户的权限运行。

c++ - 可移植可执行 DOS header 长度

我一直在研究这个图像来构建一个可移植的可执行文件:https://i.imgur.com/LIImg.jpg图像/演练表示PEheader从0x40(十进制为64)开始。但是,十六进制转储显示DOSheader的长度为32字节。每个字段是否以4个字节打包?查看WinNT.h中的IMAGE_DOS_HEADER,好像也不合适。它有16个2字节的字段,一个4长度的2字节数组,一个10长度的2字节数组,以及指向PE位置的4字节指针。无论你怎么看,它加起来都不等于64... 最佳答案 However,thehexadecimaldumpsa

c++ - 可执行错误 : Can't start program

完成我的C++程序(在Windows操作系统上使用代码块)(使用libcurl)后,当我尝试从可执行文件启动程序时,它显示一条错误消息说我无法启动程序,因为缺少libcurldll,然后重新安装程序重试。我认为这里不需要任何代码行,这只是一个配置和逻辑问题,任何想法,都会很棒!请注意,从代码块的控制台运行它工作正常。 最佳答案 DLL或SO的常见问题是可执行文件需要知道它们的位置。一个常见的解决方案是将DLL库放在与可执行文件相同的文件夹中:找到libcurldll文件。找到包含您的可执行文件的文件夹。将libcurldll文件复制

windows - 如何在 Rust 中跨平台获取可执行扩展?

我正在编写可移植的Rust代码以在某些目录中查找程序。在Windows上,我希望它是foo.exe,而在其他地方只是foo。显然我可以只使用ifcfg!(windows)但这看起来很难看。是否有更好的方法来查找平台的可执行文件扩展名? 最佳答案 是的,std::env::consts::EXE_SUFFIX在Windows上将是.exe,std::env::consts::EXE_EXTENSION将是exe。在Unix上两者都是空的。这些可以与基本名称结合使用,例如std::path::PathBuf::set_extension