Exibindo a janela para Reinicializar o Sistema.


Após a instalação de um aplicativo geralmente você vê uma janela solicitando a reinicialização do sistema operacional Windows. Você talvez queira implementar a mesma rotina em seus sistemas. Pode fazer sito escrevendo a sua própria função; mas por que reinventar a roda se você pode usar uma chamada a uma API que exibe a tal janelinha ?

É simples e não contém contra-indicações ( eu não devia ter escrito isto...:-)  Vamos a rotina:

Private Declare Function SHRestartSystemMB Lib "shell32" Alias "#59" (ByVal hOwner As Long, ByVal _
sExtraPrompt As String, ByVal uFlags As Long) As Long

Private Const SystemChangeRestart = 4

Public Sub SettingsChanged(FormName As Form)
    SHRestartSystemMB FormName.hWnd, vbNullString, SystemChangeRestart
End Sub

Private Sub Command1_Click()
    SettingsChanged Form1
End Sub

A utilização é simples: Basta fazer a chamar a API passando como argumento o nome do formulário. 

Se você fez tudo direitinho ao clicar no botão de comando irá obter o seguinte:

Valeu ?? Então , até a próxima dica...