Evitar que o programa DOS seja fechado

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Malígno!

Dá prá usar esse recurso sem precisar compilar a lib junto do sistema, usar por fora?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

Dá. É só montar um EXE à parte ou então usar o WAPI.EXE (leia o fonte WAPI.C para saber como usar os switches). Mas não creio que seja vantagem.
[]'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!
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 »

Eu acho que o Clodoaldo quiz dizer utilizar essa função sem precisar compilar. Eu diria que é perfeitamente possível e até mesmo mais simples e prático, principalmente quando acontece algum erro de compilação. Não que esses erros não possam ser solucionados.

Faça um arquivo .BAT para chamar a sua aplicação, só que antes coloque o WAPI.EXE com tal comando antes de chamar a sua aplicação, assim:

Código: Selecionar todos

@ECHO OFF
WAPI -SETBUTTONX:OFF
rem WAPI -SETBUTTONX:DEL ou assim se deseja fechar a sessão logo a seguir. SETUP
Obs.: A opção DEL remove definitivamente o "x" da sessão e não deixa recuperá-lo novamente. Mas essa é uma opção muito válida, se de fato você irá executar algum procedimento e fechar imediatamente a sessão.

Bem simples e prático de utilizar o WAPI.EXE diretamente na linha de comando.
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

Mensagem por Maligno »

Eu acho que o Clodoaldo quiz dizer utilizar essa função sem precisar compilar.
Mas foi isso o que eu quis dizer: usar o WAPI.EXE diretamente. Mas ainda não acho vantagem.
[]'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!
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 »

Por quê, Maligno ?
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

Mensagem por Maligno »

A biblioteca de abstração existe justamente pra facilitar tanto a execução como o tratamento de um eventual retorno. Pra quê sofrer à toa? E pior: pra quê correr o risco de passar um parâmetro errado ou esquecer de incluir uma vírgula ou um parâmetro obrigatório? :)
[]'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!
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 »

Ahh mas isso é outra questão. Eu me referia a utilização pela linha de comando, utilizando um arquivo .BAT
pra quê correr o risco de passar um parâmetro errado
Neste caso o programador se errar... simplesmente não irá funcionar. Acho que ninguém iria apresentar algo, sem testar, não acha ?

Mas retornando a minha questão, eu acho que é perfeitamente possível o uso do WAPI.EXE do que a WAPI.LIB tratando-se de certos casos, é claro.
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

Mensagem por Maligno »

Neste caso o programador se errar... simplesmente não irá funcionar. Acho que ninguém iria apresentar algo, sem testar, não acha ?
Claro. Mas se na biblioteca já está tudo testado, não vejo motivo que justifique testar de novo usando pela linha de comando. :)
Mas retornando a minha questão, eu acho que é perfeitamente possível o uso do WAPI.EXE do que a WAPI.LIB tratando-se de certos casos, é claro.
Em que caso, pela linha de comando, fica mais fácil, prático ou rápido?
[]'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!
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 »

Em que caso, pela linha de comando, fica mais fácil, prático ou rápido?
Nesta por exemplo. Na indicação que eu fiz para o Clodoaldo, por exemplo.
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

clodoaldomonteiro escreveu:Malígno!

Dá prá usar esse recurso sem precisar compilar a lib junto do sistema, usar por fora?
Vc por acaso quer usar no xharbour ? se sim, pode compilar a rotina em C da Wapi para fazer isso.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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 »

Pablo César escreveu:
Em que caso, pela linha de comando, fica mais fácil, prático ou rápido?
Nesta por exemplo. Na indicação que eu fiz para o Clodoaldo, por exemplo.
E por quê neste caso específico fica mais fácil, se com a WAPI.LIB você apenas executa uma simples função com um argumento? Executar diretamente o WAPI.EXE é bem mais trabalhoso. Acho realmente uma perda de tempo. Fazendo assim, você dispensa o que há de melhor numa biblioteca de abstração: comodidade e tempo.
[]'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!
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 »

sygecom escreveu:Vc por acaso quer usar no xharbour ? se sim, pode compilar a rotina em C da Wapi para fazer isso.
Desde que se faça a devida adaptação para a interface do XHarbour.
[]'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!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno escreveu:
sygecom escreveu:Vc por acaso quer usar no xharbour ? se sim, pode compilar a rotina em C da Wapi para fazer isso.
Desde que se faça a devida adaptação para a interface do XHarbour.
Simples, abaixo uns exemplos da WAPI.

Código: Selecionar todos

#pragma BEGINDUMP

#include "windows.h"
#include "shlobj.h"
#include "hbapi.h"
#include "math.h"
#include "hbvm.h"
#include "hbstack.h"
#include "hbapiitm.h"
#include "hbapigt.h"

HB_FUNC ( SHOWTASKBAR )      //Habilita o botao INICIAR
{
  HWND hWnd = FindWindow("Shell_TrayWnd", "");

  ShowWindow( hWnd, 1 );
}

HB_FUNC ( HIDETASKBAR )     //Desabilita o botao Iniciar
{
  HWND hWnd = FindWindow("Shell_TrayWnd", "");
  ShowWindow( hWnd, 0 );
}

HB_FUNC ( PISCA_EXE )      // VAI PISCAR O SEU EXE NA BARRA
{
    HWND  Handle = GetForegroundWindow();
    FlashWindow(Handle,TRUE); // VAI PISCAR O SEU EXE NA BARRA
    Sleep(300);    // TEMPO DE ESPERA
}

HB_FUNC ( TIRA_X )        // DESABILITA O X da janela
{
    HMENU MenuH = GetSystemMenu(GetForegroundWindow(),FALSE);
    EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}
#pragma ENDDUMP
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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 »

Sim, eu sei. É isso mesmo: bem simples mesmo.
[]'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 »

E eu? :(
É que eu havia perguntado uma coisa lá atrás.
Alguém pode me ajudar ? :%
Responder