Ir para conteúdo
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[ARTIGO] Usando as APIs para "Procurar" e "Mover" janelas do Windows.


Posts Recomendados

Introdução:

 

Neste artigo vou mostar como usar algumas APIs do Windows para mover a caixa de Diálogo chamada pela função SelectDirectory.

 

A caixa de diálogo em questão, quando chamada, se abre alinhada ao canto direito inferior do Windows, próximo ao relógio. Com algumas técnicas, vamos poder movê-la em tempo de execução para uma nova posição. Para isso vamos usar as seguintes APIS:

 

FindWindow : Usada para localizar a janela.

GetWindowRect : Usada para recuperar a posição em que a janela foi aberta.

MoveWindow : Para mover a caixa de diálogo para a posição desejada, no nosso caso, centro do desktop.

 

Montando a Form:

 

A primeira coisa que devemos fazer é desenhar o form de exemplo.

 

Abra o Delphi e em um novo projeto insira os seguintes componentes:

 

ü 1 TButton. Mude sua propriedade Name para btnSelecionar e Caption para Selecionar Diretório.

 

ü 1 TEdit com o Name de edCaminho. Limpe a propriedade Text.

 

ü 1 TTimer da paleta System com o nome de tmAjustar.

 

ü Configure o form como no exemplo da figura 1.

 

image001.jpg

 

ü Mude a propriedade Enabled do TTimer para False e Interval coloque 100.

 

Comandos:

 

Feito isso, declare na cláusula "uses" do form a unit FileCtrl.

 

Para o evento onClick do btnSelecionar digite o algoritimo da Listagem 1;

 

É necessário se cadastrar para acessar o conteúdo.

 

No evento onTimer do objeto TTimer digite o código da Listagem 2;

 

É necessário se cadastrar para acessar o conteúdo.

 

Explicações:

 

Primeiro nós precisamos de um manipulador do tipo THandle, obtido através da api FindWindow:

 

É necessário se cadastrar para acessar o conteúdo.

 

A variável tmHandle recebe o “handle” da janela cujo o Caption é:

 

Procurar Pasta. O primeiro parâmetro de FindWindow é a classe da janela procurada. Como não sabemos passamos Nil.

 

Depois disso verificamos se o tmHandle é maior que zero, ou seja, se a janela foi encontrada. Em caso positivo, usamos a API GetWindowRect. Essa api armazena em uma variável do tipo TRect a informações suficientes para mais tarde movermos a janela.

 

É necessário se cadastrar para acessar o conteúdo.

 

O primeiro parâmetro, como podemos ver, é o manipulador Handle obtido mais acima. O segundo é a própria variável TRect.

 

Isso foi feito porque para mover a janela com MoveWindow, que veremos logo adiante, são necessários os novos Tamanhos e Posições. Para sabermos essas informações efetuamos alguns cálculos, veja:

 

É necessário se cadastrar para acessar o conteúdo.

 

Com base nas informações recebidas em tmRect, calculamos a largura e altura da janela. Depois calculamos o novo left e top, usando o tamanho do Screen. Neste caso estamos enviando a janela para o centro do Desktop.

 

Agora só nos resta fazer a chamada a API MoveWindow, veja:

 

É necessário se cadastrar para acessar o conteúdo.

 

Explicando: o primeiro parâmetro é o manipulador Handle, ou seja, a própria janela. Os parâmetros seguintes são, respectivamente, Left, Top, Largura, Altura e se a janela deve ser “repintada”.

 

Por fim, desativamos o Timer, usado somente no instante em que a janela é chamada.

 

 

Créditos:

 

DelphiBR

Link para o comentário
https://www.webcheats.com.br/topic/766168-artigo-usando-as-apis-para-procurar-e-mover-janelas-do-windows/
Compartilhar em outros sites

Boa, esse artigo me deu uma boa idéia para fazer um programa pra trollagem

Obrigado. Vai ter seus créditos se eu postar na WC

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.