草庐IT

c++ - 如何捕捉函数调用

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion注意:本主题与调试和try、throw、catch无关,我不能直接在我的函数中放置任何东西,只能像WINapi一样受到外部影响。如果调用任何函数,我需要一些方法来获取我的应用程序中的信息。它应该在运行时“捕获”函数调用,我无法为我的应用程序中存在的每个函数实现任何额外的代码。我想一些WINAPI应该可以工作,但我找不到合适的方法来处理来自进程的每个调用。信息最好有3样东西:刚被调用的函数的入口点(地址)。

c++ - 使用 Dbghelp.h 的函数列表

我想打印函数名(导入的、导出的、普通/本地函数)而不是变量名等等。SymEnumSymbolsEx枚举所有符号,但我只想要函数。里面也找不到怎么区分函数和变量callback功能。有没有办法只枚举函数? 最佳答案 SYMBOL_INFO传递给您的回调有Flags,并且函数有SYMFLAG_FUNCTION 关于c++-使用Dbghelp.h的函数列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c++ - Windows GetDIBits 不返回预期值

我目前正在编写一个扫描屏幕并查找像素的小程序。我的问题是GetDIBits函数似乎没有返回正确的屏幕截图。将位图复制到剪贴板会将正确的屏幕图像放入剪贴板。我决定将函数的输出打印到一个BMP文件,以了解发生了什么,这显然不是我所期望的。我还会提到我有3个显示器,以防它可以解释为什么它的行为不像预期的那样。classTest{intscreenWidth;intscreenHeight;HWNDtargetWindow;HDCtargetDC;HDCcaptureDC;RGBQUAD*pixels;HBITMAPcaptureBitmap;boolTakeScreenshot(){Zero

windows - 取消 RegNotifyChangeKeyValue 的正确方法是什么?

RegNotifyChangeKeyValue的异步使用非常简单:向其传递一个事件对象并等待事件发出信号。然而,不太清楚的是取消通知请求的正确方法。例如,如果像这样在等待时设置了超时:RegNotifyChangeKeyValue(hKey,false,REG_NOTIFY_CHANGE_LAST_SET,regEvent.SafeWaitHandle,true);regEvent.WaitOne(TimeSpan.FromMinutes(30))如果在没有触发通知的情况下发生超时,则该通知可能处于未决状态并等待触发。如果通知和等待在一个循环中,情况会更糟,可能会注册许多通知(每个过期

自定义工具提示格式

我在Windows上使用普通的旧原生C语言工作。没有其他平台,没有C++。(是的,我是一只恐龙。)我试图找到一个我认为是“所有者绘制工具提示控件”的示例,但它似乎不存在。至少不是标准的Windows工具提示控件。我试图搜索实现自定义工具提示控件的库或源代码,但我所能找到的只是在.NET中扩展控件的东西(或在我工作以外的其他环境中。)我希望为工具提示窗口中的文本支持Markdown(或类似的东西)。大多数情况下,我想清楚地区分标题和内容,并对内容进行一些有限的格式设置(主要是粗体、斜体、颜色和分栏。)我不希望这里有完整的解决方案,我只是希望其他人已经找到了解决方案,并且可以指出他们找到它

c++ - 从 C++ 应用程序查询堆

我想对使用C++运行时库的C++native应用程序中的内存泄漏进行故障排除。我可以很容易地知道当前分配的block数(以及可选的总大小)吗? 最佳答案 你可以试试HeapWalk在HeapAPI,不需要第3方库。 关于c++-从C++应用程序查询堆,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/56737608/

c++ - 是否可以模拟进程的访问 token ?

模拟用户的典型方法是调用LogOnUser()以获取用户的访问token并将此token传递给ImpersonateLoggedOnUser()以进行模拟。但是,这只会模拟调用线程的用户。有没有办法模拟或更改进程的访问token(主token)?支持我正在访问网络共享,并且生成了多个线程来访问该网络共享的不同部分。我是否必须在所有这些线程中模拟远程用户(有权访问该共享)?还是有一种方法可以先“模拟”进程,以便在生成新线程时,它们已经通过自动继承进程主token获得了访问权限? 最佳答案 不,这是不可能的。NtSetInformati

windows - WM_GETMINMAXINFO,ptMaxSize 没有任何作用

在处理WM_GETMINMAXINFO消息时,我试图通过更改ptMaxSize来更改参数MINMAXINFO结构。好像没什么效果。当我收到WM_SIZE消息时,无论我是增加还是减少WM_GETMINMAXINFO中的ptMaxSize,我总是得到相同的值。 最佳答案 您确定您的窗口已最大化吗?根据http://msdn.microsoft.com/en-us/library/ms632605(VS.85).aspx,MINMAXINFO::ptMaxSize控制最大化窗口的最大尺寸。如果要控制窗口的最大跟踪尺寸(窗口正常时的最大尺寸

Windows窗口对接

我想知道如何在Windows中将窗口停靠/捕捉到屏幕的一侧,最好使用直接的Win32API。我正在寻找的效果就像任务栏——一个在屏幕上有预留空间的窗口,因此最大化另一个窗口会使该窗口占据屏幕的其余部分,但让我的窗口保持在原位并可见。我知道各种IM客户端都这样做,但一直无法找到有关如何执行此操作的任何资源。也不确定它的适当名称是什么。编辑:“应用程序桌面工具栏”是用于查找相关信息的搜索词。 最佳答案 IIUYC您正在寻找一个应用程序栏(MS官方名称为“应用程序桌面工具栏”)。您确实可以使用WindowsAPI创建它们。

windows - 在 Windows 上检索图形/声卡信息

我正在为我的应用程序开发一个错误报告工具,我想将硬件信息附加到错误报告中,以便更容易地查明某些问题。有谁知道任何Win32API函数可以查询操作系统的图形和声卡信息?谢谢,罗布 最佳答案 如果您愿意深入研究WMI,那么以下内容应该可以帮助您入门。usingSystem;usingSystem.Management;namespaceWMIData{classProgram{staticvoidMain(string[]args){SelectQueryquerySound=newSelectQuery("Win32_SoundDev