草庐IT

c - 如何从 C 编写的源文件构建可执行文件?

src目录下只有少数几个.c和.h扩展名的文件(cmdline.ccmdline.hcore.ccore.h等),还有一个没有扩展名的“MakeFile”文件。是否有可能将这些源文件构建到Windows7(64位)上的某个可执行文件中?我想我需要为C或某些sdk下载编译器,对吗? 最佳答案 是的。你需要:下载并安装C/C++编译器(我推荐TDragon'sdistributionofMinGW),将编译器添加到您的PATH(安装程序可以为您完成大多数情况);通过打开cmd.exe并输入gcc-v和mingw32-make-v来验证它

c++ - 多线程 Win32 C++ 程序在多线程中使用 try/catch 时崩溃

我正在编写一个多线程程序,它会在抛出特定异常时崩溃。剥离了越来越多的代码来查找问题后,我现在只剩下一个极其简单的案例,它会导致许多不同的崩溃之一,似乎是随机的。我不知道为什么要这样做。程序的全部内容如下:#includeWINAPIDWORDthreadFunc(LPVOIDx){while(true){try{throw1;}catch(...){}}return0;}intmain(intargc,char*argv[]){CreateThread(NULL,0,threadFunc,NULL,0,NULL);CreateThread(NULL,0,threadFunc,NULL,

c# - 跳过 Aero 窗口动画

如何以编程方式禁用Aero下窗口的“打开”动画?当打开一个新表单时,它会“弹出”(淡入+轻微的缩放转换)。我想停止这个动画并立即显示窗口。我已经尝试将Form的Location属性设置到屏幕外的某个位置,然后调用Show(),然后将其移动到正确的位置。但这没有帮助,动画将继续。也许我可以设置一些隐藏属性?我不想全局禁用打开/关闭/最小化/最大化动画!我只想跳过窗口的“窗口打开”动画。我已经尝试过在Form.Show()之后直接调用单个和多个ShowWindow(...)。但无论我传递什么参数,都不会中止开场动画。 最佳答案 我知道了

c++ - 如何强制 C++ 从磁盘分配内存?

我有数千行C++代码,这些代码在小文本文件上运行良好,但在大文本文件(例如2GB大小)上会崩溃。崩溃原因:应用占用内存。是否可以从磁盘分配内存?因为在大多数情况下,硬盘空间远大于物理内存。如果我可以从硬盘为我的应用程序借用一些空间并在使用后将它们归还,那么我的应用程序崩溃的可能性很小。以下是我的设计思路:为文件映射创建临时文件(CreateFileMapping,OpenFileMapping)强制我的应用从临时文件分配内存做一些清理工作:CloseFileMapping并删除临时文件因为我现有的代码太多,如果我的设计思路合理,我不想重新设计我的项目。我不确定这个设计思想是否可以实现。

windows - Visual Studio 正在窃取焦点

最近一段时间,VisualStudio抢走了焦点。奇怪的是,在Windows中使用其他应用程序(例如Chrome)时会发生这种情况,但在VisualStudio中工作时(例如打字)也会发生这种情况。到目前为止我的考虑:只有在VS运行时才会发生。出现在VS2012Premium和VS2012Professional中。在安全模式下也会发生。尝试重新安装。没有成功。已卸载第3方扩展程序。没有成功。焦点转到“无处”-我没有看到任何应用程序或窗口具有焦点。此外,[Windows]+[Arrayup]不会最大化任何内容。[Alt]+[Space]无效。[Alt]+[F4]无效。我运行的是Wind

windows - 可执行文件的文件大小怎么会这么小?

我一直在Metasploit上生成有效载荷,我一直在试验不同的模板和一个模板,您可以像exe-small一样拥有有效载荷。我生成的有效负载类型是windows/meterpreter/reverse_tcp并且仅使用普通的exe模板,它的文件大小约为72KB,但是exe-small输出大小为2.4kb的有效载荷。为什么是这样?我如何将其应用到我的编程中? 最佳答案 尽可能小PE文件只有97个字节-它什么也不做(只是返回)。目前最小的可运行可执行文件是133字节,因为Windows需要加载kernel32。无法执行没有导入的PE文件。

windows - 如何以编程方式检测系统热键?

我正在寻找一种以编程方式检测系统中热键的方法。我的应用程序支持可配置的热键来执行不同的操作,我希望能够判断另一个应用程序是否已经使用了热键或者它是内置的Windows热键(如Win-L以锁定工作站)。如果它是另一个拥有热键的应用程序,我希望能够将其显示给用户。至少是exe的名称。我知道三种使用热键的方法:使用标准API的系统Hook使用属性对话框中的热键功能作为快捷方式轮询异步key状态并响应我怀疑我能否检测到第三种类型,但其他两种呢?还有其他我需要了解的情况吗? 最佳答案 我可以想到三种使用标准API的方法:注册热键SetWind

windows - 确定 “System Load”

有谁知道最好使用Windows性能计数器来确定“系统负载”的优雅方法?在这种情况下,我指的是经典(UNIX)术语意义上的“系统负载”,而不是通常混淆的“CPU使用率”百分比。根据我的阅读……“系统负载”通常表示为一个float,它定义了处于可运行状态的可以运行的进程数(即不包括当前由于某种原因而被阻塞的进程数)在给定的时间。维基百科在这里给出了很好的解释-http://en.wikipedia.org/wiki/Load_(computing).顺便说一句,我正在使用C#,因此非常感谢使用该语言的任何示例。 最佳答案 系统负载,在U

c++ - 捕获屏幕的替代方法? (C++, Windows 操作系统)

keybd_event(VK_SNAPSHOT,0x45,KEYEVENTF_EXTENDEDKEY,0);keybd_event(VK_SNAPSHOT,0x45,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);HBITMAPh;OpenClipboard(NULL);h=(HBITMAP)GetClipboardData(CF_BITMAP);CloseClipboard();...通常这很好用。但如果前景窗口发生变化并锁定剪贴板,则它无法打开剪贴板。是否有任何替代方法来捕获屏幕-也可以在后台工作-?谢谢, 最佳答案

windows - HTA 文件有哪些要求?

它们似乎在InternetExplorer类型的窗口中打开,有谁知道:HTA文件存在多久了?它们自Windows98以来就存在了吗?他们是否依赖安装的InternetExplorer和/或特定版本?如果您在Windows7的浏览器选择屏幕更新中选择其他浏览器,HTA文件是否仍然有效?HTA文件可以在其他浏览器上打开吗?HTA文件是否仅限于Windows?Google上极度缺乏关于HTA文件的文档,因此很难解决。我需要向客户提供一份最低要求列表,以确保我们的HTA内容CD能够正常工作。 最佳答案 HTAReference是IE5+是的