Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2016, 01:32   #1
vadserg
Новичок
Джуниор
 
Регистрация: 24.11.2016
Сообщений: 2
По умолчанию Не удаётся загрузить dll. visual basic

Собственно проблема в заголовке. Стоит задача:
Используя команду cpuid, определить размер КЭШа данных первого уровня.
Используя RegOpenKey, RegQueryValueEx, RegCloseKey, определить семейство
процессора
(HKEY_LOCAL_MACHINE\HARDWARE\DESCRI PTION\System\CentralProcessor\
0).

ок.
Код:
Public Class Form1
    Private Declare Sub GetCPU Lib "dllcpu.dll" Alias "getcpu" (ByRef a As Long, ByRef b As Long, ByRef c As Long, _
    ByRef d As Long)
    Private Const REG_SZ As Integer = 1
    Private Const HKEY_LOCAL_MACHINE As Integer = &H80000002

    Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Integer, _
    ByVal lpsubKey As String, _
    ByRef phkResult As Integer) As Integer

    Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hkey As Integer) As Integer

    Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Integer, ByVal lpValueName As String, ByVal Reserved As Integer, ByVal lpType As Integer, ByVal lpData As String, ByRef lpcb As Integer) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, TextBox2.Click, TextBox1.Click
        Dim a4, a1, b1, c1, d1, N As Long
        a1 = 1 'заносим в регистр ЕАХ значение 1 
        GetCPU(a1, b1, c1, d1) 'получаем значения регистров ЕАХ, EBX, ECX, EDX 
        TextBox1.Text = Hex(a1) + " - EAX" 'выводим значение ЕАХ 
        a4 = a1
        N = Len(Hex(a1.ToString)) ' вычисляем длину ЕАХ 
        TextBox2.Text = Mid(Hex(a1.ToString), (N - 1), 1) + " - EAX [10] L1 context ID"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, TextBox3.Click
        Dim subkey As String = "HARDWARE\DESCRIPTION\System\CentralProcessor\1"
        Dim strValueName As String = "Identifier" ' имя подраздела 
        Dim Ret As Integer, lValueType As Integer, lDataBufSize As Integer
        Dim strBuf As String = ""
        If RegOpenKey(HKEY_LOCAL_MACHINE, subkey, Ret) = 0 Then
            RegQueryValueEx(Ret, strValueName, 0, lValueType, 0, lDataBufSize)
            If lDataBufSize > 0 Then
                strBuf = StrDup(lDataBufSize, Chr(0)) ' возвращаемое значение 
                RegQueryValueEx(Ret, strValueName, 0, 0, strBuf, lDataBufSize)
                TextBox3.Text = strBuf
            Else
                MsgBox("Ошибка чтения")
            End If
        Else
            MsgBox("Ошибка открытия раздела")
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
.
При запуске выдаёт ошибку:
Необработанное исключение типа "System.DllNotFoundException" в WindowsApplication1.exe

Дополнительные сведения: Не удается загрузить DLL "dllcpu.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)
и подчеркивает строку "GetCPU(a1, b1, c1, d1)"

Может подскажете, где я ошибся?
p.s
vadserg вне форума Ответить с цитированием
Старый 24.11.2016, 01:35   #2
vadserg
Новичок
Джуниор
 
Регистрация: 24.11.2016
Сообщений: 2
По умолчанию

Не могу тему отредактировать...
Вторая часть задания работает нормально, а на первом вылетает с ошибкой.
vadserg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
Как загрузить форму с DLL SeRhy Общие вопросы Delphi 7 18.11.2008 21:05