РАССЫЛКА САЙТА WWW.IGORYKSOFT.NAROD.RU |
ВЫПУСК 4 |
Здравствуйте! Поздравляю всех с началом третьей четверти и желаю всем успехов в учебе и работе! |
Сегодня в выпуске: |
|
Обновления на сайте: |
|
Как узнать текущую раскладку клавиатуры? |
Для этого нужно следующее. Вариант 1 В раздел "Generals" вставить код: Private Declare Function GetKeyboardLayout Lib "user32" _ А затем функцию: Function DeRasclad() Dim Rasclad As Long В этой функции все коды клавиатурных раскладок подобраны мною опытным путем. Видно, что функция GetKeyboardLayout возвращает код текущей раскладки клавиатуры, а с помощь Select Case он расшифровывается, и в конечном итоге функция DeRasclad возвращает текстовое значение раскладки As String. Вариант 2 Следующий код взят с сайта .org, правда не помню с какого именно (случайно обнаружил этот файл на диске) и усовершенствован мною. В коде формы объявляем две функции: Private Const LOCALE_SCOUNTRY As Long = &H6 'переменная для определения названия страны раскладки клавиатуры Private Const LOCALE_SISO639LANGNAME As Long = &H59 'также можно использовать и эту переменную, но в этом случае функция будет возвращать значение аббревиатуры языка - например, "Ru" или "En" Private Declare Function GetKeyboardLayout Lib "user32" _ Затем вставляем две функции: Private Function LoWord(wParam As Long) As Integer
Далее в том месте программы, где Вам нужно определить текущую раскладку клавиатуры вызываете функции с помощью следующего кода: Dim hKeyboardID As Long Единственное различие в выполнении этих вариантов - первый будет возвращать значения на русском языке, а второй на английском. |
Мои программы: Описание ActiveX контрола, предотвращающего взлом пароля в текстовом поле |
Pass.ocx Автор и программист - Igoryk (IgorykSoft [www.igoryksoft.narod.ru])
E-mail:
igoryksoft@yandex.ru Размер: 32,0 КБ (32 768 байт) Название
продукта:
Компонент для предотвращения взлома
пароля в текстовом поле
Я много раз слышал о программах-взломщиках паролей в текстовом поле. Эти программы передавали свойству Pattern значение ""(пустую строчку), которая раскрывала все символы. Занявшись этой проблемой, решил поискать какую-нибудь информацию в Интернете - единственное, что он выдал это следующее:
"В
разделе формы General Declarations объявите
переменную, которая будет содержать код:
Dim pswd As String В
свойствах текстового поля установите в
PasswordChar звёздочку "*". Теперь
кликните по текстовому полю два раза ,
выберите событие Text1_KeyPress
и впишите: Private Sub
Text1_KeyPress(KeyAscii As Integer) pswd = pswd + Chr(KeyAscii)
KeyAscii = Asc("*")
End Sub "
Но если взглянуть на этот код внимательнее можно заметить, что звездочка ("*") будет добавляться и при нажатии на Enter, на BackSpace (вместо того, чтобы стереть текст) и др. И вот я написал компонент, в котором все эти недостатки отсутствуют. Как им пользоваться написано ниже. Итак, в этом компоненте есть почти все свойства и методы, присущие любому компоненту, но плюс ко всему появилось свойство «Символ» и метод «ИсходныйТекст».
Свойство Символ -
это символ, которым будет шифроваться
вводимый текст.
Метод ИсходныйТекст-
функция без параметров, которая
возвратит незашифрованный текст пароля. Этот контрол также поддерживает форматирование шрифта – полужирный, зачеркнутый и др. Контрол можно скачать по адресу http://www.igoryksoft.narod.ru/myprog/textpwd.zip |
Вопрос-Ответ |
На этом все. Пишите на почту: igoryksoft@yandex.ru. Заходите на сайт: www.igoryksoft.narod.ru |
При копировании представленных здесь материалов, обязательно делать ссылку на www.igoryksoft.narod.ru! |