草庐IT

C++:在指针集中查找

全部标签

windows - 查找并模拟点击系统托盘图标?

我需要弄清楚如何以编程方式从单独的应用程序的系统托盘图标中查找和选择上下文菜单项。我能想到的实现这一点的唯一方法是使用mouse_event()和一些硬编码的x/y值,并将图标设置为始终显示。除了一般的硬编码的hacky使用之外,这里的问题是图标将保留其位置的假设(这可能会在另一个应用程序加载/卸载时中断)。我想知道是否有人知道解决此问题的其他方法? 最佳答案 根据应用程序的编写方式,从上下文菜单中选择项目将导致WM_COMMAND消息发布到属于该应用程序的窗口。您可以使用像Spy++这样的工具来检查这一点。如果是这种情况,那么您所

c++ - 删除静态指针指向的动态内存

我有以下结构(简化):classmyType{staticchar*data;//moreprivatedataherepublic://publicinterfacehere};data是myType的所有实例之间共享的资源,它指向一个动态分配的内存(由其中一个实例在初始化时分配)。到目前为止一切顺利。当我需要释放data指向的内存时,问题就出现了。引用计数不是这里的解决方案,因为在某个执行点没有myType的单个实例是一种有效且可能的情况-稍后可以创建一个新实例-因此数据必须保留。我需要在卸载驱动程序时释放内存,但卸载与myType对象的实际销毁无关,因此我不得不手动释放data.

c++ - 查找可能是由于线程锁定(可能)引起的性能问题

我花了一些时间运行valgrind/callgrind来分析一个使用许多线程进行大量TCP/IP通信的服务器。在提高性能一段时间后,我意识到在这个特定的测试场景中,进程不受CPU限制,所以我看到的性能“改进”没有用。理论上CPU应该很忙。我知道它连接的TCP/IP设备不是限制,因为服务器在两台机器上运行。一个是PC,另一个是带有Arm处理器的嵌入式设备。即使是嵌入式设备也只有大约2%的CPU使用率,但它执行的事务要少得多——大约十分之一。尽管我们试图尽快获取数据,但两个系统最多只能获取大约2%。我的猜测是某个互斥锁被锁定并占用了一个线程。这是一个纯粹的猜测!系统中有几个线程具有公共(p

windows - Powershell:查找已安装的防病毒软件,过滤掉 Windows Defender

全部。我有一个PowerShell脚本,可以检测安装在Windows中的防病毒软件(这实际上很常见)。问题是,我希望它能过滤WindowsDefender,尤其是因为Windows8、8.1和10都安装了它。如果唯一的防病毒软件存在,我希望我的脚本指示WindowsDefender是否存在,如果存在,则提供不同的输出。这是我目前所拥有的...functionGet-AntivirusName{[cmdletBinding()]param([string]$ComputerName="$env:computername",$Credential)BEGIN{$wmiQuery="SELE

c# - 在 c# 的文件夹中查找最新创建的文件的好方法是什么?

我有一个网络文件夹,最多可包含10,000个文件(通常约为5000个)。使用C#获取该文件夹中最近创建的文件的文件路径的最快方法是什么?目前我正在使用下面的方法,但想知道是否有更快的方法。谢谢。DirectoryInfodi=newDirectoryInfo(xmlFileLocation);varfeedFiles=di.GetFiles("*.xml");varsortedFeedFile=fromsinfeedFilesorderbys.CreationTimedescendingselects;if(sortedFeedFile.Count()>0){mostRecentFil

windows - 查找文件大小 Windows MFC 应用程序

我正在开发WindowsMFC应用程序。我正在准备我的设计中的报告列表使用CListCtrl我可以列出文件的名称、大小、类型和修改日期。我不知道如何显示文件的大小。有谁知道该怎么做? 最佳答案 要一次性获取所有信息,请使用:CFileStatusfilestatus;CFile::GetStatus(filename,filestatus); 关于windows-查找文件大小WindowsMFC应用程序,我们在StackOverflow上找到一个类似的问题:

c++ - 如何扫描另一个进程内存以查找特定字符串后面的内容?

我想通过另一个进程扫描当前正在运行的native应用程序的整个堆。例如,我想知道此进程内存中ASCII序列“test”的所有实例之后是什么(在这种情况下,我将扫描“test”并继续阅读)。我尝试用谷歌搜索更多信息,但没有找到太多信息:我找到了ReadProcessMemory这看起来很有趣,但我怎么知道进程分配的内存地址呢? 最佳答案 尝试VirtualQueryEx.如果您发现您正在访问其他进程中的大量内存,请考虑使用CreateRemoveThread(samplecode)。这将允许您将自己的DLL注入(inject)到其他进

windows - TFileListBox 组件查找不再存在的文件

我在Windows7上使用Delphi7,并且有一个应用程序使用TFileListBox组件循环访问目录中的文件并将它们复制到备份目录。我遇到了一些奇怪的行为,即TFileListBox正在检测目录中不存在的文件?我处理的目录包含75个文件,但TFileListBox检测到超过100个文件。我更改了资源管理器设置以显示隐藏/系统文件,但仍然看不到这些额外文件的来源。我想知道这个Windows7以前的版本是否在这个问题中发挥了作用,因为我相当确定TFileListBox正在检测的额外文件确实曾经驻留在这个目录中但被删除了...如有任何帮助,我们将不胜感激。 最

windows - 在 Win32 C API 中执行 `EnumWindows` 查找窗口时如何避免使用全局变量?

在使用EnumWindows(或FindChildWindows)Win32API时如何避免使用全局变量?我大概有以下代码:HWNDprog_hwnd;BOOLCALLBACKProgEnumProc(HWNDhwnd,LPARAMlParam){if(...){//foundtherighthwnd,assignittoprog_hwnd;prog_hwnd=hwnd;returnFALSE;}returnTRUE;}voidFindProgHwnd(){EnumWindows(ProgEnumProc,0);}intmain(){FindProgHwnd();if(prog_hwn

windows - 使用 Windows 批处理脚本单独查找特定字符串

如果我的文件包含以下文本:sampleA1xxxsampleA2yyyysampleA3zzzzz...sampleA4hhhhh我想使用Windows批处理脚本找到sampleA4并显示sampleA4hhhh。那是我的输出应该是:sampleA4hhhhh谁能帮帮我 最佳答案 批处理或者看看GNUWinsed:>typefile^^sampleA1xxx^^sampleA2yyyy^^sampleA3zzzzz^^sampleA4hhhhh>sed-r"s/.*(\b\w+4\w+)/\1/"filesampleA4hhhhh