Página 48 de 51
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 01 Jan 2010 23:46
por Hermeto
Caro Maligon, utilizado a funcao dloadfile adaptada para envio de sms pelo clipper, verificamos que as mensagens enviadas sempre vao em letras minusculas. Acho que deve ser em virtude de quando foi criada esta funcao, o acesso por http era limitado a letras minusculas, e Vc deve ter incluso a rotina/funcao (lower) de passar o texto/parametro em minusculo.
Pergunta: Existe alguma possibilidade de deixar o texto (linha de chamada http) original?
Utilizamos da seguinte forma:
//
ctxtsms:=[Teste de Envio de SMS com letras MAISCULAS e /ou Minusculas]
csmsret:[]
clink:=[
http://www.fastsms.com.br/sms.cfm?id=SE ... 8599850360]+[&texto=]+ctxtsms
if dloadfile(clink,@csmsret)
end
//
A mensagem (SMS) é enviada com sucesso, mas chega no destinatario da seguinte forma:
[teste de envio de sms com letras maisculas e /ou minusculas]
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 02 Jan 2010 13:08
por Maligno
Sim. Para facilitar a análise da linha de endereço, havia uma chamada à função
strlwr(), que forçava toda a linha para caixa baixa. Mas em virtude do seu problema, mudei o código para preservar a caixa de tudo o que vem depois de "HTTP://". É só baixar novamente o mesmo pacote:
wapi_v1.03.zip.
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 03 Jan 2010 09:51
por Hermeto
Maligno, realmente não tinha nome melhor pra Vc. :-Y
Você é o CARA! :{
MUITO OBRIGADO! :)Pos
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 02 Fev 2010 10:01
por Hermeto
Maligno,
Estamos utilizando a rotina SETWINCLIP da seguinte forma:
CCPF:=C17CPF
SETWINCLIP(CCPF)
Utilizamos o Windows XP e Windows Vista.
Para alguns computadores com o Windows XP funciona e para outros não.
Você poderia nos auxiliar para resolver o problema, pois alguns computadores funcionam e outros não.
Para Você ter uma idéia, este Micro que não funciona, a configuracao básica dele é Corel 2 Duo, 4gb de memória
WAPI v1.03 - Funções da API do Windows
Enviado: 03 Fev 2010 08:39
por Pablo César
Hermeto quando você menciona que fez:
CCPF:=C17CPF
SETWINCLIP(CCPF)
Você quis dizer CCPF:=
"C17CPF
" (entre aspas) pois esta variável deveria ser do tipo caracter. Nesses PC que não funciona o SETWINCLIP, você fez algum teste de colocar na área de transferênciade forma manual (Ctrl-C e Ctrl-V) ? Mas atenção, apenas texto. Se não meengano tem no Windows uma opção para desabilitar a utilização da área de transferência (Desativar Clipboard), eu lí algosobre isso em (mas não tenho certeza se procede):
http://supportwiki.steampowered.com/pt/ ... Paged_Area
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 03 Fev 2010 10:54
por Hermeto
Pablo, a referência CCPF:=C17CPF é que C17CPF é um campo do BD tipo caractere, onde utilizamos para colocar o CPF do Cliente na área de transferência.
Fomos verificar o q Vc sugeriu, e fizemos um teste de CTR+V e CTR+C, e verificamos que está funcionando, inclusive quando utilizamos o mesmo comando da forma abaixo, FUNCIONA:
setwinclip( "%F:C:\TESTE.TXT")
sendo arquivo TESTE.TXT gerado pelo sistema com dados específicos.
Por via da dúvida, utilizamos no prompt do DOS o comando edit teste.prg e utilizamos o CTR+V e CTR+C e deu certo...
Temos o Sistema rodando em 15 micros, sendo 2 deles não dando certo... Se alguém tiver alguma DICA ou SUGESTÃO, Agradecemos.
WAPI v1.03 - Funções da API do Windows
Enviado: 03 Mar 2010 08:42
por Pablo César
Mensagem respondida atendendo ao tópico: viewtopic.php?f=1&t=10320&p=58784#p58784
ssflavio em outro tópico escreveu:Pablo fez uma referencia a biblioteca WAPI, inclusive me mandou a lib e o executavel.
Sim indiquei esta biblioteca, pois tem ajudado muito aos programadores em Clipper. Apesar que as tentativas que fiz no exemplo postado, a recuperação do foco não foi possível em todas as vezes.
ssflavio em outro tópico escreveu:Eu já tinha visto referencias a esta biblioteca, para saber se a janela está maximizada ou nao e para setar o foco em determinada janela.
Eu acho que o WAPI, não faz distinção se está maximizada ou não. Acho que o status da janela ou sessão, ainda está para ser resolvido. O Maligno ainda não encontrou uma forma de saber inclusive se a sessão está em modo janelado ou tela cheia. Essa detecção seria muito útil, mas ainda não existe.
ssflavio em outro tópico escreveu:Não entendi direito, primeiro rodo o WAPI.EXE e depois rodo a aplicacao que contem a biblioteca WAPI?
O WAPI.EXE é um utilitário feito em C++ com o propósito de incrementar recursos de APIs (por isso o nome WAPI, Windows API) aos programas em Clipper. Para isso o Maligno utilizou um recursos que ele mesmo inventou para que certas funções possam ser incrementadas à WAPI.LIB. E por isso o WAPI.EXE precisa estar junto com a aplicação porque dentro da LIB executa o WAPI.EXE (acho que é isso mesmo que faz, não é Maligno ?).
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 18 Mar 2010 19:35
por Maligno
Bom, eis minha primeira mensagem depois de longo período afastado.
Na verdade, o WAPI.EXE foi feito em C e não C++ (OOP). E sim, esse utilitário precisa realmente acompanhar o executável do usuário. Ele é o "cérebro" de tudo. A biblioteca WAPI.LIB traz apenas a
interface através da qual o acesso e a configuração do utilitário é muito facilitado. Daí minha recomendação de não utilizá-lo diretamente.
WAPI v1.03 - Funções da API do Windows
Enviado: 09 Abr 2010 16:47
por Pablo César
Oi Maligno, eis eu aqui novamente. Tenho 1 dúvida, 1 sugestão, 1 lembrete/referência e 1 possível solução para uma questão antiga. Para ser mais esclarecedor, irei por partes (como dizia o Jack Stripper)...
1. Minha dúvida: É possivel adicionar os itens de programas que estão carregados no tray system como resultado da função -GETAPPSINFO ?
2. Uma sugestão: Sendo possível, claro... colocar um segundo parâmetro na função -SETBUTTONX ? Este parâmetro, seria opcional, para atender o número do handle. Assim poderíamos desabilitar o botão do "x" que encerraria determinada sessão.
3. O meu lembrete que mais servirá de referência, é para rever sua possível implementação de função que disponibilize aplicativos no tray system. E de passo apresento um freeware que funciona mas tem suas limitações. O Trayconizer, disponível em duas versões (95/ME/98 e NT/2000/XP), tem como defeito não verificar antes de colocar no tray se tal aplicação ja existe na memória. E aproveito a ocasião para deixar registrado com o fim de prevenção desse erro na sua futura implementação.
4. A possível solução sobre a detecção do modo da sessão: tela-cheia ou janelada. Encontrei um aplicativo que lista quais são as janelas ou sessões que estão em execução (parecido com o GETAPPSINFO), trazendo 17 informações de cada sessão/aplicação em forma de colunas. Uma das colunas que me chamou atenção foi a "Location" no qual constam as seguintes variações:
1- Dois parametros separados por virgula entre parentese, assim: (0,738)
2- A palavra: "Maximized"
3- E a palavra: "Minimized"
Esta ultima descrição, acontece quando a janela está minimizada. Mas o que me chamou mesmo a atenção, foi quando alternei a minha sessão DOS que estava em modo janelado para a tela cheia. Daí mudava em forma imediata da opção 1 (numero entre parentese) e 3 "Minimized" e nunca para "Maximized". O link para baixar o aplicativo é:
http://www.nirsoft.net/utils/winlister.zip e seria bom analisar o que seria estes atributos. Possivelmente atarvés disso, podemos detectar o modo de exibição da sessão que ainda é um paradigma...
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 10 Abr 2010 18:17
por Maligno
irei por partes (como dizia o Jack Stripper)
Pensei que era "The Ripper". Ou ele fazia bico como GoGoBoy?

))
1) Detectar programas no
tray:
Vou ter que alterar a função (óbvio), mas ainda tenho que pesquisar a respeito. Mas a possibilidade é clara.
2) Um argumento adicional para o
handle de uma determinada janela:
Sim, é bem fácil.
3) Função para mandar aplicações para o
tray:
Demanda pesquisa, mas é possível.
4) Aquele velho problema de detectar o DOS está "
fullScreen" ou não:
Mantenho o mesmo pensamento de antes: compensa? Nos dias de hoje, mais do que antes, acredito que não. Mas enfim, baixei o programa e verifiquei que tanto minimizado quanto em modo
fullScreen, o programa devolve sempre o
status de "
minimized". Ou seja, ele também não detecta o modo, mas apenas supõe errôneamente que em modo
fullScreen o programa está minimizado. Não vai ajudar. E mesmo que ele fizesse certo, para descobrir o que ele fez, daria um trabalhão descobrir como ele fez. Apesar de ser um programa pequeno, engenharia reversa sempre dá um bom trabalho. E tempo,...
E tempo é o que está me faltando atualmente. Estou penando para terminar alguns projetos pessoais e me preparando para "sumir" por mais algum tempo (uns 60 dias, se tudo correr como previsto). Aí já viu. A coisa fica complicada. Mas, se serve de consolo, ao menos posso dizer que nada foi e nem será esquecido.

WAPI v1.03 - Funções da API do Windows
Enviado: 10 Abr 2010 19:28
por Pablo César
Pensei que era "The Ripper". Ou ele fazia bico como GoGoBoy?
KAKAKA eu errei mas ficou engraçado !
Não sei se vale a pena, é que ainda possuímos sistemas em Clipper e temos carinho pelo que fazemos até o momento de não pudermos rodar mais em novos SO...
Re: WAPI v1.03 - Funções da API do Windows
Enviado: 10 Abr 2010 19:41
por Maligno
KAKAKA eu errei mas ficou engraçado !
Mas de repente nem está de todo errado. Afinal, os
strippers também tiram suas peças por partes (me esforcei pra não dar por perdido seu erro, hein?).

))
Não sei se vale a pena, é que ainda possuímos sistemas em Clipper
Pessoalmente posso dizer que realmente não vale a pena coisa alguma dessa biblioteca, já que parei com Clipper de vez. Agora é só C++. No entanto, ratifico: não deixarei cair no esquecimento, até porque é C, o que me dá realmente muito prazer. É só mesmo a questão do tempo, como eu disse.
Vou aproveitar que a manhã de domingo sempre me dá uma preguiça desgraçada e vou tentar mexer em alguns dos ítens que você listou.

Re: WAPI v1.03 - Funções da API do Windows
Enviado: 13 Abr 2010 19:11
por Maligno
Curiosidade: qual a intenção em obter a lista dos ícones no tray?
WAPI v1.03 - Funções da API do Windows
Enviado: 13 Abr 2010 20:51
por Pablo César
Existe um aplicativo que coloca o LAN MESSENGER no tray system só que o aplicativo é meio burrinho porque tenta carregar duas vezes e dá erro, mas ficam dois icones iguais, parecendo ocupar a memória a toa. Daí antes de colocá-lo no tray iria verificar antes se ja não estava carregado. E também acontece que o usuário poderá encerrar a aplicação pelo "x" da janela e não ficar mais no tray. Por isso da necessidade de passar a enxergar os programas no tray. E por consequente obtendo o nHandle servirá para a outra função de inibir o "x" com -SETBUTTONX.
Aproveitando a ocasião, você viu o KEYSTUFF ? Talvez sirva de referência para a implementação do WAPI. Procurando na internet acabei achando outra matéria que interessaria ler sobre a questão do modo FULLSCREEN:
http://richardsbraindump.blogspot.com/2 ... on-is.html o código acho que é em .NET mas ja dá alguma idéia também para seu caso.
WAPI v1.04 - Funções da API do Windows
Enviado: 18 Abr 2010 13:09
por Maligno
Um novo pacote da biblioteca WAPI, agora em sua versão 1.04, está disponível, com algumas pequenas inclusões.
Como sempre, ele poderá ser baixado do diretório
público do meu site.
Além de uma pequena alteração na documentação, foi adicionada a capacidade de direcionar o foco da função "
SETBUTTONX" para determinada janela, informado o
handle desta. Também foram criadas duas novas funções: "
GETSYSTEMTRAYINFO", para obter dados dos ícones estacionados no
tray do sistema e,
GETVERSION", para obter a versão dos fontes do utilitário "wapi.exe". Eis a lista completa, já atualizada:
- DELETEREGISTRY
Apagamento de chaves do registro do Windows
- FLASH
Faz piscar o botão da janela na barra de tarefas
- GETAPPSINFO
Lista as aplicações atualmente sendo executadas
- GETCLIPBOARD
Lê o conteúdo do ClipBoard do Windows
- GETDEFPRINTER
Informa qual a impressora configurada como default
- GETHDINFO
Recupera algumas informações do HD da máquina
- GETMYHANDLE
Informa qual o número do "handle" da aplicação em foco
- GETPRINTERS
Lista todas as impressoras instaladas
- GETWAPIVERSION
Informa a versão dos fontes do utilitário WAPI.EXE
- GETSYSTEMINFO
Lista várias informações sobre o sistema
- GETSYSTEMTRAYINFO
Lista os ícones estacionados no "system tray"
- GETWINDOWSINFO
Lista várias informações sobre o Windows (versões)
- HIBERNATE
Coloca o Windows para hibernar
- KILLAPPLICATION
Provoca o encerramento incondicional de uma aplicação
- PLAYWAVE
Reproduz um som WAVE de arquivo ou de sistema
- POWEROFF
Desliga a máquina (shutDown)
- PRINT
Copia o conteúdo de um arquivo para o spooler
- READREGISTRY
Lê os conteúdos de chaves do registro do Windows
- REBOOT
Reinicia a máquina (restart)
- SCREENSAVER
Permite ler o estado atual do ScreenSaver ou mesmo reconfigurá-lo
- SETAPPTITLE
Modifica o título da aplicação na barra de título
- SETBUTTONX (Alteração)
Modifica o comportamento do botão "x" da barra de título da janela em foco
Incluída a opção de direcionar o alvo da ação para qualquer janela
- SETCLIPBOARD
Grava um determinado valor para o ClipBoard do Windows
- SETSTARTBUTTON
Habilita/desabilita ou esconde/mostra o botão iniciar
- SETTASKBUTTON
Esconde/mostra o botão da aplicação na barra de tarefas
- SUSPEND
Coloca o Windows em estado de suspensão
- URL2FILE
Acessa a internet por HTTP para download de arquivos
- WINDOW2TOP
Força uma aplicação a obter o foco do Windows
- WRITEREGISTRY
Cria/grava chaves no registro do Windows.
A lista acima descreve sucintamente os parâmetros disponíveis no utilitário WAPI.EXE. Sempre lembrando que a biblioteca WAPI tem um conjunto completo de funções de abstração não só pra facilitar o uso do utilitário, mas também para tornar seu uso mais seguro contra bugs. Para usá-la, aconselho uma leitura inicial do README.TXT que está no diretório LIB. Ele contém as descrições detalhadas de todas as funções.
Essa é a situação atual da
TODO list:
- Controle de volume do som
- Inclusão da informação do diretório "iniciar" na informação do sistema
- Execução do WAPI no modo residente (codinome RES)
- Bloqueio do teclado e mouse em nível global (requer RES)
- Cancelamento de execução de WAVs (requer RES)
- Execução de sons em lote (funcionalmente melhor com RES)
- Apagamento seguro de arquivos (wipe file)
- Execução de atalhos de teclado, próprios do windows (ex: Alt+Enter)
- Criação de links para execução de programas
- Funções de FTP: list, delete, upload, download, etc...
- Criação de um help no estilo NG (Norton Guides)
- Criação de um programa demo completo, com todas as opções disponíveis
- Remover a dependência das bibliotecas CATools e NanFor
Sugestões, críticas, reclamações, etc... serão sempre bem-vindos.
