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++.
tarso@celepar.gov.br

|