Bloqueando a estação via código


 

Cláudio Ralha

claudioralha@veloxmail.com.br

 

Você já pensou em quantas vezes, durante a jornada de trabalho, é obrigado a pressionar CTRL+ALT+DEL para “lokar” a sua estação, quando precisa se afastar para ir ao banheiro ou tomar aquele cafezinho quentinho no corredor? Várias vezes, não é verdade?

 

Infelizmente, a Microsoft esqueceu de colocar este recurso a distância de um clique do mouse, como fez com o ícone de desktop incluído na barra de acesso rápido, equivalente aos atalhos Winkey+M e Winkey+D. Uma ausência frustrante, dada a periodicidade com que este recurso é executado e ao fato do Windows primar por suas características cada vez mais amigáveis.

 

É claro que como bons escovadores de bits, não iremos aguardar a chegada do Windows Longhorn para verificar se esta facilidade foi adicionada. Demonstraremos como implementá-la com poucas linhas de código usando C#.

 

Para travar a estação, utilizaremos o método da API LockWorkStation presente na biblioteca user32.dll . Basta uma simples chamada a esta função, sem a passagem de qualquer parâmetro, para bloquear a estação.

 

O código completo da aplicação do tipo Console Application em C# pode ser visto a seguir:

 

 

 

using System;

using System.Runtime.InteropServices;

 

namespace TravaEstacao

{

      class Class1

      {

            // LockWorkStation

            [DllImport("user32.dll", SetLastError=true) ]

            public static extern int LockWorkStation ();

 

            [STAThread]

            static void Main(string[] args)

            {

                  LockWorkStation ();

            }

      }

}

 

 

 

Extremamente simples, não é verdade? E o melhor é que este código pode ser portado para qualquer linguagem que suporte chamadas a  API, como VB.NET, VB 6, Delphi, C++ e etc.

 

Alguns pequenos ajustes ainda são necessários para tornar nosso programa realmente útil. Em primeiro lugar, vale a pena modificar o ícone da aplicação. Para tanto, siga este roteiro:

 

  1. No menu Project, clique na opção Properties.
  2. A caixa de diálogos de propriedades será exibida. Clique em General.
  3. Selecione o ícone desejado através da propriedade Application Icon.

 

 

 

Figura 1 - Alterando o ícone da aplicação

 

 

  1. Após selecioná-lo, clique no botão Ok.
  2.  Recompile o programa para que o executável seja recriado usando o ícone escolhido.

 

 Por fim, localize o executável via Windows Explorer e arraste-o até a barra de início rápido. Pronto! A partir de agora, basta um clique de mouse para bloquear sua estação. Até a próxima!

 

Cláudio Ralha

   

Cláudio Ralha é diretor gerente da Ralha Consulting e especialista nas linguagens C# e VB.NET e VB. Já trabalhou como colunista do caderno Informática etc do Jornal O Globo, editor técnico da extinta Infomania Home Computer e colaborador de várias outras revistas. Como desenvolvedor, participou de projetos em empresas como Accenture, Stefanini e ATT/PS em clientes como Petrobras, Shell e Esso. Atualmente está finalizando o livro Segredos do Visual Studio .NET. Para contactá-lo, envie email para claudioralha@veloxmail.com.br.