Без Api

В данной статье я приведу некоторые ситуации, когда вроде бы не возможно обойтись без объявления соответствующих Api функций, но на самом деле выход есть (Все перечисленные ниже примеры работали на WinMe/98, возможно, на Win200 они работать не будут) :
Создайте новый проект, добавьте на созданную вместе с проектом форму, новую кнопку (Command1). И добавьте следующий код:

Пример №1
: Перезагрузка компьютера:

Private Sub Command1_Click()
'Всего одна строчка кода!
Shell "rundll32 shell32,SHExitWindowsEx 2"
'Если заменить 2 на 1, то получим функцию для выключения компьютера
End Sub

Пример №2
: Выключение компьютера:

Private Sub Command1_Click()
Shell "shell32,SHExitWindowsEx 1"
End Sub

Пример №3: Вызвать окно "Форматирование: Диск 3,5 (А:):

Private Sub Command1_Click()
Shell "rundll32 shell32,SHFormatDrive"
End Sub

Пример №4: Открыть "Свойства экрана":

Private Sub Command1_Click()
Shell"rundll32 shell32,Control_RunDLL desk.cpl"
End Sub

Пример №5: Выстраивает все не свернутые окна сверху вниз:

Private Sub Command1_Click()
Shell"rundll32 user,tilechildwindowsl"
End Sub

Пример №6: Обновить рабочий стол:

Private Sub Command1_Click()
Shell"rundll32 user,repaintscreen"
End Sub

Пример №7: Отключить клавиатуру:

Private Sub Command1_Click()
Shell "rundll32 keyboard,disable"
End Sub

Пример №8: Отключить мышь (Если использовать в программе функцию отключения клавиатуры и мыши, то такой прогой можно напугать своего недруга:)):

Private Sub Command1_Click()
Shell "rundll32 mouse,disable"
End Sub

Пример №9: Функция Environ:

Private Sub Command1_Click()
MsgBox Environ ("TMP") 'Выводит директорию временных файлов
MsgBox Environ ("COMSPEC") 'Выводит загрузчик ДОСовской оболочки(обычно, command.com)
MsgBox Environ ("PATH") 'Выводит пути, объявленные в autoexec.bat
MsgBox Environ ("WINDIR") 'Выводит каталог Windows

End Sub

Вот и всё! Не надо никаких громоздких объявлений функций, констант, структур.

Автор статьи: Хованский Ян (web: yansoft.by.ru)