GARANTIR DESCONTO

Fórum Ícones Desktop #240730

01/07/2004

0

Olá. Preciso saber como obter a posição (X,Y) dos ícones do desktop.
Acho que deve estar no registro, mas não consegui achar as chaves.

Tenho uma máquina que fica disponível ao público em uma academia, para uso da internet. Ela está protegida (Winpolice), ou seja os usuários não podem excluir os ícones mas podem bagunçá-los na área de trabalho.

Não quero usar o auto-organizar pois encobriria a figura de fundo.

Minha idéia é simples: Fazer um programa rodando em 2º plano, que ao iniciar captura as posições dos ícones e a cada 5 segs verifica se são as mesmas, caso contrário os recoloca nas posições que diagramei.

Sei que é possível pois uma vez vi um programa que qdo se passava o mouse por sobre o ícone, ele o mudava de posição. Só de sacanagem.

Agradeço a atenção


Casetek

Casetek

Responder

Posts

01/07/2004

Nildo

Voce tem que usar as APIs:

[b:20ee72b644]ListView_GetItemPosition[/b:20ee72b644] para pegar a posição
[b:20ee72b644]ListView_SetItemPosition[/b:20ee72b644] para setar a posição

De uma olhada no Help para as demais funções que você pode usar em ListViews (que no caso, o Desktop, aqueles ícones fazem parte dum ListView), no caso seria para pegar a quantidade de icones, etc. Então na propriedade Handle você deve passar o Handle do ListView do desktop. A seguinte função retorna o Handle dele:

FindWindowEx( FindWindowEX( FindWindow( ´Progman´, nil ), 0, ´SHELLDLL_DefView´, nil), 0, ´SysListView32´, nil )


Espero tê-lo ajudado!


Responder

Gostei + 0

01/07/2004

Casetek

Caro Nildo,

Entendi como funciona, a questão é que a propriedade Handle de um objeto TListView é de somente leitura.

Como faço a atribuição?


Responder

Gostei + 0

01/07/2004

Nildo

Você não faz atribuição nenhuma. Se você ver o primeiro parametro da função [b:45b7e847b6]ListView_GetItemPosition[/b:45b7e847b6] é um Handle que você deve colocar. Aquele código que eu te dei retorna no Handle do ListView do Desktop, quer dizer que todo aquele bloco deve ser o primeiro parametro da função.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar