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
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