Fórum Ícones Desktop #240730
01/07/2004
0
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
Curtir tópico
+ 0Posts
01/07/2004
Nildo
[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!
Gostei + 0
01/07/2004
Casetek
Entendi como funciona, a questão é que a propriedade Handle de um objeto TListView é de somente leitura.
Como faço a atribuição?
Gostei + 0
01/07/2004
Nildo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)