| 
 Кажется так же, как и в 98-м... А в 98-м, например, так:  Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hkey As Long) As Long   Private Const HKEY_DYN_DATA = &H80000006  Private Const STANDARD_RIGHTS_ALL = &H1F0000  Private Const READ_CONTROL = &H20000  Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)  Private Const KEY_QUERY_VALUE = &H1  Private Const KEY_SET_VALUE = &H2  Private Const KEY_CREATE_SUB_KEY = &H4  Private Const KEY_ENUMERATE_SUB_KEYS = &H8  Private Const KEY_NOTIFY = &H10  Private Const KEY_CREATE_LINK = &H20  Private Const SYNCHRONIZE = &H100000   Private Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))  Private Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))   Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)   Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal WFlags As Long) As Long   Dim hkey As Long  Dim dwCPUUsage As Long  Dim lpcbData As Long  Dim bStart As Boolean   Private Sub Form_Load()      SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3  End Sub   Private Sub cmdStart_Click()      bStart = Not bStart      If bStart Then          cmdStart.Caption = "&Stop"          If RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StartStat", 0, KEY_ALL_ACCESS, hkey) <> 0 Then Exit Sub          lpcbData = 4          RegQueryValueEx hkey, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, lpcbData          RegCloseKey hkey          If RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StatData", 0, KEY_READ, hkey) <> 0 Then Exit Sub          Do While bStart              RegQueryValueEx hkey, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, lpcbData              cmdStart.Caption = dwCPUUsage              t1 = Timer: Do While Timer - t1 < 0.5: DoEvents: Loop          Loop          RegCloseKey hkey          If RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StopStat", 0, KEY_ALL_ACCESS, hkey) <> 0 Then Exit Sub          lpcbData = 4          RegQueryValueEx hkey, "KERNEL\CPUUsage", 0, 0, dwCPUUsage, lpcbData          RegCloseKey hkey      Else          cmdStart.Caption = "&Start"          Caption = "Stoped..."      End If  End Sub   Private Sub Form_Unload(Cancel As Integer)      If bStart Then cmdStart_Click  End Sub  
Ответить
        |