ALTERAR INFORMACOES DO PC VIA VB.NET
Gostaria de saber se tem alguma maneira de alterar os dados do pc
w8 e w7 , usando vb.net
Nome do pc:
Conexao:
Obrigado
Achei alguns exemplos na internet mas nenhum funciona
obrigado
Por favor, veja esse exemplo:
====================================
Obtendo informações do sistema
http://www.macoratti.net/vbn_sifo.htm
====================================
[][ô]s,
Tunusat.
Citação::
BETOPSY,
Por favor, veja esse exemplo:
====================================
Obtendo informações do sistema
http://www.macoratti.net/vbn_sifo.htm
====================================
[][ô]s,
Tunusat.
Acho que vc nao entendeu a pergunta
eu nao preciso obter as informacoes da maquina
e sim muda-las!
... desculpe, mas [Ô]Save[Ô] não é Salvar?
Citação:SaveSetting - Salva ou cria um entrada da aplicação no registro do Sistema.. A sintaxe é :
Public Sub SaveSetting( ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Setting As String)
====================================
Função SaveSetting
Citação:Salva ou cria uma entrada de aplicativo no Registro do Windows.
O recurso My dá a você maior produtividade e desempenho em registro de operações que SaveSetting. Para obter mais informações, consulte Objeto My.Computador.Registro.
https://msdn.microsoft.com/pt-br/library/3kz7fyks(v=vs.90).aspx
====================================
Função GetSetting
Citação:Retorna um valor de configuração da chave de entrada do aplicativo no registro do Windows.
O recurso My dá a você maior produtividade e desempenho em registro de operações que GetAllSettings. Para obter mais informações, consulte Objeto My.Computador.Registro.
https://msdn.microsoft.com/pt-br/library/kb0c3wb9(v=vs.90).aspx
====================================
Veja também:
====================================
MIGRANDO GETSETTING/SAVESETTING DO VB.NET
http://www.vbmania.com.br/index.php?modulo=detalhe&id=6478
====================================
Macoratti .net - Acessando o registro do Windows
http://www.macoratti.net/vbn_sifo.htm
Private Sub cmd_Exit_Click()
[ô](1) salva as configuracoes
[ô](2) informa o local aonde salvar as configuracoes
[ô](3) seção onde os valores serão salvos
[ô](4) sub-seção onde os valores serão salvos
[ô](5) os valores que desejamos salvar
[ô] (1) (2) (3) (4) (5)
SaveSetting App.EXEName, [Ô]Padrao[Ô], [Ô]MeuHeight[Ô], Me.Height
SaveSetting App.EXEName, [Ô]Padrao[Ô], [Ô]MeuWidth[Ô], Me.Width
SaveSetting App.EXEName, [Ô]Padrao[Ô], [Ô]MeuTop[Ô], Me.Top
SaveSetting App.EXEName, [Ô]Padrao[Ô], [Ô]MeuLeft[Ô], Me.Left
End
End Sub
[][ô]s,
Tunusat.
Vou tentar explicar melhor o que preciso ,
Meu computador tem o nome
ex: PC_ casa
quero um jeito de mudar esse nome
ex
coloca o nome : PC_Beto em um textbox e aperta um botao
ele muda de
PC_casa para PC_beto
apenas isso nao estou conseguindo fazer
[ô]Coloque isso num módulo
Declare Auto Function SetComputerName Lib [Ô]kernel32[Ô] (ByVal lpComputerName As String) As Integer
SetComputerName(Text1.Text)
OBS: Acho que o nome só mudará após reiniciar a máquina
Tem razão, deste jeito não funciona. é Read-Only ... viajei feio...!
Mas olha ... descobri mais duas formas, mas acho que nas duas tem que botar a máquina e eu não posso bootar a minha agora ... se quiser testar:
[ô]1ª Forma
Private Declare Auto Function SetComputerName Lib [Ô]kernel32.dll[Ô] (ByVal lpComputerName As String) As Boolean
[ô]Função para testar as duas formas...
Private Sub btnGravarInformacoesDoSistema_Click(sender As Object, e As EventArgs) Handles btnGravarInformacoesDoSistema.Click
[ô]2ª Forma
Try
Dim myPath As New ManagementPath
myPath.Server = System.Net.Dns.GetHostName
myPath.NamespacePath = [Ô]root\CIMV2[Ô]
myPath.RelativePath = [Ô]Win32_Computersystem.Name=[ô][Ô] & myPath.Server & [Ô][ô][Ô]
Dim myObj As New ManagementObject(myPath)
Dim myParams() As Object = {txtNomeDaMaquina.Text}
myObj.InvokeMethod([Ô]Rename[Ô], myParams)
Catch ex As Exception
MessageBox.Show([Ô]Não é possÃvel definir o nome do computador![Ô])
End Try
[ô]1ª Forma - desta forma junto com o [Ô]Private Declare acima[Ô]
Dim Success As Boolean = SetComputerName(txtNomeDaMaquina.Text)
End Sub
[][ô]s,
Tunusat.
Citação::
BETOPSY,
Tem razão, deste jeito não funciona. é Read-Only ... viajei feio...!
Mas olha ... descobri mais duas formas, mas acho que nas duas tem que botar a máquina e eu não posso bootar a minha agora ... se quiser testar:[ô]1ª Forma
Private Declare Auto Function SetComputerName Lib [Ô]kernel32.dll[Ô] (ByVal lpComputerName As String) As Boolean
[ô]Função para testar as duas formas...
Private Sub btnGravarInformacoesDoSistema_Click(sender As Object, e As EventArgs) Handles btnGravarInformacoesDoSistema.Click
[ô]2ª Forma
Try
Dim myPath As New ManagementPath
myPath.Server = System.Net.Dns.GetHostName
myPath.NamespacePath = [Ô]rootCIMV2[Ô]
myPath.RelativePath = [Ô]Win32_Computersystem.Name=[ô][Ô] & myPath.Server & [Ô][ô][Ô]
Dim myObj As New ManagementObject(myPath)
Dim myParams() As Object = {txtNomeDaMaquina.Text}
myObj.InvokeMethod([Ô]Rename[Ô], myParams)
Catch ex As Exception
MessageBox.Show([Ô]Não é possÃvel definir o nome do computador![Ô])
End Try
[ô]1ª Forma - desta forma junto com o [Ô]Private Declare acima[Ô]
Dim Success As Boolean = SetComputerName(txtNomeDaMaquina.Text)
End Sub
[][ô]s,
Tunusat.
Nao funciona , ja rodei a internet atraz disso , ja quebrei a cabeca aqui , mas acho que isso e impossivel
Citação::
Não creio que você vá conseguir fazer isso. Veja bem, informações desse tipo são sempre muito bem protegidas pelo sistema. Se não fossem, qualquer malware poderia modificar informações de conexão e arquivo hosts, causando um estrago feio para o usuário. Mas qual seria o objetivo disso? Não consigo imaginar uma situação onde isso seja necessário, à não ser para construção de um malware, mas quero acreditar que não é isso que você está fazendo...
não estou criando um virus nao kkkkkkkkkkkk
Citação::
Só para constar, se você criar seu próprio servidor DHCP e apontar a máquina do cliente para ele, você poderia fazer isso que você quer.
Não tenho clientes , uso vb apenas como passa tempo , so faco as coisas por curiozidade mesmo !