Частые вопросы


Вопросы, которые были найдены мной в форумах на различных VB сайтах:

В: Как сделать так, чтобы нельзя было запустить две копии моей программы?
О: Добавьте в событие form_load главной формы следующий код:

If App.PrevInstance = True Then
MsgBox "Программа уже запущенна!"
End
End I

В: Программное переключение клавиатуры RUS/LAT?
О: Следующий пример демонстрирует как это сделать:

' Функция для переключения раскладок клавиатуры
Private Declare Function ActivateKeyboardLayout Lib "user32" _
(ByVal HKL As Long, ByVal flags As Long) As Long
'Константы
Const kb_lay_ru As Long = 68748313 ' русский
Const kb_lay_en As Long = 67699721 ' английский

' Переключить на русский язык
ActivateKeyboardLayout kb_lay_ru, 0

' Переключить на английский язык
ActivateKeyboardLayout kb_lay_en, 0

В: Как открыть файл?
О: Следующий пример демонстрирует как это сделать:

' Функция для запуска файла.

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

' Константы для максимизирования окна открываемого приложения.

Public Const SW_SHOWMAXIMIZED = 3


Call ShellExecute(0, "open", " C:\readme.txt","", "", SW_SHOWMAXIMIZED) 'Открываем файл C:\readme.txt

В: Как изменить обои рабочего стола
О: Следующий пример демонстрирует как это сделать:

'Функция изменяет различные системные настройки

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long

'Константа определяет рисунок рабочего стола

Public Const SPI_SETDESKWALLPAPER = 20

'Использование

SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal "Имя файла", True

Наш небольшой FAQ подошёл к концу, есть вопросы пишите