草庐IT

c++ - 根据字体句柄获取字体文件名 (HFONT)

我遇到过这样一种情况,我们需要知道QFont当前使用的字体的文件名。.知道一个QFont可以给我们字体系列和WindowsHFONT处理。字体系列是不够的,因为像Bold这样的操作样式或Italic会导致Windows选择不同的字体文件。(例如arial.ttf、arialbd.ttf、arialbi.ttf、ariali.ttf)。这段代码示例应该给我们\arial.ttf:QFontfont("Arial",12);FindFontFileName(font.handle());虽然这段代码示例应该给我们\arialbi.ttfQFontfont("Arial",12);font.

windows - 如何获取属于某个进程的打开句柄数?

您可以使用程序ProcessExplorer查看正在运行的应用程序有多少个句柄。有没有办法用Delphi代码得到这个数字?我有兴趣跟踪应用程序本身的编号;不要像ProcessExplorer那样查找其他应用程序使用的句柄数。我的目的是让应用程序跟踪/检测可能的资源泄漏。 最佳答案 使用GetProcessHandleCount功能。此API函数在最新版本的Delphi中由Winapi.Windows单元导入(因此您可以省略提供的函数):functionGetProcessHandleCount(hProcess:THandle;va

c++ - Win32 - 获取应用程序的主窗口句柄

我已经将我的dll注入(inject)到进程中。如何获取主机应用程序的主窗口句柄? 最佳答案 宿主应用程序可能有多个“主窗口”。要检测它们,您可以调用GetCurrentProcessId获取当前进程的PID调用EnumWindows遍历桌面的所有顶层窗口对于桌面上的每个窗口,调用GetWindowThreadProcessId获取创建窗口的进程的PID如果窗口的PID与您自己进程的PID匹配,则记住该窗口。这会为您提供由您将DLL注入(inject)到的进程创建的顶层窗口列表。但是,请注意,这种方法可能会产生在您处理构建的窗口列表

c - C 中的指针与句柄(这些术语是否用于传达不同的事物?)

最近,我读了一个人的白皮书,他将指向结构的指针称为句柄。作者显然是以前在windows平台上写过C代码的人。谷歌搜索表明Windows程序员通过句柄与系统组件交互。我想知道Windows程序员将所有结构指针都称为句柄是否是常见的做法?或者术语handle是否意味着传达超出结构指针的内容?我是作为linuxC程序员问的。我指的白皮书是:Duff、Heroux和Pozo。稀疏基本线性代数子程序概述:来自BLAS技术论坛的新标准。ACMTransactionsonMathematicalSoftware,第28卷,第2期,2002年6月,第239-267页。 最佳

windows - 如何枚举进程的句柄?

有什么方法可以在Windows中枚举具有给定PID的进程,并获取他所有打开的句柄(锁定文件等)的列表?编辑:我不关心语言。如果它在.NET中,我会很高兴,如果在WinApi(C)中,它不会受到伤害。如果在其他方面,我想我可以重写它:-) 最佳答案 我进行了深入的谷歌搜索,发现了这个article.这篇文章给出了一个链接downloadsourcecode:我尝试了NtSystemInfoTest.cpp中的方法(下载的源代码)并且效果非常好。voidListHandles(DWORDprocessID,LPCTSTRlpFilter

windows - SWT 不再有句柄

WindowsXP对每个进程有10000个用户句柄的限制,每个桌面session的总用户句柄数为32000。但是,当我运行4或5个SWT进程时,每个进程消耗不超过2000个用户句柄,将始终抛出SWTNoMorehandles异常。有人知道为什么吗? 最佳答案 如果我没理解错的话,您可能遇到以下异常:org.eclipse.swt.SWTError:Nomorehandles您可能正在创建未正确处置的资源(例如Font、Image或GC对象)。您可能需要花点时间阅读ManagingOperatingSystemResources上的S

windows - 什么是 Windows 句柄?

在Windows中讨论资源时什么是“句柄”?它们是如何工作的? 最佳答案 它是资源的抽象引用值,通常是内存、打开的文件或管道。正确地,在Windows中(通常在计算中)句柄是一种抽象,它对API用户隐藏了真实的内存地址,允许系统对程序透明地重组物理内存。将句柄解析为指针会锁定内存,释放句柄会使指针无效。在这种情况下,将其视为指针表中的索引...您将索引用于系统API调用,系统可以随意更改表中的指针。或者,当API编写者希望API的用户与返回地址的具体内容隔离开来时,可以给出一个真正的指针作为句柄;在这种情况下,必须考虑到句柄指向的内

javascript - nodejs npm mysql返回单行句柄

我正在使用node和npmmysql来做一些数据库工作。如果我知道我只会收到一行,有什么方法可以避免使用result[0]吗?connection.query({sql:"SELECTspendFROM`account`WHERE`name`=?orderbydatedesclimit1",values:[market.name]},function(error,results,fields){market.fee=results[0].age;resolve(market);}); 最佳答案 connection.query的回调

mysql - RMySQL:关闭没有句柄的连接

我正在试验RMySQL,并且不小心创建了一个没有句柄的连接。dbConnect(MySQL(),user="foo",password="bar")connLocalDB=dbConnect(MySQL(),user="foo",password="bar")请注意,第一次调用的返回未分配给任何内容。现在,当我执行dbListConnections(MySQL())时,我看到两个连接:>dbListConnections(MySQL())[[1]][[2]]然后我尝试了这个:>dbDisconnect(dbListConnections(MySQL())[[1]])[1]TRUE但是,

ios - 从 iOS 中的 Twitter 框架获取 Twitter 句柄

我知道要在iOS5中使用twitter框架访问已配置的twitter帐户,可以执行以下操作:ACAccountStore*t_account=[[ACAccountStorealloc]init];ACAccountType*accountType=[accountaccountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];[accountrequestAccessToAccountsWithType:accountTypewithCompletionHandler:^(BOOLgranted,NSError