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

Mudar resolução e Minimimizar outro aplicativo


Francis carlos

Pergunta

queria uma ajuda para minimizar e mudar resolução para 800*600 do outro aplicativo

estou tentando com esse code..

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Registry,TypInfo;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
  procedure WMHotkey(var Msg: TWMHotkey); message WM_HOTKEY;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

const
  sw : longint = 800;
  sh : longint = 600;

procedure TForm1.WMHotkey(var Msg: TWMHotkey);
var
HandleJan: THandle;
i , w : integer;
begin
w := width; // automatico ou pode usar a constante sh
  Scaled := true;
  if (Screen.width <> sw) then
     Scaleby(screen.width,sw);
  for i := ComponentCount-1 downto 0 do
     with Components[i] do
       begin
         if GetPropInfo(ClassInfo, 'Font') <> nil then
           Font.Size := (width div w) * font.Size;

handleJan := FindWindow('Notepad', nil);
if HandleJan <> 0 then
SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;
end;


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  if not RegisterHotkey(Handle,1,0,VK_F11) then
    ShowMessage('Erro ao programar F11');

  if not RegisterHotkey(Handle, 2, MOD_CONTROL or MOD_ALT, VK_F12) then
    ShowMessage('Erro ao programar Ctrl+Alt+F12');
end;



procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotkey(Handle, 1);
  UnRegisterHotkey(Handle, 2);
end;




procedure TForm1.Button1Click(Sender: TObject); 
var
HandleJan: THandle;
Registry: TRegistry;
begin
handleJan := FindWindow('Notepad', nil);
if HandleJan <> 0 then
SendMessage(HandleJan, WM_SYSCOMMAND, SC_Restore, 0);
end;


end.

ele minimiza outro aplicativo mas não muda a resolução do outro aplicativo e sim o meu :(

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

de maneira simples seria isso, mas voce pode tentar outras opções

procedure TForm1.Button1Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      //ShowWindow(handlejan,HIDE_WINDOW); // Esconde
      SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE,0);

end;


procedure TForm1.Button2Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      ShowWindow(handlejan,SHOW_OPENWINDOW); //Mostra novamente
      //ShowWindow(handlejan,SHOW_FULLSCREEN); //Preenche toda a tela
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
de maneira simples seria isso, mas voce pode tentar outras opções

procedure TForm1.Button1Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      //ShowWindow(handlejan,HIDE_WINDOW); // Esconde
      SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE,0);

end;


procedure TForm1.Button2Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      ShowWindow(handlejan,SHOW_OPENWINDOW); //Mostra novamente
      //ShowWindow(handlejan,SHOW_FULLSCREEN); //Preenche toda a tela
end;

abraço

sim mas que eu realmente quero e por resolução nesse outro aplicativo que é um jogo

quando ele ta em full resolução essa função aii não minimiza

ex: handleJan := FindWindow('MU', nil); << resolução 800*600 minimize

Link para o comentário
Compartilhar em outros sites

  • 0

seria isso

procedure TForm1.Button3Click(Sender: TObject);
var
   DevMode : TDevMode;
   sDispMode: TDevMode;
begin
   // MUDAR RESOLUÇÃO DA TELA PARA 800 X 600
   EnumDisplaySettings(Nil,0,sDispMode);
   sDispMode.dmPelsWidth := 800;
   sDispMode.dmPelsHeight := 600;
   sDispMode.dmBitsPerPel := 32;
   sDispMode.dmFields := DM_PELSWIDTH+DM_PELSHEIGHT+DM_BITSPERPEL;
   if ChangeDisplaySettings(sDispMode,0) = DISP_CHANGE_SUCCESSFUL then
      ShowMessage('Alterada a resolução!')
   else
      ShowMessage('Resolução não suportada!');
end; 

end;

procedure TForm1.Button1Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      //ShowWindow(handlejan,HIDE_WINDOW); // Esconde
      SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE,0);

end;


procedure TForm1.Button2Click(Sender: TObject);
var HandleJan: THandle;
begin
   handleJan := FindWindow('Notepad', nil);
   if HandleJan <> 0 then
      ShowWindow(handlejan,SHOW_OPENWINDOW); //Mostra novamente
      //ShowWindow(handlejan,SHOW_FULLSCREEN); //Preenche toda a tela
end;

modifique para o seu uso

abraço

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...