Programao Windows API com Visual C Parte 1 O Ambiente do Visual C
1. Introduo Este o primeiro de uma srie de artigos com o objetivo de dar uma viso geral do desenvolvimento de programas utilizando a API do Windows.
Os programa sero desenvolvidos em C, atravs do Visual C++ verso 6.
Nestes artigos estou assumindo que o leitor conhece:
A operao do Windows; Princpios bsicos de programao; e A linguagem C. Se voc no tem familiaridade com recursos como estruturas, ponteiros e cast, recomendo dar uma revisada no C antes de seguir em frente. Um bom livro The C Programming Language, de Kernighan e Ritchie.
Como o objetivo dar uma viso geral, vou me concentrar mais nos conceitos e no entrar a fundo nos detalhes. Para se aprofundar na API do Windows, recomendo:
O livro Programming Windows de Charles Petzold; A documentao da Microsoft, que voc encontra nos CDs MSDN Library ou em msdn.microsoft.com (http://msdn.microsoft.com/library/default.asp? url=/library/en- us/winprog/winprog/windows_api_start_page.asp)
2. O Ambiente Visual C 2.1. Passos na Gerao de Um Programa Windows A gerao de um programa Windows em C envolve os seguintes passos:
A edio dos programas fonte (arquivos .C e .H) A edio dos resources (arquivo .RC)* A compilao dos programas fonte em objetos (arquivos .OBJ) A compilao dos resources (gerando um arquivo .RES) A linkagem dos objetos, resources compilados e bibliotecas (gerando um arquivo .EXE)
* Mais adiante veremos o que so os resources
Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 2 de 7 Embora estes passos possam ser feitos um a um, o mais comum deixar o ambiente integrado (IDE Integrated Development Environment) do Visual C executar automaticamente os passos necessrios (exceto a edio, claro).
O Visual C capaz de determinar automaticamente as dependncias entre os diversos arquivos. Quando se pede para o VC gerar o programa, ele confere as datas e determina quais resultados esto desatualizados e executa os passos necessrios. 2.2. Workspaces, Projetos e Configuraes O Visual C facilita a organizao do desenvolvimento atravs de:
Projetos: um projeto um conjunto de arquivos de gera um programa executvel (.EXE) ou uma biblioteca (.LIB ou .DLL) Workspaces: um workspace o agrupamento de projetos inter- relacionados. Este agrupamento permite passar rapidamente de um projeto para outro e gerar todos os resultados com um nico comando
Alm disso, um projeto pode ter vrias configuraes. As configuraes so variaes do projeto criadas atravs de variaes nos parmetros de compilao e linkagem ou (mais raramente) nos arquivos usados na gerao. Quando um projeto criado, o VC gera sempre duas configuraes:
Release: a configurao para gerar o mdulo de produo. So ativadas as otimizaes do compilador e retiradas as informaes de debug. Debug: a configurao para teste. As otimizaes do compilador so desligadas (para tornar o cdigo gerado mais legvel e mais diretamente relacionado s linhas do cdigo fonte) e informaes de debug so colocadas nos objetos, bibliotecas e executveis. Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 3 de 7 2.3. Criando um Workspace e um Projeto Normalmente vamos trabalhar com um nico projeto por workspace. Para criar o workspace e o projeto, usamos o comando File New:
O VC permite criar vrios tipos de projeto, nestes artigos vamos sempre selecionar Win32 Application (salvo indicao em contrrio).
Em Location, escolhe-se o diretrio sob o qual estaro os nossos projetos. Ao se digitar um nome em Project name, este nome automaticamente acrescentado ao diretrio. Por exemplo, digitando-se Alo:
Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 4 de 7 Clicando no Ok, apresentado o Win32 Application Wizard:
Vamos escolher An empty project e ciclar em Finish. Aps um Ok na tela New Project Information, obtemos uma tela como a abaixo:
Observe o painel File View ( esquerda da tela). Neste painel sero indicados os arquivos que compem o nosso projeto.
Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 5 de 7 2.4. Nosso Primeiro Programa Windows Clique em para abrir um novo arquivo de texto. Digite o cdigo abaixo:
Use File Save As para salvar este arquivo com o nome Alo.c. Repare que assim que o VC descobre que o arquivo um fonte em C ele colore o texto conforme as regas de sintaxe do C.
Para gerarmos o executvel, preciso informar que este programa faz parte do projeto. Existem trs maneiras de fazer isto:
Atravs do menu Project / Add to Project / Files Clicando o boto direito no painel File View e selecionando Add Files Solicitando a compilao, o Windows pergunta se o arquivo deve ser includo no projeto.
Vamos usar a ltima opo. Selecione no menu Build / Compile Alo.c ou simplesmente clique no cone . Se voc no fez nada de errado, deve aparecer no painel Build (na parte inferior da tela):
Note que o VC adotou a configurao Debug e que foi gerado o arquivo Alo.obj. Para gerar o executvel, vamos executar um Build. Use o menu Build / Build Alo.exe ou clique no cone . No painel Build voc deve obter:
Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 6 de 7 hora de executar o nosso primeiro programa. Clique no cone :
2.5. Depurao Bsica Coloque o cursor na linha return MessageBox (... e clique no cone . Um crculo vermelho colocado ao lado da linha, indicando que foi criado um breakpoint (ponto de parada). Quando o program for executado no modo debug, a execuo para quando atinge um breakpoint. Clique em , o programa inicia a execuo e para:
Repare na tela:
A seta amarela indica a linha onde o depurador est parado O contedo das variveis em uso, no painel embaixo esquerda O toolbar Debug contendo (entre outros): Programao Windows API com Visual C Parte 1 (C) 2004, Daniel Quadros Pgina 7 de 7
Encerra a execuo e dispara novamente o programa
Encerra a execuo
Prossegue a execuo. Se a linha contiver uma chamada de rotina, para na primeira linha da rotina.
Prossegue a execuo. Se a linha contiver uma chamada de rotina, executa a rotina e para na linha seguinte.
2.6. Alterando os Parmetros do Projeto O menu Project Settings apresenta a tela de parmetros do projeto:
Um ponto importante que os parmetros se referem configurao indicada no alto esquerda (Win32 Debug no nosso caso) e aos arquivos selecionados no painel esquerda (todo os arquivos do projeto no nosso caso). Um erro comum mudar os parmetros para somente alguns arquivos ou configuraes quando se deseja alterar o parmetro para todos os arquivos e configuraes. Normalmente, quando se entra nesta tela o primeiro passo selecionar All Configurations e conferir que o nome do projeto est selecionado. 2.7. Gerando a Verso Release Para encerrar esta primeira parte, use Build / Select Ative Configuration para selecionar Alo Win32 Release e Build / Build Alo.exe para gerar o programa na configurao release.
Compare o tamanho dos arquivos Alo.exe nas pastas Debug e Release, voc ter um susto!