Konu Bilgileri Kısayollar
Konu Başlığı virtual pc de cpu kullanım oranın yüzde olarak görmek
Cevaplar 2
Sonraki Sonraki Konu
Görüntüleyenler0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Görüntülenme 338
Önceki Önceki Konu

Sayfa: [1]   Aşağı git
Cevap Yaz Yeni Konu Haberdar Et Okunmadi Say Bu Konuyu Gönder Yazdir
Gönderen Konu: virtual pc de cpu kullanım oranın yüzde olarak görmek  (Okunma Sayısı 338 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Şubat 10, 2009, 09:11:27 ÖS
Vedoo_67

»» 9_нαяяу кєωєℓℓ_9 ««

Albay

*****


Üye No : 1169

Yaş : 20

Cinsiyet : Bay

Nerden : α. ∂σgαи¢ıℓαя тєккє мαнαℓℓєѕι

Konu  : 86

Mesaj : 1618

PRESTİJ +11/-1
»» ∂υиуα вєявαт gяαƒιкℓєяι мυкєммєℓ ««
Site
Çevrimdışı
« :»

cpu kullanım oranını yüzde olarak görmekPrivate Sub Form_Load()
Set QueryObject = New clsCPUUsageNT
QueryObject.Initialize
End Sub

Private Sub Timer1_Timer()
Label1.Caption = QueryObject.Query
End Sub



'class modül içerisine yazılacaklar
Option Explicit
Private Const SYSTEM_BASICINFORMATION = 0&
Private Const SYSTEM_PERFORMANCEINFORMATION = 2&
Private Const SYSTEM_TIMEINFORMATION = 3&
Private Const NO_ERROR = 0
Private Type LARGE_INTEGER
 dwLow As Long
 dwHigh As Long
End Type
Private Type SYSTEM_BASIC_INFORMATION
 dwUnknown1 As Long
 uKeMaximumIncrement As Long
 uPageSize As Long
 uMmNumberOfPhysicalPages As Long
 uMmLowestPhysicalPage As Long
 uMmHighestPhysicalPage As Long
 uAllocationGranularity As Long
 pLowestUserAddress As Long
 pMmHighestUserAddress As Long
 uKeActiveProcessors As Long
 bKeNumberProcessors As Byte
 bUnknown2 As Byte
 wUnknown3 As Integer
End Type
Private Type SYSTEM_PERFORMANCE_INFORMATION
 liIdleTime As LARGE_INTEGER
 dwSpare(0 To 75) As Long
End Type
Private Type SYSTEM_TIME_INFORMATION
 liKeBootTime As LARGE_INTEGER
 liKeSystemTime As LARGE_INTEGER
 liExpTimeZoneBias As LARGE_INTEGER
 uCurrentTimeZoneId As Long
 dwReserved As Long
End Type
PrivateDeclare Function NtQuerySystemInformation Lib "ntdll" (ByVal dwInfoTypeAs Long, ByVal lpStructure As Long, ByVal dwSize As Long, ByValdwReserved As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Private liOldIdleTime As LARGE_INTEGER
Private liOldSystemTime As LARGE_INTEGER
Public Sub Initialize()
 Dim SysTimeInfo As SYSTEM_TIME_INFORMATION
 Dim SysPerfInfo As SYSTEM_PERFORMANCE_INFORMATION
 Dim Ret As Long
 'get new system time
 Ret = NtQuerySystemInformation(SYSTEM_TIMEINFORMATION, VarPtr(SysTimeInfo), LenB(SysTimeInfo), 0&)
 If Ret <> NO_ERROR Then
   Debug.Print "Error while initializing the system's time!", vbCritical
   Exit Sub
 End If
 'get new CPU's idle time
 Ret = NtQuerySystemInformation(SYSTEM_PERFORMANCEINFORMATION, VarPtr(SysPerfInfo), LenB(SysPerfInfo), ByVal 0&)
 If Ret <> NO_ERROR Then
   Debug.Print "Error while initializing the CPU's idle time!", vbCritical
   Exit Sub
 End If
 'store new CPU's idle and system time
 liOldIdleTime = SysPerfInfo.liIdleTime
 liOldSystemTime = SysTimeInfo.liKeSystemTime
End Sub
Public Function Query() As Long
 Dim SysBaseInfo As SYSTEM_BASIC_INFORMATION
 Dim SysPerfInfo As SYSTEM_PERFORMANCE_INFORMATION
 Dim SysTimeInfo As SYSTEM_TIME_INFORMATION
 Dim dbIdleTime As Currency
 Dim dbSystemTime As Currency
 Dim Ret As Long
 Query = -1
 'get number of processors in the system
 Ret = NtQuerySystemInformation(SYSTEM_BASICINFORMATION, VarPtr(SysBaseInfo), LenB(SysBaseInfo), 0&)
 If Ret <> NO_ERROR Then
   Debug.Print "Error while retrieving the number of processors!", vbCritical
   Exit Function
 End If
 'get new system time
 Ret = NtQuerySystemInformation(SYSTEM_TIMEINFORMATION, VarPtr(SysTimeInfo), LenB(SysTimeInfo), 0&)
 If Ret <> NO_ERROR Then
   Debug.Print "Error while retrieving the system's time!", vbCritical
   Exit Function
 End If
 'get new CPU's idle time
 Ret = NtQuerySystemInformation(SYSTEM_PERFORMANCEINFORMATION, VarPtr(SysPerfInfo), LenB(SysPerfInfo), ByVal 0&)
 If Ret <> NO_ERROR Then
   Debug.Print "Error while retrieving the CPU's idle time!", vbCritical
   Exit Function
 End If
 'CurrentValue = NewValue - OldValue
 dbIdleTime = LI2Currency(SysPerfInfo.liIdleTime) - LI2Currency(liOldIdleTime)
 dbSystemTime = LI2Currency(SysTimeInfo.liKeSystemTime) - LI2Currency(liOldSystemTime)
 'CurrentCpuIdle = IdleTime / SystemTime
 If dbSystemTime <> 0 Then dbIdleTime = dbIdleTime / dbSystemTime
 'CurrentCpuUsage% = 100 - (CurrentCpuIdle * 100) / NumberOfProcessors
 dbIdleTime = 100 - dbIdleTime * 100 / SysBaseInfo.bKeNumberProcessors + 0.5
 Query = Int(dbIdleTime)
 'store new CPU's idle and system time
 liOldIdleTime = SysPerfInfo.liIdleTime
 liOldSystemTime = SysTimeInfo.liKeSystemTime
End Function
Private Function LI2Currency(liInput As LARGE_INTEGER) As Currency
 CopyMemory LI2Currency, liInput, LenB(liInput)
End Function
Public Sub Terminate()
 'nothing to do
End Sub



((BUNU COK KARISIK GÖREBİLİR VE HİÇBİRŞEY ANLAMAYBİLİRSİNİZ FAKAT BİLENLER İÇİN COK YARARLI BİLGİLER))

Kayıtlı
Vedoo_67'adli üyenin imzası

Şubat 10, 2009, 10:31:40 ÖS
Beyazgölge

Albay

*****


Üye No : 722

Yaş : 23

Cinsiyet : Bay

Nerden : İstanbul

Konu  : 80

Mesaj : 2604

PRESTİJ +111/-1
Çevrimdışı
« Yanıtla #1 :»

teşekkürler
Kayıtlı
Beyazgölge'adli üyenin imzası

BEYAZGOLGE  ---  SOFTWARE SPECİALİST



2007-08-14
Şubat 14, 2009, 01:10:24 ÖS
Vedoo_67

»» 9_нαяяу кєωєℓℓ_9 ««

Albay

*****


Üye No : 1169

Yaş : 20

Cinsiyet : Bay

Nerden : α. ∂σgαи¢ıℓαя тєккє мαнαℓℓєѕι

Konu  : 86

Mesaj : 1618

PRESTİJ +11/-1
»» ∂υиуα вєявαт gяαƒιкℓєяι мυкєммєℓ ««
Site
Çevrimdışı
« Yanıtla #2 :»

asıl ben teşekkür ederim
Kayıtlı
Vedoo_67'adli üyenin imzası

Sayfa: [1]   Yukarı git
Cevap Yaz Yeni Konu Haberdar Et Okunmadi Say Bu Konuyu Gönder Yazdir
Gitmek istediğiniz yer:  

Benzer Konular
Konu Başlığı Başlatan Yanıtlar Görüntülenme Son Mesaj
Internet Kullanım Etiği Network Ve İnternet Yargıç 0 274 Son Mesaj Eylül 02, 2006, 01:01:25 ÖÖ
Gönderen: Yargıç
Pardus Kurulum ve Kullanım Kılavuzu İşletim Sistemleri crazyy 1 418 Son Mesaj Şubat 08, 2009, 02:40:26 ÖS
Gönderen: tepeköylü_67
ALAPLI BELEDİYE BAŞKANI OLARAK KİMİ GÖRMEK İSTERSİNİZ ? Anketler « 1 2 » Yargıç 17 1151 Son Mesaj Mayıs 13, 2009, 06:33:03 ÖS
Gönderen: Vedoo_67
Ferrari Virtual Race Oyunlar tepeköylü_67 0 229 Son Mesaj Eylül 05, 2009, 02:10:58 ÖÖ
Gönderen: tepeköylü_67
Yüzde 74 Şeriatçı Bunları Bİliyormusunuz ? debrelimehmet 1 243 Son Mesaj Eylül 12, 2009, 09:08:15 ÖÖ
Gönderen: Kanca67