Windiscretos

Autor: Tarso Dutra Blitzkow de Queiroz - GPT

O Menor do Visual C + + para o Windows

O menor programa de uma linguagem, aqueles que mostram na tela expressões como "Oi!" ou "Oi Mundo!!!" são bastante difundidos entre os programadores. Aqueles que nunca fizeram um programa semelhante a este que atire a primeira listagem. No que diz respeito a utilidade, o menor programa serve somente para indicar que estamos começando a programar na linguagem em questão.

No caso de programas para Windows, estas afirmações continuam valendo. Um verdadeiro programa para Windows em linguagem C, aquele que expressa como funciona o Windows, custa em torno de 2 módulos e aproximadamente uma centena de linhas de código. Sendo feito em linguagem C++, através do AppWizard e da maneira mais simples possível, gastaremos em torno de 15 módulos (códigos fonte, headers, ícone etc) e 500 linhas de código.

Vamos então ao menor programa em Visual C++ (mas em linguagem C), que é muito semelhante ao conhecido "Oi Mundo!!!" da obra de Kernighan e Ritchie. A diferença fica por conta da interface Windows.

O "Menor" em Visual C++

1) O programa fonte MENOR.C

#include <Windows.h>
int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR lpszCmd, int  nWnd)
{
    MessageBox(NULL,"Oi Mundo!!!","Menor", MB_OK | MB_ICONEXCLAMATION |                        MB-SYSTEMMODAL);
          return (0);
}

2) O módulo de definição MENOR.DEF

CODE             PRELOAD MOVEABLE DISCARDABLE
DATA              PRELOAD MOVEABLE MULTIPLE
HEAPSIZE     1024

O programa até então visto não serve para muita coisa, porém, com alguns ajustes poderemos dar alguma utilidade para ele.

O "Um pouco maior e mais útil" em Visual C

Em alguns casos, ao alterarmos a configuração do Windows o mesmo nos dá a opção de restartá-lo. Mas em outros casos isto não acontece. Devemos então sair e executar novamente o Windows, para efetivar as alterações. Com algumas pequenas alterações no "Menor Programa" teremos disponível uma ferramenta que fará com que o Windows seja restartado de uma maneira menos incomoda.

Vamos ao código fonte então:

1) O programa fonte MENORUTI.C

#include <Windows.h>
int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR IDszCmd, int nWnd)
{
    if(MessageBox(NULL,"ReStartar ?", "ReStart", MB_YESNO|
        MB_CONQUESTION | MB_SYSTEMMODAL)==IDYES)
        ExitWindows (EW-RESTARTWINDOWS,0);
    return (0);
}

2) O módulo de definição MENORUTI.DEF

CODE            PRELOAD MOVEABLE DISCARDABLE
DATA             PRELOAD MOVEABLE MULTIPLE
HEAPSIZE    1024

Os código apresentados não mostram a filosofia de desenvolvimento do Visual C++ para o Windows, mas são um exemplo de que também existem programas pequenos para o Windows e com esta ferramenta. Finalizando, os programas acima citados foram feitos sob a versão 1.0 do Visual C++.