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. :)