Novidades da API do
Windows 7 usando o
Delphi 2010

Bernardo Porto
Fundador & CIO
Quicksys
Agenda

• API (Application Programming Interface)
• Novidades do Windows 7
• Delphi 2010 e a API do Windows 7
O que é API?

• API, de Application Programming Interface
  (Interface de Programação de Aplicativos)
  – Conjunto de rotinas e padrões estabelecidos por
    um software para a utilização das suas
    funcionalidades por programas




• “...programas que não querem envolver-se
  em detalhes da implementação do
  software, mas apenas usar seus serviços.”
API do Windows no Delphi

• Método Comum




• Método JEDI
API do Windows no Delphi
Principais Novidades do Windows 7

•   Background Services
•   Biometric Framework
•   Direct2D
•   Mobile Broadband
•   Sensor & Location Platform
•   Taskbar
•   Windows Touch
Delphi 2010 e o Windows 7




• Suporte a Touch, Multi-Touch e Gestures
• Suporte a Direct2D
• Suporte a Ribbon
Novidades utilizando o Delphi 2010

• Taskbar
• Direct2D
• Background Services
Taskbar
Taskbar

• Conceitos
  –   Jump Lists
  –   Overlay Icon
  –   Progress Bar
  –   Thumbnails
Taskbar

• Jump Lists
  – Tarefas
  – Arquivos Recentes
  – Arquivos Mais Acessados
Taskbar

• Overlay Icon
  – Ícones sobrepostos
     • Ideal para definir status da aplicação

  – Exemplos
Taskbar

• Progress Bar
  – Mostrar o andamento de uma tarefa sem que
    o usuário tenha que abrir a janela da aplicação
Taskbar

• Thumbnails
  – Exibição prévia da janela para o usuário
  – Botões rápidos
Taskbar

• Necessário uma unit com a implementação da
  interface ITaskBar3

• Exemplos de funções disponíveis
  –   ThumbBarAddButtons
  –   SetOverlayIcon
  –   SetProgressValue
  –   SetProgressState
Direct2D

• API para gráficos 2D
   – Baseado no Direct3D
   – Alto desempenho
   – Alta qualidade




        Direct 2D          GDI
Direct2D

• Disponível nativamente no Delphi 2010
     – Direct2D.pas
     – D2D1.pas

• TCanvas, TDirect2DCanvas

• Disponível apenas no Windows 7, Windows
  Vista SP2* e Windows Server 2008 R2*



*Necessário Platform Update (via Windows Update)
Direct2D

• Interoperabilidade
   – GDI
   – GDI+
   – Direct3D

• Melhor desempenho se comparado com GDI e
  GDI+ (!)
Direct2D

• Processamento na GPU
Direct2D

• DirectWrite
  – Textos com alta qualidade (ClearType)
  Direct2D                        GDI
Direct2D
Serviços

• “Aplicações especiais” que são executadas em
  segundo plano executando operações sem a
  necessidade de intervenção do usuário

• Exemplo
   – Serviço iniciado quando o computador é iniciado
Serviços

• Status dos Serviços
   –   Desabilitado
   –   Manual
   –   Automático
   –   Automático com Espera (Automatic Delayed)
Serviços: O Problema

         • Problema
           – Serviços rodando 24x7
Serviços: A Solução

         • Solução
            – Triggers / Eventos
Background Services

• Trabalha com o conceito de triggers

• O serviço é iniciado sempre que um determinado
  evento associado ocorrer
Background Services

• Exemplos de Triggers
  –   Hardware Devices
  –   Rede
  –   Firewall
  –   Políticas de Grupos
  –   Domínios
Background Services

• Configurações
   – Linha de Comando
     • sc.exe

  – Funções da API
     • ChangeServiceConfig2
     • QueryServiceConfig2
Links Interessantes

• EDN – Embarcadero Developer Network
   – http://edn.embarcadero.com/br
• Trial Download
   – http://www.embarcadero.com/br/downloads
• Project JEDI
   – http://www.delphi-jedi.org
• Daniel Wischnewski (Taskbar Components)
   – http://www.gumpi.com/blog
• MSDN
   – http://msdn.microsoft.com
Obrigado!

• Dúvidas?


• Bernardo Porto
   – Websites
      • http://www.bernardoporto.com
      • http://www.myquicksys.com
   – E-mail
      • bernardo.porto@myquicksys.com
   – Twitter
      • @BernardoPorto

Novidades da API do Windows 7 usando o Delphi 2010

  • 1.
    Novidades da APIdo Windows 7 usando o Delphi 2010 Bernardo Porto Fundador & CIO Quicksys
  • 2.
    Agenda • API (ApplicationProgramming Interface) • Novidades do Windows 7 • Delphi 2010 e a API do Windows 7
  • 3.
    O que éAPI? • API, de Application Programming Interface (Interface de Programação de Aplicativos) – Conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas • “...programas que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.”
  • 4.
    API do Windowsno Delphi • Método Comum • Método JEDI
  • 5.
    API do Windowsno Delphi
  • 6.
    Principais Novidades doWindows 7 • Background Services • Biometric Framework • Direct2D • Mobile Broadband • Sensor & Location Platform • Taskbar • Windows Touch
  • 7.
    Delphi 2010 eo Windows 7 • Suporte a Touch, Multi-Touch e Gestures • Suporte a Direct2D • Suporte a Ribbon
  • 8.
    Novidades utilizando oDelphi 2010 • Taskbar • Direct2D • Background Services
  • 9.
  • 10.
    Taskbar • Conceitos – Jump Lists – Overlay Icon – Progress Bar – Thumbnails
  • 11.
    Taskbar • Jump Lists – Tarefas – Arquivos Recentes – Arquivos Mais Acessados
  • 12.
    Taskbar • Overlay Icon – Ícones sobrepostos • Ideal para definir status da aplicação – Exemplos
  • 13.
    Taskbar • Progress Bar – Mostrar o andamento de uma tarefa sem que o usuário tenha que abrir a janela da aplicação
  • 14.
    Taskbar • Thumbnails – Exibição prévia da janela para o usuário – Botões rápidos
  • 15.
    Taskbar • Necessário umaunit com a implementação da interface ITaskBar3 • Exemplos de funções disponíveis – ThumbBarAddButtons – SetOverlayIcon – SetProgressValue – SetProgressState
  • 16.
    Direct2D • API paragráficos 2D – Baseado no Direct3D – Alto desempenho – Alta qualidade Direct 2D GDI
  • 17.
    Direct2D • Disponível nativamenteno Delphi 2010 – Direct2D.pas – D2D1.pas • TCanvas, TDirect2DCanvas • Disponível apenas no Windows 7, Windows Vista SP2* e Windows Server 2008 R2* *Necessário Platform Update (via Windows Update)
  • 18.
    Direct2D • Interoperabilidade – GDI – GDI+ – Direct3D • Melhor desempenho se comparado com GDI e GDI+ (!)
  • 19.
  • 20.
    Direct2D • DirectWrite – Textos com alta qualidade (ClearType) Direct2D GDI
  • 21.
  • 22.
    Serviços • “Aplicações especiais”que são executadas em segundo plano executando operações sem a necessidade de intervenção do usuário • Exemplo – Serviço iniciado quando o computador é iniciado
  • 23.
    Serviços • Status dosServiços – Desabilitado – Manual – Automático – Automático com Espera (Automatic Delayed)
  • 24.
    Serviços: O Problema • Problema – Serviços rodando 24x7
  • 25.
    Serviços: A Solução • Solução – Triggers / Eventos
  • 26.
    Background Services • Trabalhacom o conceito de triggers • O serviço é iniciado sempre que um determinado evento associado ocorrer
  • 27.
    Background Services • Exemplosde Triggers – Hardware Devices – Rede – Firewall – Políticas de Grupos – Domínios
  • 28.
    Background Services • Configurações – Linha de Comando • sc.exe – Funções da API • ChangeServiceConfig2 • QueryServiceConfig2
  • 29.
    Links Interessantes • EDN– Embarcadero Developer Network – http://edn.embarcadero.com/br • Trial Download – http://www.embarcadero.com/br/downloads • Project JEDI – http://www.delphi-jedi.org • Daniel Wischnewski (Taskbar Components) – http://www.gumpi.com/blog • MSDN – http://msdn.microsoft.com
  • 30.
    Obrigado! • Dúvidas? • BernardoPorto – Websites • http://www.bernardoporto.com • http://www.myquicksys.com – E-mail • bernardo.porto@myquicksys.com – Twitter • @BernardoPorto