...Гмм... Я, скорее всего, просто не знаю терминологии... Под функциональными клавишами я подразумевал LeftArrow, DownArrow, RightArrow, UpArrow, и еще несколько, нажатия которых в форме с какими-либо элементами управления никак не хотят обрабатываться, а именно: Home, End, Page Up, Page Down, Print Screen... Может быть, вы мне с этим поможете...
зн. vbKeyLeft,vbKeyRight... вообще просто посмотри содержимое класса KeyCodeConstants!!!(если не в курсе как, то: 1. в проекте нажми F2 2. В списке Classes найди KeyCodeConstants)
Я не совсем это имел в виду... Просто создайте пустую форму с кодом:
Private Sub Form_KeyDown(keycode,shift)
form.keypreview=true
msgbox keycode
end sub
А теперь зараньте ее и нажмите какую-нибудь стрелку. Все работает, так? А теперь разместите на форме какой-нибудь элемент управления. Снова зараньте и нажмите стрелку... Вот что я имел в виду. Можно ли это как-нибудь исправить?
К сожалению, сколько бы я не искал, ответа на вопрос о том, как записать в реестр в параметр Reg_Binary, я так и не нашел. Надо внести какие-либо изменения в следующую процедуру, а какие, не знаю:
Sub SetValue(Root As Long, key As String, Field As String, Value As Variant) Dim lResult As Long Dim keyhandle As Long Dim s As String Dim l As Long lResult = RegOpenKeyEx(Root, key, 0, KEY_ALL_ACCESS, keyhandle) If lResult <> ERROR_SUCCESS Then Exit Sub End If Select Case VarType(Value) Case vbInteger, vbLong l = CLng(Value) lResult = RegSetValueEx_DWord(keyhandle, Field, 0, REG_DWORD, l, 4) Case vbString s = CStr(Value) lResult = RegSetValueEx_String(keyhandle, Field, 0, REG_SZ, s, Len(s) + 1) ' +1 for trailing 00 End Select RegCloseKey keyhandle End Sub
Я ничегошеньки не понимаю из того, что здесь написано, но она работает соответственно, только для Строковых и Dword параметров. Может, кто-нибудь поможет? А то, боюсь, придется создавать временный inf-файл, ранить его из-под проги, а потом удалять...