CRIAR CHAVE NO REGISTRO PARA UM USUARIO ESPECIFICO
Amigos,
Estou precisando criar uma entrada no registro do windows dentro da chave HKEY_Users do usuário logado na máquina.
Estou criando um drive ODBC via código para o SQL Server, mas preciso que seja uma fonte de dados do usuário e não do sistema.
Vi no registro e percebi que as entradas de cada usuário começa com S-1-5.... mas não sei como identificar, via código, qual a entrada do usuário logado.
Será que tem como fazer isso???
Att,
Carlos FRança
Estou precisando criar uma entrada no registro do windows dentro da chave HKEY_Users do usuário logado na máquina.
Estou criando um drive ODBC via código para o SQL Server, mas preciso que seja uma fonte de dados do usuário e não do sistema.
Vi no registro e percebi que as entradas de cada usuário começa com S-1-5.... mas não sei como identificar, via código, qual a entrada do usuário logado.
Será que tem como fazer isso???
Att,
Carlos FRança
Só estou conseguindo criar como fonte de dados do sistema, mas preciso que seja do usuário
Será que não tem como resolver isso???
Se for para o usuário atual você poderia criar a chave na HKEY_CURRENT_USER.
Primeiro vc tem que saber qual usuário que esta logado.
Depois basta procurar pela net e saber como funciona a chave HKEY_CURRENT_USER que é a chave referente ao usuário que esta logado...
Só que vc vai ter que criar chaves dentro dela...
Depois basta procurar pela net e saber como funciona a chave HKEY_CURRENT_USER que é a chave referente ao usuário que esta logado...
Só que vc vai ter que criar chaves dentro dela...
Carinha,
Acho que você pode pegar o usuario logado e depois gravar no registro as configurações do odbc dele (ConfOdbc no caso do exemplo). Não importa onde isto se localizará no registro ja que podemos acessar sem ter que saber onde está no registro.
'Declarar isso antes
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
'Função que pega o usuario logado
'Gravar no Registro
'SaveSetting appname, section, key, setting
SaveSetting "PGTeste", "ODBC", Pega_Nome, "ConfOdbc"
'Ler do Registro
'GetSetting(appname, section, key[, default])
ConfOdbc.Text = GetSetting("PGTeste", "ODBC", Pega_Nome, "")
Acho que com isso você deve conseguir.
Abraços.
Acho que você pode pegar o usuario logado e depois gravar no registro as configurações do odbc dele (ConfOdbc no caso do exemplo). Não importa onde isto se localizará no registro ja que podemos acessar sem ter que saber onde está no registro.
'Declarar isso antes
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
'Função que pega o usuario logado
Public Function Pega_Nome() as String
Dim sBuffer As String
Dim lSize As Long
sBuffer = Space$(255)
lSize = Len(sBuffer)
Call GetUserName(sBuffer, lSize)
If lSize > 0 Then
Pega_Nome = Left$(sBuffer, lSize)
Else
Pega_Nome = vbNullString
End If
End Function
'Gravar no Registro
'SaveSetting appname, section, key, setting
SaveSetting "PGTeste", "ODBC", Pega_Nome, "ConfOdbc"
'Ler do Registro
'GetSetting(appname, section, key[, default])
ConfOdbc.Text = GetSetting("PGTeste", "ODBC", Pega_Nome, "")
Acho que com isso você deve conseguir.
Abraços.
Spawn e Carinhena,
Eu criei as entradas na chave HKEY_CURRENT_USER,
mas o Administrador de fonte de dados ODBC do windows não a reconheceu. Quando faço sob a chave HKEY_LOCAL_MACHINE o Administrador reconhece, mas não atende o que preciso.
Rocamo,
Valeu pela ajuda, a tentativa de buscar o usuário logado eu já tentei mas se observar no registro sob a chave HKEY_USERS que é onde eu preciso criar as entradas para o drive que estou criando faz a referência aos usuários, inclusive o que está logado, não pelo nome mas por um conjunto de caracteres, por exemplo "S-1-5-21-823518204-1580818891-839522115-1303", e é essa identificação que eu precisaria conseguir, pois fiz a inclusão das entradas informando manualmente essa identificação e funciona numa boa, com o Administrador de fontes de dados ODBC do windows reconhecendo essa fonte que estou incluindo para o usuário como apenas dele.
Eu criei as entradas na chave HKEY_CURRENT_USER,
mas o Administrador de fonte de dados ODBC do windows não a reconheceu. Quando faço sob a chave HKEY_LOCAL_MACHINE o Administrador reconhece, mas não atende o que preciso.
Rocamo,
Valeu pela ajuda, a tentativa de buscar o usuário logado eu já tentei mas se observar no registro sob a chave HKEY_USERS que é onde eu preciso criar as entradas para o drive que estou criando faz a referência aos usuários, inclusive o que está logado, não pelo nome mas por um conjunto de caracteres, por exemplo "S-1-5-21-823518204-1580818891-839522115-1303", e é essa identificação que eu precisaria conseguir, pois fiz a inclusão das entradas informando manualmente essa identificação e funciona numa boa, com o Administrador de fontes de dados ODBC do windows reconhecendo essa fonte que estou incluindo para o usuário como apenas dele.
Tópico encerrado , respostas não são mais permitidas