草庐IT

windows - 在 Windows 中获取进程的私有(private)字节峰值值

ProcessExplorer以某种方式获取此值并将其显示在每个进程的性能选项卡上...如何使用Win32API获取它?解决方案:在“PeakPrivateBytes”字段中,ProcessExplorer实际上显示“Process\...\PageFileBytesPeak”性能计数器。可以使用PSAPI函数GetProcessMemoryInfo轻松检索此值。 最佳答案 GetProcessMemoryInfo得到这个:PrivateUsageThecurrentamountofmemorythatcannotbesharedw

windows - 如何判断 ReadFileEx() 重叠 I/O 何时完成?

HasOverlappedIoCompleted()不适用于以ReadFileEx()开头的异步I/O和WriteFileEx().底部的代码片段演示了这一点。在此示例中,ReadFileEx()从没有输入的管道中读取数据,因此读取不会完成。但是HasOverlappedIoCompleted()返回TRUE。如果我将调用更改为重叠的ReadFile(),则HasOverlappedIoCompleted()会按预期返回FALSE。我的问题是:如何在不依赖回调本身的情况下,找出带有回调的重叠I/O请求是否已完成?在我的应用程序中,APC可能已经排队,但不一定已经运行,因为应用程序可能尚

windows - 如果windows应用程序消息队列中没有消息,那么消息循环还会继续运行吗?

我对windows消息队列和消息循环有疑问。任何人都可以帮助我理解,或者请提供一些引用链接。如果windows应用程序消息队列中没有消息,那么消息循环还会继续运行吗?如果然后运行,应用程序会挂起吗?因为循环不断发生?它是如何工作的?谢谢,原 最佳答案 GetMessage()将阻塞,直到消息到达队列。这句话:如果队列为空,函数将阻塞,直到另一条消息进入队列。来自WindowMessages. 关于windows-如果windows应用程序消息队列中没有消息,那么消息循环还会继续运行吗?,

python - 用 Python 编写 Windows 迷你转储

我一直在尝试创建一个函数来为给定的进程ID写入小型转储文件。到目前为止我有这个:importwin32con,win32api,win32file,ctypesdbghelp=ctypes.windll.dbghelpdefcreateMiniDump(pid,file_name):#Adjustprivileges.adjustPrivilege(win32security.SE_DEBUG_NAME)pHandle=win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION|win32con.PROCESS_VM_READ,0,p

c++ - 来自 HWND 引用的关闭回调或 WM_CLOSE

我正在调用HtmlHelpAwinapi方法来显示我的应用程序的.chm。此方法立即返回一个HWND,并且帮助窗口显示为一个单独的窗口。除了窗口,我还为这个hwnd设置了一个计时器。我的问题是我需要知道此窗口何时关闭以终止计时器。我的第一个方法是尝试注册WndProc回调,但我不能这样做,因为我没有创建窗口,我只有对hwnd的引用。然后我尝试使用Hook(SetWindowsHookEx),但HOOKPROC不会将HWND作为参数传递给回调。此外,我需要知道这个hwnd的线程。有什么方法可以在HWND关闭或让WndProc等待WM_CLOSE消息时注册回调?

java - 在java中更改目录所有者

如何在Windows中使用API更改目录的目录所有者可以处理Java? 最佳答案 对于文件本身,这很容易,但是对于目录,您不能(据我所知)通过Java来完成,因为它依赖于文件系统(例如FAT、NTFS、HFS+、ext4等。).对不起。以防万一你想要一个文件。来自Files.setOwner(File,UserPrincipal)的Java文档:UsageExample:Supposewewanttomake"joe"theownerofafile:Pathpath=...UserPrincipalLookupServicelook

PyDev 中的 Python "unresolved import"但在命令行中找到

我安装了win32api并且可以从命令行导入和调用它,但是在Eclipse中(使用PyDev)编写时找不到相同的导入。从cmd行到PyDev的cwd和路径匹配(sys.path和os.getwd())。什么可能导致差异? 最佳答案 您很可能需要进入解释器设置并刷新包含路径。选择“窗口”>“首选项”。展开PyDev,单击解释器-Python。选择您的口译员,然后点击应用按钮。如果您没有进行任何其他更改,它将重新扫描site-packages目录以查找新模块。如果没有自动找到这两个,请自己添加:c:\Python26\lib\site-

c++ - Windows SetThreadAffinityMask 无效

我编写了一个小测试程序,我在其中尝试使用WindowsAPI调用SetThreadAffinityMask将线程锁定到单个NUMA节点。我使用GetNumaNodeProcessorMaskAPI调用检索节点的CPU位掩码,然后将该位掩码与GetCurrentThread返回的线程句柄一起传递给SetThreadAffinityMask。这是我的代码的一个大大简化的版本://Insideafunctioncalledfromaboost::threadunsignedlonglongnodeMask=0;GetNumaNodeProcessorMask(1,&nodeMask);HAN

c++ - 为什么基于不存在的 FontFamily 创建字体有效?

我正在使用Gdi+绘制一些文本,我正在尝试确保我创建的字体确实存在。我注意到无论我指定什么字体,它都能正常工作。我有以下代码:Fontfont(TEXT("SomeGibberishFOEIHSFUE"),12,0,UnitPoint);if(!font.IsAvailable())exit(0);//drawtext我的系统上没有安装名为SomeGibberishFOEIHSFUE的字体,但是IsAvailable返回TRUE并且程序运行并使用字体绘制文本看起来像Arial而不是退出。这是为什么?如果我使用的IsAvailable错误,我应该使用什么函数来判断Font的创建是否成功?

c# - 在非 GDI 应用程序中获取插入符位置

所以我正在编写一个辅助功能应用程序,它需要知道文本输入插入符号的位置。我尝试了GUIThreadInfo,但虽然它在记事本等基本应用程序中有效,但在处理自己的UI的更复杂的应用程序(如Chrome、iTunes等)中却失败了。有没有办法从这样的应用程序中获取插入符位置? 最佳答案 是的,行不通。插入符是user32的一个实现细节,与一个窗口相关联。像浏览器这样的应用程序不使用窗口控件,太昂贵了。而且他们不必这样做,有一个单独的API允许此类程序为屏幕阅读器等辅助功能应用程序提供接口(interface)。开始readinghere.