【问题标题】:In MS Access VBA get Number of Processor Cores在 MS Access VBA 中获取处理器核心数
【发布时间】:2021-11-24 21:05:31
【问题描述】:

我需要从 MS Access 中以编程方式获取计算机上可用的处理器内核数。例如,我最常使用的计算机有一个 6 核处理器。我想通过 VBA 获取数字“6”。

到目前为止,我已经找到了两种通过 CMD 查找此信息的方法。 (1) 我可以执行echo %NUMBER OF PROCESSORS%这行,结果是6(简单干净,我喜欢)。 (2)我也试过wmic cpu get numberorcores,但是那个提示的结果如下:

NumberOfCores
6

我打算将输出通过管道传输到剪贴板并从中读取。我使用剪贴板的原因是避免创建、读取和删除小的数据文本文件。提示 (2) 有效,我可以成功地将输出通过管道传输到剪贴板并将其读入 VBA 中的变量,但它很混乱,我必须解析结果才能获得我需要的信息。我更喜欢使用提示符 (1),但它不起作用,问题似乎是 echo。我试过使用shell()CreateObject(WScript.Shell).Run 没有成功。我曾经尝试执行echo提示的字符串如下:

str = "echo %NUMBER OF PROCESSORS% | clip"
str = "cmd ""echo %NUMBER OF PROCESSORS% | clip"""

那么,有没有办法通过VBA成功向CMD发送echo提示并得到结果呢? 或者,在 VBA 中是否有不同的方法来获取内核数量?

TIA!

【问题讨论】:

标签: vba ms-access


【解决方案1】:

为什么不保持简单:

Dim result As Variant
result = Environ("NUMBER_OF_PROCESSORS")
Debug.Print "Number of processors is " & result

【讨论】:

  • 完美解决方案!太感谢了!我不知道 Environ 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 2018-08-11
  • 1970-01-01
  • 2011-08-13
相关资源
最近更新 更多