Paulo Nobre Postado Novembro 25, 2006 Denunciar Share Postado Novembro 25, 2006 .... S:THandle ..... S := FindWindow(nil, 'Semelhança de triângulos'); ...... If S>0 Then SendMessage(S,WM_CLOSE,0,0); Uso a idéia do código acima para fechar uma janela.Gostaria de saber o seguinte:1) O significado da variável nil do findexist, naquela posição.2) Quais seriam outros parâmetros que teria para o lugar ocupado por nil, com algum exemplo se possível?3) Quando se usa a função FindWindowsEx, e qual diferença para a anterior ,FindWindow?4) Na função SendMessage, o que significam os parâmetros (dois últimos)0,0?5) Quais outros valores poderiam ocupar o lugar deles, se possível com algum exemplo?Abusei? :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Novembro 25, 2006 Denunciar Share Postado Novembro 25, 2006 1) O significado da variável nil do findexist, naquela posição.FindWindow('Nome da Classe', 'Nome da Janela');Então como você está pegando o handle da janela pela classe, você não precisa estipular o nome da janela, e se coloca nil porque o tipo é PChar, se fosse String seria ''2) Quais seriam outros parâmetros que teria para o lugar ocupado por nil, com algum exemplo se possível?O nome da janela, exemploFindWindow('SciCalc', 'Calculadora');Não se faz diferenciação de maiúscula pra minúscula então FindWindow('sciCAlC', 'calculaDoRA') da na mesma.Normalmente não se coloca o nome da Janela, porque só se colocaria no caso de mais janelas ter a mesma classe, o que épouco provável, exemplo:Você tem um form que se chama Form1 e a classe seria TForm1, e o nome da Janela seria "Cadastro" e também você temem outra aplicação onde a mesma pode ser aberta junto com o programa, um outro form com a classe TForm1 mas o nomeda janela é Backup, ai sim teria que especificar o nome da janela...3) Quando se usa a função FindWindowsEx, e qual diferença para a anterior ,FindWindow?FindWindowEx se usa pra pegar janelas dentro de janelas (Child).exemplo pra pegar o handle do relógio do Windows...var TrayWnd, TrayNWnd, ClockWnd: HWND;begin TrayWnd := FindWindow('Shell_TrayWnd', nil); -> Barra do menu Iniciar TrayNWnd := FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil); -> Janela onde está o relógio e os ícones do lado dele ClockWnd := FindWindowEx(TrayNWnd, 0, 'TrayClockWClass', nil); -> Relógio4) Na função SendMessage, o que significam os parâmetros (dois últimos)0,0?Os dois últimos parâmetros são usados pra passar informações adicionais...5) Quais outros valores poderiam ocupar o lugar deles, se possível com algum exemplo?exemplo, você vai mandar uma mensagem ao seu aplicativoconstWM_MYMSG = WM_APP + 0588; -> Sua mensagemMINIMIZE = 10; -> AdicionalCLOSE = 11; -> AdicionalSendMessage(FindWindow('Seila', nil), WM_MYMSG, MINIMIZE, 0);ai quando você recebe no aplicativo, você pode fazer várias ações, conforme o valor de WParam e LParam exemploif Message.Msg = WM_MYMSG thencase Message.WParam ofMINIMIZE: Application.Minimize;CLOSE: Application.Close;end;rsr talvez não seja o melhor exemplo mais espero que de pra você entenderabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Novembro 25, 2006 Denunciar Share Postado Novembro 25, 2006 Só uma ressalva: FindWidow('Nome_da_Classe', 'Nome_da_Janela'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Novembro 25, 2006 Denunciar Share Postado Novembro 25, 2006 Só uma ressalva: FindWidow('Nome_da_Classe', 'Nome_da_Janela');srsr verdade s3c até corrigi lá emcima rs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Novembro 25, 2006 Autor Denunciar Share Postado Novembro 25, 2006 ...talvez não seja o melhor exemplo mais espero que de pra você entenderChurcDeu para entender sim!!Valeu e muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Nobre
Uso a idéia do código acima para fechar uma janela.
Gostaria de saber o seguinte:
1) O significado da variável nil do findexist, naquela posição.
2) Quais seriam outros parâmetros que teria para o lugar ocupado por nil, com algum exemplo se possível?
3) Quando se usa a função FindWindowsEx, e qual diferença para a anterior ,FindWindow?
4) Na função SendMessage, o que significam os parâmetros (dois últimos)0,0?
5) Quais outros valores poderiam ocupar o lugar deles, se possível com algum exemplo?
Abusei? :P
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.