WAPI v1.05 - Funções da API do Windows
Moderador: Moderadores
De qual questionamento você está falando?
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Bem, não posso dizer que não tive nenhuma resposta, embora não tenha atendido a essa questão sobre o conteúdo DIB o querido colega Rochinha fez uma menção muito importante que era a razão principal daquele tópico de acionar/detectar a tecla PRTSCRN, que por instrução da Microsoft não é possível.
O meu questionamento foi lançado neste tópico: https://pctoledo.org/forum/viewto ... 6559#36559 e consequentemente deste: https://pctoledo.org/forum/viewto ... 6729#36729
Mas é claro que não culpo a ninguém, pois isto é liguagem C e a minha intenção era confirmar tal teoria.
O meu questionamento foi lançado neste tópico: https://pctoledo.org/forum/viewto ... 6559#36559 e consequentemente deste: https://pctoledo.org/forum/viewto ... 6729#36729
Mas é claro que não culpo a ninguém, pois isto é liguagem C e a minha intenção era confirmar tal teoria.
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.
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.
Ah, sim. Agora que entendi. Tinha vista. Meio por cima, mas tinha visto. E a resposta, com 99% de certeza, é sim: dá pra diferenciar DIB de texto. Por isso comentei sobre o "efeito colateral". Mas só não sei dizer se o comportamente será padrão para todas as versões do Windows. É a razão de faltar 1%. 
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ahhh fico muito aliviado e contente em saber. Então podemos dizer que básicamente todas as probabilidades levam a dizer que você irá conseguir compor essa lógica para criar uma nova função no WAPI que retorne se a aplicação é modo JANELA ou TELA-CHEIA e ao mesmo tempo isto servirá para poder capturar a tela e pôr na área de transferência pelo WAPI.Maligno escreveu:E a resposta, com 99% de certeza, é sim
Pelo que ví assim por cima... ví que o enquadramento do conteúdo do Clipboard serve tanto para WIN95 e NT versions (é mencionado como comentário nos fontes, está no PNDLG.CPP). Tomara seja assim embora esse aplicativo tenho utilizado em WIN98 e funcionou perfeitamente.
Obrigado colega, por responder. Essa questão tem um valor muito estimável.
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.
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.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
É facil, comece abrindo um topico novo na sessão do xharbour para nos poder lhe auxiliar melhor.asimoes escreveu:Sygecom,
Eu queria passar um sistema pequeno meu para xharbour, é complicado?
Existe ALGUM tutorial FÁCIL para migrar?
O que é preciso?
Editado pela última vez por sygecom em 08 Nov 2007 16:10, em um total de 2 vezes.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Falando nesse programa, o que é aquele outro tal de HARDCOPY sobre o qual você comentou noutra mensagem?Pablo César escreveu:aquele aplicativo PRINTNOW
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Foi apresentado outro aplicativo pelo "asimoes" que faz o mesmo e mais alguns outros recursos como: grava em disco, envia por email, insirir imagem direto no Word/Excel, editar conteúdo, etc... veja no link abaixo para download:
http://www.hardcopy.de/hardcopy/english/
Mas este aplicativo não traz consigo os códigos-fontes (é claro). A diferença deste aplicativo com o PRINTNOW, é que o PRINTNOW não precisa ficar residente é só executar (e para mim isso é uma vantagem).
http://www.hardcopy.de/hardcopy/english/
Mas este aplicativo não traz consigo os códigos-fontes (é claro). A diferença deste aplicativo com o PRINTNOW, é que o PRINTNOW não precisa ficar residente é só executar (e para mim isso é uma vantagem).
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.
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.
Mesmo não tendo disponíveis os códigos fontes, ainda é uma fonte de inspiração. Já ajuda. 
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Desculpa mais uma vez Andril eu me intrometer no assunto. Mas por favor me confirme a seguinte postura: se Maligno conseguir resolver a velha questão de saber se a sessão em que o aplicativo-Clipper estiver em modo JANELADA ou TELA-CHEIA. E com isso nós possamos dar uma mensagem ou atém mesmo quem sabe reproduzir as teclas combinas ALT-ENTER (para alternar de modo) ja não seria o suficiente sem ter que arriscar a reprodução de um ENTER que até isto poderia significar a confirmação de alguma situação no sistema-Clipper ?.
Creio que o Maligno anda muito perto de conseguir e será um grande triunfo, porque com essa outra função você em modo janelado SEMPRE conseguirá retornar ao focus da sua sessão principal. Não acha Andril ?
Creio que o Maligno anda muito perto de conseguir e será um grande triunfo, porque com essa outra função você em modo janelado SEMPRE conseguirá retornar ao focus da sua sessão principal. Não acha Andril ?
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Você estava com dificuldades para o retorno da aplicação após executar a função WINDOW2TOP da WAPI quando a sessão em modo TELA-CHEIA (ou FULLSCREEN, como queira chamar), isto em WIN98 somente e então eu sugerí a utilização do aplicativo Z.COM, você a usou como recomendei ?. Pois estou seguro que você resolveria por enquanto a sua questão.
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.
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.
O tal Z.COM não tem fontes. Vou ter que desmontar.
[]'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!
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!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Lembre que este só funciona bem em WIN98 não em WINXP.
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.
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.
Pablo, entendo a sua linha de raciocinio. O meu problema nao esta só no fato de ser JANELADO ou TELA-CHEIA, mais sim o FOCO da janela. Quando o sistema esta em janela a funcao WINDOWN2TOP() retorna a janela corretamente, só que a questão tambem se aplica nos clientes que nao querem utilizar o sistema em modo janelado por motivos deles (eles sempre inventam algo).
Entao se uso a TELA CHEIA e chamo um aplicativo externo, exemplo WORDPAD ele abre e fica com o FOCO e meu sistema MINIMIZADO. Se eu mando ele imprimir diretamente (sem exibir o documento) ele devolve o focO ao sistema ( só que nao volta a ficar em TELA-CHEIA ) necessitando teclar ENTER.
Bom para encurtar, espero que o Maligno tenha exito em uma das duas hipoteses (ou quem sabe nas duas).
Ate+
Entao se uso a TELA CHEIA e chamo um aplicativo externo, exemplo WORDPAD ele abre e fica com o FOCO e meu sistema MINIMIZADO. Se eu mando ele imprimir diretamente (sem exibir o documento) ele devolve o focO ao sistema ( só que nao volta a ficar em TELA-CHEIA ) necessitando teclar ENTER.
Bom para encurtar, espero que o Maligno tenha exito em uma das duas hipoteses (ou quem sabe nas duas).
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Detecta modo da sessão só no WIN98
Acho que não entendeu ainda. Se você ler o link onde menciono cómo fazer a detecção de que modo está a janela ( A este tópico me refiro, clique aqui ), você verá que o objetivo é saber:ANDRIL escreveu:Pablo, entendo a sua linha de raciocinio. O meu problema nao esta só no fato de ser JANELADO ou TELA-CHEIA, mais sim o FOCO da janela.
1. Se seu sistema está sendo executado em WIN98. Se for, OK sigamos enfrente, caso contrário não há necessidade de verificar o próximo passo (que é ver se está em modo JANELADO ou TELA-CHEIA), porque no WINXP o WINDO2TOP funciona SEMPRE.
2. Antes de chamar a aplicação GUI (seja qual for: NOTEPAD, WINWORD, etc.), você deve verificar se a sessão está em modo JANELADO, a fim de que possa retornar a sessão principal após execução do aplicativo GUI. E para isso você deve fazer aquela função que utiliza o Z.COM. Daí se a sessão estiver em modo TELA-CHEIA (entendo que muitos gostam de usar assim), então você faz um DO WHILE onde dará uma mensagem na tela dizendo que deve pressionar a teclas ALT-ENTER para mudar para o modo janelado, após essa mensagem verifique em looping o modo da sessão novamente através do Z.COM, no site do nosso colega Wagner. Em sintese: não permita ir pra frente se o usuário não mudar a tela para o modo JANELADO, isto é se não utilizar as teclas ALT ENTER.
4. Verifique o HANDLE da sessão chamadora para depois restaurar-la
5. Execute normalmente sua aplicação GUI como sempre o fez. Meu conselho é utiliza o START /W
6. Após execução do aplicativo GUI, retornará à sessão chamadora (naturtalmente, mas pode forçar com a função WINDOW2TOP para garantir).
7. Depois disso, se quiser pode dar a mensagem pro usuário dizendo que pode retornar a TELA-CHEIA como estava antes.
Entao se uso a TELA CHEIA e chamo um aplicativo externo, exemplo WORDPAD ele abre e fica com o FOCO e meu sistema MINIMIZADO. Se eu mando ele imprimir diretamente (sem exibir o documento)
Você diz que devolve foco, mas na verdade nessa condição o focus não se estabeleceu, senão estaria retornando a aplicação e não teria esse problema. Mas isso só é necessário tão somente e apenas nessa condição (WIN98+MODO TELA-CHEIA) no resto ele funciona e se o Maligno fizer um ENTER a mais nas outras condições poderá interferir no seu aplicativo porque o focus se estabeleceu.ANDRIL escreveu:ele devolve o focO ao sistema ( só que nao volta a ficar em TELA-CHEIA ) necessitando teclar ENTER.
Essa questão do modo JANELADO em WIN98 e creio que em 95 também, após executar um aplicativo GUI a sessão principal fica minimizado mesmo. E o Maligno ja disse que não tinha solução para isso.
Espero que agora você tenha entendido. Qualquer coisa é só perguntar, Andril.
Veja o exemplo em looping que verifica o modo e não sai até atender ao modo da tela em que se deseja:
Fiz um aplcativo que verifica o modo (VERMODO.PRG)
Código: Selecionar todos
PARAMETERS VMODO
IF VMODO=NIL
VMODO="0" // Recebo como parâmetro e é quando quero que fique em modo JANELADO
ELSE
VMODO=STR(VAL(VMODO),1,0)
ENDIF
DO CASE
CASE "95" $ VER_WIN
VRODA:="Z -F > C:MODO.TXT"
CASE "98" $ VER_WIN
VRODA:="Z -F > C:MODO.TXT"
OTHERWISE
VRODA:=""
ENDCASE
DO WHILE .T.
IF !EMPTY(VRODA)
SWPRUNCMD(VRODA)
RESTSCREEN( 00,00,24,80,TELA_PRI )
SETPOS(00,00)
ENDIF
IF FILE("C:MODO.TXT")
VTXT:=MEMOREAD("C:MODO.TXT")
IF "it's windowed mode." $ VTXT
IF VMODO="0"
EXIT
ELSE
IF ALERTAR(" necess rio alternar o modo de exibi‡„o da tela.;;Pressione as teclas <Alt><Enter> simultaneamente.;;Isto ir deixar o modo de exibi‡„o em TELA INTEIRA.",{"Ok","Desconsiderar"},2)=2
EXIT
ENDIF
ENDIF
ELSE
IF VMODO="0"
IF ALERTAR("É necessário alternar o modo de exibição da tela.;;Pressione as teclas <Alt><Enter> simultaneamente.;;Isto ir deixar a exibição da tela em modo JANELADO.",{"Ok","Desconsiderar"},2)=2
EXIT
ENDIF
ELSE
EXIT
ENDIF
ENDIF
DELETE FILE("C:MODO.TXT")
ELSE
EXIT
ENDIF
ENDDO
RETURN NILUm 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.
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.

