2010-09-05 92 views
-1

我需要的應用程序,收集有關係統的基本數據,如操作系統版本,處理器&內存類型,已安裝程序的數據... 應用程序將用C語言編寫和Win Server上的工作將2000年和2003年。所以第一件事情在我心中是WinApi,但我找不到任何這些東西的教程,我發現每個教程都是關於UserInterfaces,我不需要它。WinApi基礎服務教程?

所以,任何幫助,將不勝感激。

編輯:東西夫婦在下面回答,我會使用WMI與WINAPI,但我仍然不知道如何從Windows任何.exe程序獲取詳細的性能?

+0

總之..我需要一些東西開始。 :)) – shake 2010-09-05 21:26:49

+0

你想要檢索可執行文件的特定屬性? – 2010-09-07 08:08:09

回答

2

WMI可能是您所需要的一些東西。不是一個有趣的API。該工具漢斯是指將是有益的 - 即使你有口生成的C#代碼回C.

下的Win32 API是有可能幫助你:

OS版本:GetVersionEx and OSVERSIONINFOEX

CPU信息:cpuid(或者寫入彙編,或者調用編譯器內部)

替代CPU信息:只需查看HKLM \ Hardware \ DESCRIPTION \是cpuid返回+處理器速度列出的緩存)。

內存:GlobalMemoryStatusEx

+0

非常感謝。晚上我花了一些時間來研究WMI,它真的很有趣是不是有趣的api使用,但有很多的例子,將有助於.. :))但還有一個問題,我有..沒有與WMI或WinApi無法找到如何獲得有關已安裝程序的屬性。右鍵單擊某些.exe文件 - >屬性 - >詳細信息時可以找到這些屬性。如果我找到這個我準備好去。 :)) – shake 2010-09-06 08:08:28

+1

你可以使用這些apis獲得所有的二進制細節:http://msdn.microsoft.com/en-us/library/ff468915%28v=VS.85%29.aspx – selbie 2010-09-06 19:05:30

+0

非常感謝你..我對這些東西真的很陌生,所以它意味着很多.. :)) – shake 2010-09-06 20:07:23

1

這是不包括在WINAPI,你需要WMI(Windows管理規範)。要開始您可以運行的查詢類型,請嘗試使用WMI Code Creator工具。它可以自動生成你需要的代碼。不用C語言,你會發現WMI的語言很尷尬。

+0

嗯,我需要創建類似這樣的程序,當然不是代碼創建器,類似的部分我可以獲取所有這些數據。問題是應用程序將使用的系統沒有.NET框架或JVM。所以我需要用C或C++來完成。 – shake 2010-09-05 21:54:35

+1

C++不是問題:http://msdn.microsoft.com/en-us/library/aa394558%28VS.85%29.aspx – 2010-09-05 22:09:47

0

對於處理器信息調用 GetLogicalProcessorInformation

請注意,這在所有機器上都不受支持。所以最好動態調用DLL。否則你的程序不會在這些機器上運行。這example顯示如何做到這一點