На главную страничку учебника Visual BasicAPI Хитрости Такой раздел есть практически на любом сайте посвящённым программированию на Visual Basic. Поэтому я тоже решил завести этот раздел. Вот несколько интересных хитростей, реализованных с помощью Windows API:
Перетаскивание формы за любое место: Const
WM_NCLBUTTONDOWN = &HA1 Private
Declare Function SendMessage Lib "user32"
_ Private
Sub
Form_MouseDown(Button As Integer, Shift As
Integer, _ Программное UNDO в компоненте (например в TextBox или RichTextBox) Для создания UNDO просто необходимо послать сообщение WM_UNDO. Также можно послать сообщение EM_CANUNDO для определения возможности отмены. Пример: создайте новый проект, поместите на форму TextBox и кнопку. Вставьте этот код, и после запуска программы введите что-либо в TextBox и нажмите на кнопку. Const WM_UNDO = &H304 Private
Declare Function SendMessage Lib "user32"
_ Private
Sub
Command1_Click() Отключение действия Ctrl+Alt+Del в Windows 9x (не в NT!) Declare
Function
SystemParametersInfo Lib "user32"
Alias _ Для отключения реакции на Ctrl+Alt+Del: Для включения: Примечание: Не забудьте после закрытия программы снова включить реакцию на Ctrl+Alt+Del. Скрытие программы в списке задач Task Manager (т.е. в списке Ctrl+Alt+Del) Declare
Function
RegisterServiceProcess Lib "kernel32.dll"
_ Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long Для скрытия: Для показа: Программное открытие и закрытие CDROM'а CDROM можно открывать и закрывать посылая текстовое сообщение ф-цией mciSendString, которая сидит в библиотеке winmm.dll. Declare
Function
mciSendString Lib "winmm.dll" _ Открыть CD: Закрыть CD: Вызвать окно свойств (Properties) файла (прислал Гриневич Дмитрий) Declare
Function
ShellExecuteEX Lib "shell32.dll"
Alias _ Public
Sub
ShowProps(FileName As String, OwnerhWnd As
Long) Пример: Private
Sub
Form_Load()
На главную страничку учебника Visual Basic |