Lib Wapi

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Lib Wapi

Mensagem por Mário Isa »

A função:
getappsinfo()
me retorna uma matriz com todas as aplicações que estão rodando inclusive seus handle()

Mas se eu tiver iniciado uma aplicação assim:

START /B cmd /c executavel.exe

Com este comando uma janela não será criada porém a aplicação rodará. (a opção /B) do Start faz isso.

Tem como eu saber no handle dela ?

Mário
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Puxa.. essa é boa Mario ! Eu nunca usei com parâmetro /B e não sei se em WIN98 tem esse mesmo parâmetro... Para quê seria esse tipo de execução ?.

Não abrindo outra sessão, fica dificil de saber se está ou qual aplicativo está sendo executado (quem sabe demostre o START em lugar do executavel.exe), mas quem poderá responder a esta questão é o Maligno... esperemos pra ver o quê ele diz...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Lib Wapi

Mensagem por Maligno »

Mário Isa escreveu:A função getappsinfo() me retorna uma matriz com todas as aplicações que estão rodando inclusive seus handle()

Mas se eu tiver iniciado uma aplicação assim:

START /B cmd /c executavel.exe

Com este comando uma janela não será criada porém a aplicação rodará. (a opção /B) do Start faz isso.
A função GetAppsInfo() foi feita para listar os handles dos processos contidos na lista Z do Windows (a lista do Alt+TAB - o task switcher). Se o processo não possui uma janela nesta lista Z, seu handle não será incluído. Apesar de quê, em alguns casos especiais, a função também também inclui os handles de outras janelas especiais, como por exemplo, o "gerenciador de programas" do Windows.

De qualquer forma, se o processo sendo disparado requerer a criação de uma janela, não adianta nada incluir o switch /B. A janela será mostrada assim mesmo. A não ser, claro, que esta janela seja minimizada para o tray. Aí seu handle será omitido da lista.
Tem como eu saber no handle dela ?
Claro. Mas aí a função teria que ser totalmente refeita para recuperar os handles de todos os processos em execução, de forma semelhante ao que o Task Manager do XP faz. Mas isso não está nos planos. Pelo menos por enquanto. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

Então deixa eu explicar para quê seria tal coisa:

Criei um programinha que baixa (download) de meu servidor ftp.
A chamada da função é mais ou menos assim:

comanda:= "ftp -s:algo.txt > log.txt
!comanda

onde:
algo.txt é um arquivo com instruções ftp com comandos como mdir, mput, mdelete e etc.....
log.txt é só para demonstrar se der certo o comando.

Ocorre que, em alguns casos o processo se atravanca e nem o servidor ftp responde nada nem o windows pára o programa. E assim o negócio fica lá num loop sem fim.

Fazendo da forma que falei eu:
1) escondo a janela para que o operador não veja o que está ocorrendo.
2) Enquando a janela oculta roda, no meu prog principal conto até, digamos 15 segundos e se não der certo, com o numero handle, destruo (fecho incondicionalmente) a janela em execução com uma das funções da WAPI.

Mário
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Entendi. Mas se for só pra baixar alguma coisa, a WAPI tem função pra isso. Acabei de baixar um ZIP de 20MB por esta função. Não é por FTP, mas HTTP. Os comandos FTP (a maioria dos mais úteis) estão para serem feitos.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder