Clipper On Line • Ver Tópico - Gravar e Ler Registro do windows (regedit)

Gravar e Ler Registro do windows (regedit)

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 23 Mar 2015 19:35

Pessoal, como já migrei de clipper para harbour atráves da HMG, quero implementar algumas funções anti-pirataria q no meu antigo clipper não era possível.
Então, estou criando um aplicativo em DELPHI que gera uma licença temporária por 30 dias. Esse aplicativo cria 1 arquivo secreto, cria registros secretos no REGEDIT além de outras coisas.
Bom, mas no meu programa em harbour (ex clipper) quero amarrar todos os 3 procedimentos. Um deles é acessar o registro do windows.
Então, como faço uma rotina(função/procedure) que verifica no REGEDIT se existe os tais registros?
Traduzindo, preciso gravar(write) e ler (read) os registros do windows,lembrando que isso precisa estar dentro do meu aplicativo em clipper/harbour e não no delphi como já faço.
Alguém sabe resolver essa questão?
Grato, MICROVOLUTION!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 23 Mar 2015 20:30

Ola!
Harbour 3.2 ou 3.4
Exemplo do fork do Viktor.
#require "hbwin"

#define KEY_WOW64_64KEY  0x0100
#define KEY_WOW64_32KEY  0x0200

PROCEDURE Main()

   LOCAL tmp

   ? win_regWrite( "HKCU\_TEST\mydword", 0x11223344, WIN_REG_DWORD )
   ? hb_NumToHex( win_regRead( "HKCU\_TEST\mydword" ) )

   ? win_regWrite( "HKCU\_TEST\myqword", 0x1122334455667788, WIN_REG_QWORD )
   ? hb_NumToHex( win_regRead( "HKCU\_TEST\myqword" ) )

   Inkey( 0 )

   ? win_regDelete( "HKCU\_TEST\teszt" )
   ? win_regDelete( "HKCU\_TEST\" )

   ? ">" + win_GetCommandLineParam() + "<"
   ? ">" + wapi_GetCommandLine() + "<"

   /* old API */
   ? ">" + hb_ValToStr( win_regGet( WIN_HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper" ) ) + "<"

   /* new API */
   ? ">" + hb_ValToStr( win_regRead( "HKCU\Environment\PATH" ) ) + "<"
   ? ">" + hb_ValToStr( tmp := win_regRead( "HKCU\Control Panel\Desktop\Wallpaper" ) ) + "<"
   ? ">" + hb_ValToStr( win_regRead( "" ) ) + "<"

   ? win_regWrite( "HKCU\Control Panel\Desktop\Wallpaper", "harbour.bmp" )
   ? win_regRead( "HKCU\Control Panel\Desktop\Wallpaper" )

   Inkey( 0 )

   ? win_regWrite( "HKCU\Control Panel\Desktop\Wallpaper", tmp )

   ? win_regRead( "HKLM\SOFTWARE\7-Zip\Path" )
   IF hb_osIs64bit()
      ? win_regRead( "HKLM\SOFTWARE\7-Zip\Path",, KEY_WOW64_32KEY )
      ? win_regRead( "HKLM\SOFTWARE\7-Zip\Path",, KEY_WOW64_64KEY )
   ENDIF

   RETURN


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 23 Mar 2015 20:38

Mais outro que pode ser interessante.

/* Copyright 2014 Viktor Szakats (vszakats.net/harbour) */

#require "hbwin"

PROCEDURE Main()

   ? OS()
   ?

   ? "CurrentVersion", win_regRead( "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion" )
   ? "CurrentBuild",   win_regRead( "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuild" )
   ?

   ? "2000OrUpper" , win_osIs2000OrUpper()
   ? "WinXPOrUpper", win_osIsWinXPOrUpper()
   ? "VistaOrUpper", win_osIsVistaOrUpper()
   ?

   ? "2000"        , win_osIs2000()
   ? "XP"          , win_osIsXP()
   ? "2003"        , win_osIs2003()
   ? "Vista"       , win_osIsVista()
   ? "7"           , win_osIs7()
   ? "8"           , win_osIs8()
   ? "81"          , win_osIs81()
   ? "10"          , win_osIs10()
   ?

   ? "95"       , win_osIs95()
   ? "98"       , win_osIs98()
   ? "9x"       , win_osIs9x()
   ? "ME"       , win_osIsME()
   ? "NT"       , win_osIsNT()
   ? "NT351"    , win_osIsNT351()
   ? "NT4"      , win_osIsNT4()
   ? "TSClient" , win_osIsTSClient()
   ?

   ? hb_ValToExp( win_osVersionInfo() )

   RETURN


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 23 Mar 2015 22:36

Prezado professor Itamar, mais uma vez agradeço à resposta tão hábil.

Bom:
1- isso vai funcionar no HMG 3.0.35?
2- observo que tem um "requere" é isso mesmo? não deveria ser "include"?
grato!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 24 Mar 2015 00:15

HMG 3.0.35?

Você tem que saber, é qual versão do Harbour que a HMG 3.0.35 roda !

Conforme está indicando:
http://www.hmgforum.com/site/index.php?option=com_phocadownload&view=category&id=1:hmg-3.0&Itemid=2
HMG 3.0.35 (TEST)
File Name: hmg.3.0.35.exe
File Size: 24.73 MB
Date: 20. June 2010
Description:


Não pode usar uma mais novinha não ? (nem tanto assim)
HMG 3.0.46
File Name: HMG.3.0.46.exe
File Size: 38.91 MB
Date: 06. November 2012
Description:

- HMG 3.0.46 (Test) 2012/11/06
- Update to latest Harbour Nightly Build (18443 2012-11-05)


Olhando o Changelog:
2012-05-18 18:15 UTC+0300 Pavel Tsarenko (tpe2 at mail.ru)
  * contrib/hbwin/win_reg.prg
  * contrib/hbwin/tests/test_reg.prg
    * added nRegSam (access mask) parameter into functions: win_regRead,
      win_regWrite, win_regGet, win_regDelete, win_regQuery, win_regSet.
      This parameter can be used in win32 applications, running under
      win64 systems for access to 32-bit or 64-bit registry.
...
2009-02-04 00:29 UTC+0100 Viktor Szakats (vszakats.net/harbour)
  * contrib/hbwin/win_reg.prg
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/win_os.prg
  * contrib/hbwin/win_tprn.prg
  * contrib/hbwin/win_tprt.prg
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/tests/testreg.prg
  * contrib/hbwin/tests/testole.prg
    * Renaming hbwin lib functions to a common and bitwidth-neutral
      namespace, which is WIN_*():
      - W32_REGPATHSPLIT()            -> WIN_REGPATHSPLIT()
      - W32_REGREAD()                 -> WIN_REGREAD()
      - W32_REGWRITE()                -> WIN_REGWRITE()
      - WIN32_REGCREATEKEYEX()        -> WIN_REGCREATEKEYEX()
      - WIN32_REGOPENKEYEX()          -> WIN_REGOPENKEYEX()
      - WIN32_REGQUERYVALUEEX()       -> WIN_REGQUERYVALUEEX()
      - WIN32_REGSETVALUEEX()         -> WIN_REGSETVALUEEX()
      - WIN32_REGCLOSEKEY()           -> WIN_REGCLOSEKEY()


Respondendo, irá funcionar, mas teve esse ajuste em 2012.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 04 Mai 2015 12:49

Prezado Itamar e demais colegas professores, boa tarde!

Então, hoje é que finalmente consegui concluir uma outra alteração no meu aplicativo para que assim pudesse testar esses exemplos de manipulação do REGEDIT.

Bom, ou mau, não sei qual das opções, mas, infelizmente já no início apareceu a seguinte mensagem de erro:
"Error F0032 Invalid name folows #" se referindo ao comando:

REQUIRE "HBWIN"


já tente minúsculo e até mesmo eliminar a aspas e colocar a crase, como abaixo, mas nada de passar:
REQUIRE 'hbwin'


Alguém sabe a solução?
Grato,
MICROVOLUTION.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 04 Mai 2015 19:20

Prezados, "fucei" o dia todos e percebi os seguintes detalhes em minha máquina:
no meu computador tem 3 arquivos "HBWIN.CH" nos seguintes pastas:

- ..\xharbour\include
- ..\hmg.3.0.35\harbour\include
- ..\hmg.3.0.46\harbour\include

Pois então, percebi que esses 3 arquivos existem diferenças. Uns tem alguns comandos que às vezes nos outros não tem.

- também na minha pasta:
- ..\hb32\contrib\hbwin existe uma cópia do arquivo "HBWIN.CH" mas que ao abri-lo o conteúdo ou está corrompido ou é estranho assim mesmo. vejam o conteúdo dele:
description=Windows specific functions (win-only)

skip={!allwin}

incpaths=.

headers=${hb_name}.ch

libs=${_HB_DYNPREF}${hb_name}${_HB_DYNSUFF}
libs=png
{wce}libs=sms CellCore


Outra coisa que percebi, que esse comando, que em ambos os modelos de códigos sugeridos pelo prezado professor ITAMAR, tem um comando:
#REQUIRE HBWIN

que não funciona de jeito nenhum e dá a mensagem de erro F0032 como já postei anteriormente.

Bom, como disse que arrumei uma solução foi a seguinte:

o tal comando "#REQUIRE HBWIN" substituí-o por "#INCLUDE HBWIN" só que como não sei qual dos arquivos HBWIN está sendo achado, mencionei no próprio "INCLUDE" o ondereço do arquivo que me interessa. E, num é que deu certo? vejam como fiz:

#include "c:\hb32\contrib\hbwin\hbwin.ch"


Bom, ficou muito legal.
Agora preciso saber se quando compilado e eu levar o .EXE (executável de meu aplicativo) nas máquinas que eu instalar se esse caminho não irá dar algum problema (lá no cliente)? Acho que a pergunta é bem amadora, mas, estou com a "cabeça saindo fumaça" quem nem esou pensando direito.

Só última coisa, preciso que leia um registro SEQUÊNCIA e, usando o mesmo comando que lê um DWORD não está dando certo.
Qual é o comando certo?
No exemplo abaixo mostro como estou acessando os registros do windows:
tmp1=win_regRead( "HKCU\TESTE\teste1" ) // valor DWORD // está com os valores numérico e hexadecimal, respectivamente: 0 e 0x00000000
if tmp1 = 0 then
... comandos 1
else
... comandos 2
endif
tmp2=win_regRead( "HKCU\TESTE\teste2" ) // valor SEQUENCIA // está com os valor string (ab), respectivamente: 0
if tmp2 = 0 then
... comandos 1
else
... comandos 2
endif


é nessa tmp2 que está acusando o erro, e está caindo no ELSE e executando o: COMANDOS 2 do segundo ELSE.

Já tentei mudar para uma das opções:
if .not. tmp2 = 0
if tmp2 <>0
if tmp2 <>"0"
if ! tmp2 =0"

mas infelizmente ou cai no ELSE, ou dá mensagem de erro:
Error BASE/1071 Argument error: = Called from MAIN (xxx) onde (xxx) é o número da linha contendo o erro, e, que no caso é exatamente onde estou falando.

No mais, falta só isso pra funcionar.

Aguardo mais instruções.
Grato,
MICROVOLUTION.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 05 Mai 2015 12:56

Ola!
"REQUIRE" não funcionou porque vc está usando uma versão velha do Harbour.
Toda vez que for postar uma duvida é bom também se possível colocar a versão do seu Harbour, quando ele foi compilado.
Vc está usando uma versão do Harbour de no mínimo, do inicio de 2012!

Primeira menção da opção #REQUIRE!

2012-06-06 02:22 UTC+0200 Viktor Szakats (vszakats.net/harbour)
  * contrib/hbrun/hbrun.prg
    + added experimental script syntax to dynamically load modules:
      --- testcurl.hb
      #require "hbcurl"
      ? curl_version()


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 06 Mai 2015 09:52

Olá prezado Itamar, bom dia!

Como ainda sou novo no ramo da migração e apesar dos grandes avanços, como já disse em outros tópicos deste tão conceituado fórum PCTOLEDO, acho q informei no início quando V.Sa. me respondeu pela primeira vez com os 2 exemplos de arquivos. Aí perguntei se funcionava no harbour HMG 3.0.35.

Bom, se ao instalar a HMG 3.0.35 ela não atualiza o harbour é porque tenho que aprender muito ainda.
Então, como faço para saber a versão do meu harbour? e como instalo a versão mais atual?
Lembrando que não posso mudar muito o que já está pronto, pois na migração, fiz as recomendações dos tópicos e a única ferramenta prática que comigo funcionou e sem precisar "de muito trabalho" e/ou arquivos "BATs" foi a HMG 3.0.35.
Tenho também a 3.0.46 (sem instalar), mas, optei pela versão e a foi a que está dando certo até agora.

Quanto ao "REQUIRE" e etc, "fuçano" aqui, consegui fazer funcionar e até mesmo para quem tinha dúvidas como eu, #ficaadica de como fiz:

if .not. win_regRead( "HKCU\teste\teste1" )  = 1 // aqui verifica se existe a chave/registro "DWORD"
     @ 07,00 say "Sistema violado" // acrescentada em 05/05/15w
     inkey(0) // coloquei provisoriamente pra ver onde o SiCCA deu erro - 06/05/15w
     close all
     quit
endif

Essa parte àcima, verifica se existe a CHAVE/REGISTRO no REGEDIT/REGDT32 do Windows (versão win xp), ainda não testei no Win VI, 7, ... em diante.

Regtmp:= win_regRead( "HKCU\TESTE\teste2",,WIN_REG_EXPAND_SZ )
if ! RegTmp=nil
  if val(Regtmp) < 4 .or. val(Regtmp) > 4
     @ 07,00 say "Sistema Violado. Pressione <ENTER> para encerrar..." // acrescentada em 05/05/15w
     close all
     quit
  endif
else
     @ 07,00 say "Sistema Violado. Pressione <ENTER> para encerrar..." // acrescentada em 05/05/15w
     close all
     quit
endif


Já o código acima, funciona assim:
- 1º a CHAVE do REGEDIT de dentro do "TESTE2" é colocada para dentro da variável LOCAL de nome "RegTmp"
- 2º então verifico se ela existe através do "if .not. RegTmp <>nil", ou seja, se for NIL significa que ela não existe. Então o sistema vai para o ELSE e se encerra por violação (falta dessa chave).
- 3º agora, caso ela exista, ou seja, o conteúdo dela for diferente de "NIL" então é feita a verificação secundária. Qual o conteúdo que ela deve conter? O conteúdo deve ser uma string com o número 4, isso mesmo, uma string "4". Mas, para que a verificação dê certo, eu converto essa string "4" para um valor numérico pra se ter certeza que seja realmente o número 4. Se não for verdade o sistema encerra-se novamente.

Para tudo isso funcionar, com o meu harbour (HB32 é o nome da pasta e não sei que versão é) através da HMG 3.0.35 (que uso para compilar sem "burocracias" do código manual, pois estamos numa época em que tudo tem que ser mais rápido: aprendizado fácil, rápido e eficaz, etc...), usei no início no lugar de "REQUIRE" usei o seguinte:
#include "G:\MVinfo\hb32\contrib\hbwin\hbwin.ch"


Como disse acima, encontrei 3 "HBWIN.CH" dentro de meu computador, e se eu usar somente #include "HBWIN.CH" essas funções não funcionarão corretamente pois pegará um "HBWIN.CH" que não seja o que realmente funcione.

Bom, espero ter respondido ao caro professor Itamar e principalmente a outros internautas, não só do fórum, mas de toda rede "google" e/ou "yahoo" ao buscarem cheguem até aqui e saciem-se com as "pérolas" que por aqui encontramos.
Abraços,
MICROVOLUTION
http://www.mvinfo.wmx.net.br
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 08 Mai 2015 15:35

Olá pessao, "oia nóis aqui traveis"!!! rsrsrs

Como disse na minha postagem anterior que iria testar a funcionalidade no win 7 64 bits.
Então, criei as mesmas chaves que havia criado no win xp 32 bits aqui no Win 7 64 bits, e, infelizmente, o harbour parece que não lê as chaves ou não tem acesso ao REGEDIT.

Ele informa através do if then else, que a chave não existe.Então programa é encerrado.

Portanto,se alguém souber o que está faltando?
LEMBRANDO que meu harbour é HMG 3.0.35.

Grato,
MICROVOLUTION.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 09 Mai 2015 11:47

LEMBRANDO que meu harbour é HMG 3.0.35.

Ver a versão e compilador do harbour.
C:\devl\hwgui>harbour -build
Harbour 3.4.0dev (e5a72c3) (2015-05-05 18:14)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/

Harbour Build Info
---------------------------
Version: Harbour 3.4.0dev (e5a72c3) (2015-05-05 18:14)
Compiler: MinGW GNU C 4.9.1 (32-bit)
Platform: Windows 7 6.1.7601 Service Pack 1
PCode version: 0.3
Commit info: 2015-05-05 20:14:50 +0200
Commit ID: e5a72c3
Built on: May  5 2015 15:49:01
Build options:
---------------------------

C:\devl\hwgui>


Sobre funcionar em 64Bits.
Releia o que foi postado e use o Harbour mais novo! se for um BUG será consertado no novo e não nessa versão que vc está usando.

      IF hb_osIs64bit()
         ? win_regRead( "HKLM\SOFTWARE\7-Zip\Path",, KEY_WOW64_32KEY )
         ? win_regRead( "HKLM\SOFTWARE\7-Zip\Path",, KEY_WOW64_64KEY )
      ENDIF


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor clodoaldomonteiro » 26 Mai 2015 08:24

Itamar,

Eu uso o xHarbour 1.00 e pergunto se tem a hbwin.lib para esta versão?
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 de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 05 Jun 2017 00:34

boa noite!
prezado Itamar e demais professores.

Tentei o código do HB_OSIS... e não dá certo.

Então deixei pra lá... até ontem, onde num cliente onde existe domínio win server 2003 e máquinas com win xp que até então funcionam muito bem.

Só que instalamos uma máquina com win 7 32 bits.
O sistema só executa se for com usuário administrador, pois não reconhece a linha de código abaixo:

if .not. win_regRead( "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\OnGuard\Codigo" )  = 7777777
     @ 01,00 say 'Registro de Controle Alterado !'
     close all
     quit
endif


O que devo fazer?

é como se não achasse as chaves acima no registro do win 7 (pois em cada estação é gravado o registro). E ao verificar manualmente na REGEDIT ou REGEDT32 a gente descobre que a chave está lá
... mas o detalhe é que parece que o sistema não executa ou o harbour não detecta/lê a chave via sistema dentro da regedit.

Parece que é um "tipo de bug" ou só funciona no usuário ADMINISTRADOR

alguém sabe por favor?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor Itamar M. Lins Jr. » 05 Jun 2017 12:02

Ola!
No windows 7, para mexer no registro tem que está logado como administrador ou mudar na opção de execução do sistema, click com o botão direito em cima do ".exe" , escolher(marcar) "Executar como administrador".
Fora isso, digitar no "pesquisar programas e arquivos" ->" UAC" , e baixar o nivel de segurança para 0.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Gravar e Ler Registro do windows (regedit)

Mensagempor microvolution » 05 Jun 2017 16:58

Itamar M. Lins Jr. escreveu:Ola!
...click com o botão direito em cima do ".exe" , escolher(marcar) "Executar como administrador".

Sim prezado professor. Então, como eu disse, o win 7 está logado numa rede win server 2003 (AD - DOMÍNIO). Então toda vez que se clica com botão direito o sistema pede o usuário e senha do administrador. Aí o usuário do grupo BALCAO (só fazem vendas) irão saber a senha que tem poderes pra tudo. Neste caso, teríamos que tentar criar um usuário administrador fictício que não logasse no servidor nem muito menos na própria estação. Mas, isso, não tenho nem ideia se funciona ou não.
Fora isso, digitar no "pesquisar programas e arquivos" ->" UAC" , e baixar o nivel de segurança para 0

Agora nesta opção, vou tentar e se der certo posto o resultado. ok?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro