Página 1 de 1

Imprimindo a CCe

Enviado: 02 Mar 2012 23:11
por marcos.gurupi
Caros, fiz a carta de correcao no meu sistema juntando varias informacoes aqui do forum (graças que existe este forum), testei aqui e funcionou que foi uma beleza. Acontece que uso o XP, quando instalei no cliente que usa o WIN7 ao usar o comando:

Código: Selecionar todos

oWord :=TOleAuto():New( "Word.Application" ) 
oDoc  :=oWord:Documents:Open( cFile ) 
oWord:Visible := .f. 
oWord:PrintOut()
O sistema trava, percebi entaum que fica uma janela atras do sistema pedindo para abrir o arquivo em modo somente leitura entaum se o usuario nao fechar o sistema (ctrl+alt+del) a carta de correcao nao eh aberta para impressao. Alguem saberia me dizer pq acontece isso?

Imprimindo a CCe

Enviado: 03 Mar 2012 23:28
por rochinha
Amiguinho,

Talvez resolva se voce desligar o UAC. Pesquise sobre o mesmo na ajuda do Windows.

Transcreva o código abaixo para uso com sua versão de Harbour e as funções de registro que ele possui. A função SetRegVar() é para uso com Fivewin, portanto use algo nativo.

Código: Selecionar todos

FUNCTION UAC(nAtivar)
   *****************************************************
   * Grava o registro do aplicativo 
   *****************************************************
   LOCAL cRunName, cRunKey, cRegKey
   // EnableLUA
   // 0-Desativar
   // 1-Ativar
   cRegValue:= nAtivar
   cRegKey  := "Software\Microsoft\Windows\CurrentVersion\Policies\System"
   cRegRoot := HKEY_LOCAL_MACHINE
   SETREGVAR( cRegRoot, cRegKey, "EnableLUA", cRegValue )
   RETURN 0
Para usar:

UAC(0) - Desativa UAC
UAC(1) - Ativa UAC

Imprimindo a CCe

Enviado: 06 Mar 2012 13:13
por HASA
:D
Boa tarde, Rocha tem alguma coisa assim para XP ?
Hasa
:-O

Imprimindo a CCe

Enviado: 06 Mar 2012 16:41
por rochinha
Amiguinho,

A chave em questão pode desativar também no XP. Testei no 2003 e visualizei as chaves, elas são alteradas. As chaves são padrão de XP e 2003

Apesar de ter testando no Vista, aquela porcaria peguntava até se eu tinha de responder a proxima pergunta.

Neste caso verifique se a opção passada surte efeito e tente esta aqui também:

Código: Selecionar todos

FUNCTION UACV(nAtivar)
   *****************************************************
   * Grava o registro do aplicativo 
   *****************************************************
   LOCAL cRunName, cRunKey, cRegKey
   // EnableLUA
   // 0-Desativar
   // 1-Ativar
   cRegValue:= nAtivar
   cRegKey  := "SOFTWARE\Microsoft\Security Center"
   cRegRoot := HKEY_LOCAL_MACHINE
   SETREGVAR( cRegRoot, cRegKey, "UACDisableNotify", cRegValue )
   RETURN 0

Imprimindo a CCe

Enviado: 06 Mar 2012 17:07
por HASA
:(

Não encontrei a funcção equivalente a SETREGVAR(), tentei hb_SETREGVAR() no xHarbour ?
Tens uma carta na manga ?
HASA

Imprimindo a CCe

Enviado: 06 Mar 2012 17:34
por rochinha
Amiguinho,

De uma olhada nos TESTS do Harbour e veja se o mesmo tem exemplos de manipulação de registro.

Veja se possui uma biblioteca chamada HBWin e verifique o funcionamento da função WIN32_REGSETVALUEEX().

A biblioteca HBWhat também possui uma função para este fim, VWN_REGSETVALUEEX()

Todas fazem uso de chamadas a uma função mais interna: RegSetValueEx() ou RegSetValueExA().

Código: Selecionar todos

HB_FUNC( VWN_REGSETVALUEEX )
{

   hb_retnl( RegSetValueExA( ( HKEY ) HB_PARWH( 1 ), hb_parcx( 2 ), 0, hb_parnl( 4 ), ( BYTE * const ) hb_parcx( 5 ), ( strlen( hb_parcx( 5 ) ) + 1 ) ) );

}
De Harbour para xHarbour ou de versão para versão os nomes de bibliotecas mudam portanto procure por um similar.

A minha função REGSETVAR() chama funções dentro de uma classe do Fivewin. Por isto informei que porcurassem uma função similar.

Imprimindo a CCe

Enviado: 06 Mar 2012 17:55
por HASA
:))
Beleza, Rocha eu tentei no xHarbour como hb_reg... mas vou dar uma geral nas demais lib´s, value mesmo,
:)Pos

Imprimindo a CCe

Enviado: 06 Mar 2012 19:47
por rochinha
Amiguinho,

No meu caso eu desligo o UAC em dois momentos:

- na instalação do sistema pois eu preciso adicionar e registrar DLLs
- no uso quando preciso registrar DLLs que provavelmente não foram registradas ainda.

Só não sei se o UAC poderá ser ligado e desligado a quente ou se será necessário reiniciar a maquina a cada modificação do seu estado.

Imprimindo a CCe

Enviado: 07 Mar 2012 09:25
por HASA
:-O
Beleza, o problema são os clientes em que o sistema já estava instalado e o mesmo está adicionando ( ou mudando o sistema para 7 ) na rede, eu não uso DLL´s, somente lib´s tento sempre que possivel utilizar dll´s pré-Instaladas, para não dizer que não instalo nada, o acbr instala quando da instalação do monitor da NF-e, e só essa, já tá bom demais ok, mesmo assim agradeço,
:-Y
HASA