Ir para conteúdo
Fórum Script Brasil
  • 0

Minimizar Tudo


AlexBEE

Pergunta

Ola a todos

Eu estou fazendo uma aplicação de Bloqueio de Maquina, e gostaria de saber se tem como MINIMIZAR dodas as Janelas Aberta de outros programa quando travar.

Tipo eu queri fazer algo parecido com "Mostrar a Area de Trabalho" la no Win XP!!!!!!

Tipo na hora de TRAVAR se tiver por EX o Word, Internet Explorer, pastas abertas, etc eu gostaria que todas fosem MINIMIZADA para a Barra de Tarefas!!!!!

Se algem puder me ajudar!!!!!!!!!

OBRIGADO

ALEXANGELO

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Você pode utilizar a função CloseWindow da API Win32 para minimizar uma janela passando seu handle. Ou seja, você teria que obter os handles de todas as janelas (o que acredito que possa ser feito com a função EnumWindows) e minimizar cada uma delas.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Declare a seguinte rotina no seu form:

function EnumWindowsProc(wHandle: HWND; lParam: LPARAM): Bool; stdcall; export;
begin
  Result := True;
  if IsWindowVisible(wHandle) then
     CloseWindow(wHandle);
  end;
end;
E coloque o seguinte para ser executado no evento OnClick de um botão:
EnumWindows(@EnumWindowsProc, 0);

Execute o programa e clique no botão.

Certo? wink.gif

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
ola

ele deu um erro que eu não soube resolver

"[Error] Minimiza.pas(42): Incompatible types: 'Integer' and 'PWindowPlacement'"

como eu faço para resolver esse erro de compatibilidade????

Você vai precisar passar um objeto PWindowPlacement para esta função. Você experimentou dar uma pesquisada (no Google, por exemplo) sobre como utilizar ela? Dê uma procurada e você com certeza encontrará exemplos.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpem me intrometer, verifique se isto serve para vc:

function EnumWindowsProc(Handle :HWND; Param :LPARAM): BOOL; stdcall; export;
begin
  if IsWindowVisible(Handle) then
    if Param = 0 then
      SendMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0)
    else
      SendMessage(Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
  Result := BOOL(TRUE);
end;
Chame EnumWindows com 0 (Zero) para minimizar e com outro valor para restaurar as janelas.
EnumWindows(@EnumWindowsProc, 0);

Tipo quando eu minimizo eu não consigo Restaurar novamente, so consigo quando eu fecho o programa!!!!!!!!!

Usando SendMessage, não haverá problema ao restaurar as janelas

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...