草庐IT

c++ - 在 Windows 中使用事件进行调试

如果我在Windows中使用CreateEvent创建事件,我如何使用VisualStudio中的调试器检查该事件是否已发出信号?CreateEvent返回一个句柄,它不能让我访问很多信息。在调用WaitForSingleObject()之前,我想在进入函数之前检查事件是否已发出信号。 最佳答案 您可以使用ProcessExplorer工具(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)在调试器之外手动检查事件。如果事件被命名,它会有所帮助,这样您就可以更

c++ - Windows 的 Bignum 库?

是否有适用于Windows的bignum库?我查看了GMP,但不幸的是,它看起来不像可以在Windows上编译...(我将执行一些自定义RSA和哈希例程)谢谢。 最佳答案 人提供pre-compiledbinaries适用于Windows上的gmp;还有instructions自己编译。另一种选择是bignumlibraryofOpenSSL. 关于c++-Windows的Bignum库?,我们在StackOverflow上找到一个类似的问题: https:/

c++ - Windows 上 C++ 中的位图操作

我自己有一个位图句柄,用C++,在Windows上:HBITMAPhBitmap;我想在这张图片上做一些图片识别、模式分析之类的事情。在我的大学学习中,我在Matlab中完成了这项工作,很容易根据它们的位置获取各个像素,但我不知道如何在Windows下的C++中执行此操作——我真的无法做到了解我到目前为止所读的内容。我看到了一些对外观漂亮的Bitmap类的引用,它可以让您进行setPixel()和getPixel()之类的操作,但我认为这是与.net一起使用的。我应该如何将我的HBITMAP变成我可以轻松玩的东西?我需要能够获取RGBA信息。是否有库允许我处理数据而无需了解DC和Bit

c++ - 如何返回存储在 C++ 中特定内存地址的变量的名称

我的许多Google结果都来自这个很棒的网站,这是我第一次在这里发帖。基本上,我想找到存储在特定内存地址的变量的名称。我有一个我写的内存编辑应用程序,它编辑一个值,问题是每次保存这个值的应用程序被修补时,我必须将新的内存地址硬编码到我的应用程序中,然后重新编译,这需要很多时间维护它几乎不值得做。我想做的是获取存储在某个内存地址的变量的名称,这样我就可以在运行时找到它的地址并将其用作内存地址进行编辑。这一切都是用C++编写的。提前致谢!编辑:好吧,我已经决定要从.txt文件中流式传输数据,但我不确定如何将字符串转换为LPVOID以用作WriteProcessMemory()中的内存地址。

c++ - 关于调用约定的问题

我记得很久以前,我在使用TurboC的时候,不需要关心函数的调用约定,我使用或者定义的每一个函数都是C调用的形式约定。但是我转到Windows平台后,发现调用约定说明符太多了,比如:WINAPI、STDCALL、__cdecl...这是编译器进化的结果吗? 最佳答案 不,它只是或主要是WindowsAPI的历史遗产。Windows以外的大多数系统通常不会使用不同的调用约定(异常(exception):系统调用和内核模式)。 关于c++-关于调用约定的问题,我们在StackOverflow

c++ - 在没有 IDE 的情况下用 C++ 手工编写 Windows GUI

嘿,我看到了一些关于这个主题的问题,但其中大多数只是试图指出使用IDE来创建GUI是否更好,那不是我的问题。我想在将来使用像Qt这样的IDE来编写更大的程序,但目前我是c++的新手,尤其是GUI,并且想学习如何手动编写简单的应用程序(例如“HelloWorld”-appwith一个按钮,可能是一个文本框和一个输出结果的函数)。也许是为了防止讨论我为什么要这样做:这是因为我喜欢折磨自己,尤其是因为我讨厌如果某些东西(在本例中是IDE)创建了一些我不理解但我必须使用它的东西。那么,是否有任何关于该主题的教程简要介绍如何使用notepad++等编辑器手动编写小型C++应用程序?

c++ - 等待时间过去而不用在C窗口中忙着等待

我有一个线程,它的工作是向UDP对等点发送消息。如果满足以下条件之一,线程将发送消息:1)自上次发送消息以来已经过了一定时间(如超时)。2)共享结构中的更新bool标志已被其他线程引发。我希望能够等待这些条件发生,以便我知道何时发送消息。我能做到的最简单的方法是制作一个重复的循环,直到满足其中一个条件。怕是忙着等待,会白白消耗大量CPU时间。我也不想使用sleep()。我不介意C++解决方案,只要它易于理解和实现即可,因为我对C++不是很熟悉。谢谢! 最佳答案 对于Windows,使用事件(CreateEvent)而不是bool值,

c++ - 微软C++编译器太烦人了!是否有针对 Windows 32/64 位编译的替代方法?

我对MicrosoftC++编译器(不是Visual)感到非常沮丧。我对它的使用方式感到非常恼火int_tmain(和_TCHAR*argv[]还有很多其他的东西。我只想像在GCC中那样直接使用C++。有替代方案吗?感谢所有回复。我真的只是在寻找一种不使用Microsoft样式代码的方法。这就是帮助我的-删除#include"stdafx.h"将主要方法重命名为-intmain(intargc,char*argv[]){返回0;}而且有效! 最佳答案 如果您不想,则不必使用_tmain()和TCHAR。只需创建一个空项目,向其中添加

c++ - VOID NTAPI 是什么意思,我在哪里可以找到它的引用资料?

我找到了这段代码,但我不明白。我找不到NTAPI的引用资料。对我来说,它定义了一个名为TestForWr的函数,但NTAPI令人困惑。VOIDNTAPITestForWr(PVOIDAd,ULONGLe,ULONGAl); 最佳答案 来自WinNT.h#defineNTAPI__stdcallThe__stdcallcallingconventionisusedtocallWin32APIfunctions.Thecalleecleansthestack,sothecompilermakesvarargfunctions__cdec

c++ - SHBrowseForFolder 返回时如何重新获得焦点

我目前正在使用SHBrowseForFolder()打开浏览文件夹窗口,但是当取消/确定被按下。我读到我应该在对话框关闭之前重新启用我的主窗口,但那到底在哪里?有什么想法吗?voidbuttonPush(HWNDhWnd){EnableWindow(hWnd,FALSE);BROWSEINFObi={0};TCHARszDir[MAX_PATH]={0};LPITEMIDLISTpid=NULL;LPMALLOCpMalloc=NULL;if(SUCCEEDED(SHGetMalloc(&pMalloc))){ZeroMemory(&bi,sizeof(bi));bi.hwndOwne