Home › Tag Archives › Programação

Delphi: Como atualizar a área de trabalho programaticamente

Se você estiver experimentando novos ícones para a sua aplicação pode ser enganado pelo fato do Windows manter um cache com os ícones apresentados no desktop e assim os ícones nos atalhos podem permanecer os mesmos até pelo menos o Windows ser reiniciado.

Para forçar o Windows a recarregar todos os ícones, acrescente shlobj na seção USES do form e dê o seguinte comando:

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);

Você deverá notar o desktop “piscar”.

Testado com Delphi 7 e Windows 8.1 64 bits.

 

Delphi 7: Erro RLINK32 Out Of Memory ao tentar trocar um ícone

Abra o ícone que você está tentando inserir no Icon Workshop ou outro editor de ícones e verifique se uma ou mais das imagens (um arquivo .ICO pode conter várias) não está em um formato comprimido como “PNG Compressed”. Se estiver, desmarque a opção, salve e recarregue o ícone no Delphi. Isso é suportado pelo Windows Vista em diante mas o Delphi 7 não sabe como manipular.