Jump to content
Fórum Script Brasil

serginho450

Membros
  • Posts

    17
  • Joined

  • Last visited

About serginho450

serginho450's Achievements

0

Reputation

  1. Fiz um executável que lê todos os diretórios e subdiretórios em arquivos de programas, mas sempre que encontra um diretório protegido da erro. Como pular esse erro? segue o código que estou usando: For Each foundFile As String In My.Computer.FileSystem.GetDirectories(My.Computer.FileSystem.SpecialDirectories.ProgramFiles, FileIO.SearchOption.SearchAllSubDirectories)
  2. Criei um app que no meu PC funciona perfeitamente mesmo o depois de criar o exe, mas em outros PCs quando tento executar exibe a seguinte mensagem: O app parou de funcionar: Assinatura do problema: Nome do Evento de Problema: CLR20r3 Assinatura do Problema 01: lancador.exe Assinatura do Problema 02: 1.0.0.0 Assinatura do Problema 03: 55df3b24 Assinatura do Problema 04: System.Windows.Forms Assinatura do Problema 05: 4.0.0.0 Assinatura do Problema 06: 4ba1e14e Assinatura do Problema 07: c2a Assinatura do Problema 08: 36 Assinatura do Problema 09: System.InvalidOperationException Versão do sistema operacional: 6.1.7601.2.1.0.256.48 Identificação da Localidade: 1046 Informações Adicionais 1: 0a9e Informações Adicionais 2: 0a9e372d3b4ad19135b953a78882e789 Informações Adicionais 3: 0a9e Informações Adicionais 4: 0a9e372d3b4ad19135b953a78882e789 Meu micro: Windows 7 Ultimate X64, CPU Core 2 Duo, 8GB de RAM O que deve ser hein?
  3. Conseguí resolver e se alguém tiver o mesmo problema, segue como resolví Dim CpuName As String Dim sysinfo As String CpuName = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString", Nothing) sysinfo = vbNewLine + "OS Name: " + My.Computer.Info.OSFullName + vbNewLine + "OS Version: " + My.Computer.Info.OSVersion + vbNewLine + "Computer Name: " + My.Computer.Name + vbNewLine + "CPU: " + CpuName + vbNewLine + "RAM: " + ((My.Computer.Info.TotalPhysicalMemory) / 1024 / 1024 / 1024).ToStringMsgBox(sysinfo)
  4. Brigadão Graymalkin, antes de você postar eu já tinha encontrado este comando "Environment.NewLine" que havia funcionado muito bem, mas por curiosidade testei com o vbCrLf pra ver se funcionaria e funcionou muito bem também. Valeu mesmo.
  5. Olá a todos. Preciso visualizar o valor da cahve do registro "HKEY­_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYST­EM\CentralProcessor\0\ProcessorNameString" em uma MsgBox como faço? Já tentei o seguinte comando: Dim CPUName As String CPUName = My.Computer.Registry.GetValue("HKEY­_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYST­EM\CentralProcessor\0", "ProcessorNameString", Nothing) MsgBox(CPUName) Mas não retorna nada, será que tenho que fazer alguma referência?
  6. Olá pessoal, acontece o seguinte. Estou criando um sistema automático que ao ser executado ele vai ler todas os diretórios que estão dentro de um diretório específico e depois vai criar uma pasta com o nome do computador local e criar dentro desta nova pasta um arquivo txt com a lista de nomes das pastas encontrada. Preciso que este sistema fique totalmente automatizado e estou tendo o seguinte problema. Se eu digitar todos os locais Funciona que é uma beleza. O arquivo txt é criado com os nomes das pastas linh por linha. veja o código: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Dir("C:\Computadores\NomeDoPC") = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então My.Computer.FileSystem.CreateDirectory("C:\Computadores\NomeDoPC") 'Crie o diretório C:\Computadores\NomeDoPC My.Computer.FileSystem.WriteAllText("C:\Computadores\\NomeDoPC\FileList.txt", "PC", True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt End If 'Fim se My.Computer.FileSystem.DeleteFile("C:\Computadores\NomeDoPC\FileList.txt") 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\ foundFile = foundFile & vbCrLf My.Computer.FileSystem.WriteAllText("C:\Computadores\NomeDoPC\FileList.txt", foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas Next Me.Close() End Sub Mas se fizer o mesmo código pra funcionar com variáveis, o arquivo txt é criado escrito tudo em uma linha só. Veja o cógido: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Nome As String Dim Arq As String Nome = ("C:\Computadores\") + AxWinsock1.LocalHostName 'Se o diretório C:Computadores\Nome do PC não existe, então Arq = Nome + ("\FileList.txt") 'Arq = 'C:Computadores\NomedoPC\FileList.txt If Dir(Nome) = "" Then 'Se o diretório C:Computadores\NomeDoPC não existe, então My.Computer.FileSystem.CreateDirectory(Nome) 'Crie o diretório C:\Computadores\NomeDoPC My.Computer.FileSystem.WriteAllText(Arq, AxWinsock1.LocalHostName, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt End If 'Fim se My.Computer.FileSystem.DeleteFile(Arq) 'Delete o arquivo C:\Computadores\NomeDoPC\FileList.txt For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") 'Leia os diretórios existentes em C:\Projetos\ My.Computer.FileSystem.WriteAllText(Arq, foundFile, True) 'Crie o arquivo C:\Computadores\NomeDoPC\FileList.txt com as pastas encontradas Next Me.Close() End Sub Como resolvo isso?
  7. Olá pessoal, acontece o seguinte. Estou criando um sistema automático que ao ser executado ele vai ler todas os diretórios que estão dentro de um diretório específico e depois vai criar uma pasta com o nome do computador local e criar dentro desta nova pasta um arquivo txt com a lista de nomes das pastas encontrada. Preciso que este sistema fique totalmente automatizado e estou tendo o seguinte problema. Se eu digitar todos os locais Funciona que é uma beleza. O arquivo txt é criado com os nomes das pastas linh por linha. veja o código: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Dir("C:\Computadores") = "" Then My.Computer.FileSystem.CreateDirectory("C:\Computadores") My.Computer.FileSystem.WriteAllText("C:\Computadores\FileList.txt", "PC", True) End If My.Computer.FileSystem.DeleteFile("C:\Computadores\FileList.txt") For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") foundFile = foundFile & vbCrLf My.Computer.FileSystem.WriteAllText("C:\Computadores\FileList.txt", foundFile, True) Next Me.Close() End Sub Mas se fizer o mesmo código pra funcionar com variáveis, o arquivo txt é criado escrito tudo em uma linha só. Veja o cógido: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Nome As String Dim Arq As String Nome = ("C:\Computadores\") + AxWinsock1.LocalHostName Arq = Nome + ("\FileList.txt") If Dir(Nome) = "" Then My.Computer.FileSystem.CreateDirectory(Nome) My.Computer.FileSystem.WriteAllText(Arq, AxWinsock1.LocalHostName, True) End If My.Computer.FileSystem.DeleteFile(Arq) For Each foundFile As String In My.Computer.FileSystem.GetDirectories("C:\Projetos\") My.Computer.FileSystem.WriteAllText(Arq, foundFile, True) Next Me.Close() End Sub Como resolvo isso?
  8. Olá pessoal. Gostaria de saber se existe uma forma de listar em minha página da web todos os computadores que estão ligados ou desligados?
  9. Olá, preciso de um script para restabelecer a relação de confiança entre os computadores clientes e o domínio. Utiliso o Windows server 2003 e os clientes são windows xp. Assim, se um dia o servidor der pau e eu tiver que reconfigurá-lo não precisarei retirar e colocar cada cliente no domínio para restabelecer a confiança no domínio. Alguém pode me ajudar.
  10. Beleza, agora as pastas Prefetch e dllcache foram apagadas, só que %temp% e temp continuam cheias. Será que não tem algum erro nestes primeiros códigos. O erro Run time error '5': Invalid Procedure call or argument Na última linha "Shell Environ("windir") & ("\system32\dfrg.msc"), vbNormalFocus" na última linha ainda continua. Me dá uma força aí!!!! Valeu.
  11. Conseguí no Win7. Veja como ficou o código. No final ele ainda abre a limpeza de disco e o desfragmentador. Só que no Winxp não funciona. Além de ele não limpar as pastas (claro que eu adaptei a localização das pastas para o Winxp), no final emite um erro: Run time error '5': Invalid Procedure call or argument Na última linha "Shell Environ("windir") & ("\system32\dfrg.msc"), vbNormalFocus" Veja o código no WinXP Private Type SHFILEOPSTRUCT hWnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAborted As Boolean hNameMaps As Long sProgress As String End Type Private Const FO_DELETE = &H3 Private Const FOF_ALLOWUNDO = &H40 ' Move to recycle bin Private Const FOF_SILENT As Long = &H4 Private Const FOF_SIMPLEPROGRESS As Long = &H100 Private Const FOF_NOCONFIRMATION As Long = &H10 Private Declare Function SHFileOperation Lib "shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) _ As Long Private Sub Command1_Click() Dim SHFileOp As SHFILEOPSTRUCT, loc As String If Text1.Text = "" Then MsgBox "Operação Canselada. Insira o nome do usuário." Text1.SetFocus Else With SHFileOp ' Function: Delete .wFunc = FO_DELETE ' Which file/dir .pFrom = "C:\Users\" & Text1.Text & "\Configurações Locais\Temp" ' Set flags .fFlags = FOF_SILENT Or _ FOF_SIMPLEPROGRESS Or _ FOF_NOCONFIRMATION End With ' Kiss it goodbye SHFileOperation SHFileOp With SHFileOp ' Function: Delete .wFunc = FO_DELETE ' Which file/dir .pFrom = "C:\Windows\Temp" ' Set flags .fFlags = FOF_SILENT Or _ FOF_SIMPLEPROGRESS Or _ FOF_NOCONFIRMATION End With ' Kiss it goodbye loc = Dir(Environ("windir") & ("\Prefetch\*.*")) If loc = "" Then MsgBox "A pasta Prefetch já está vazia" Else Kill Environ("windir") & ("\Prefetch\*.*") loc = "" End If loc = Dir(Environ("windir") & ("\system32\dllcache")) If loc = "" Then MsgBox "A pasta dllcache já está vazia" Else Kill Environ("windir") & ("\system32\dllcache\*.*") loc = "" End If End If Shell Environ("windir") & ("\system32\cleanmgr.exe"), vbNormalFocus Shell Environ("windir") & ("\system32\dfrg.msc"), vbNormalFocus End Sub Veja o Código no Win7 (este funciona perfeito): Private Type SHFILEOPSTRUCT hWnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAborted As Boolean hNameMaps As Long sProgress As String End Type Private Const FO_DELETE = &H3 Private Const FOF_ALLOWUNDO = &H40 ' Move to recycle bin Private Const FOF_SILENT As Long = &H4 Private Const FOF_SIMPLEPROGRESS As Long = &H100 Private Const FOF_NOCONFIRMATION As Long = &H10 Private Declare Function SHFileOperation Lib "shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) _ As Long Private Sub Command1_Click() Dim SHFileOp As SHFILEOPSTRUCT, loc As String If Text1.Text = "" Then MsgBox "Operação Canselada. Insira o nome do usuário." Text1.SetFocus Else With SHFileOp ' Function: Delete .wFunc = FO_DELETE ' Which file/dir .pFrom = "C:\Users\" & Text1.Text & "\AppData\Local\Temp" ' Set flags .fFlags = FOF_SILENT Or _ FOF_SIMPLEPROGRESS Or _ FOF_NOCONFIRMATION End With ' Kiss it goodbye SHFileOperation SHFileOp With SHFileOp ' Function: Delete .wFunc = FO_DELETE ' Which file/dir .pFrom = "C:\Windows\Temp" ' Set flags .fFlags = FOF_SILENT Or _ FOF_SIMPLEPROGRESS Or _ FOF_NOCONFIRMATION End With ' Kiss it goodbye Environ("windir") & ("\system32\cleanmgr.exe") loc = Dir(Environ("windir") & ("\Prefetch\*.*")) If loc = "" Then MsgBox "A pasta Prefetch já está vazia" Else Kill Environ("windir") & ("\Prefetch\*.*") loc = "" End If End If Shell Environ("windir") & ("\system32\cleanmgr.exe"), vbNormalFocus Shell Environ("windir") & ("\system32\dfrgui.exe"), vbNormalFocus End Sub O que eu faço?
  12. Desculpe, eu me expresssei mal. Na verdade minha interção é criar um script que faça + ou - como o cleaner faz. Deletar arquivos e pastas temporárias, ou seja todas as pastas e arquivos que estiverem dentro das pastas temporárias. A pasta %temp% mesmo costuma ficar lotada de pastas e arquivos inúteis. Minha intenção é só apagar o que não serve mais para o sistema.
  13. Olá de pessoal. Estou criando um .exe para deletar as pastas temp, %temp%, prefetch e dllcache do winxp. O problema é que o código que eu conheço só serve para deletar arquivos. Gostaria também que se a pasta estiver vazia ou algum arquivo em execução ele não me retorne um erro. Alguém aí sabe qual eu devo usar?
  14. Caras, eu vascilei... Não estou acreditando até agora. O problema é que logo após ter formatado esta máquina que estou usando o vb eu havia mudado o local das pastas de usuários para a D: no registro do win. Isso já alguns meses. Quando vocês argumentaram sobre a localização do arquivo executei um . (ponto final) e ele realmente me levou para minha pasta de usuário real. Justo a que NÃO TEM O ARQUIVO!!! Criei um neste local e bingo. O código funciona. Pesso mil desculpas pelo vascilo que eu dei. Agora, isso que vou escrever aqui não é puxasaquismo não, mas vocês são feras. Acho que eu nunca tive uma ajuda tão eficaz igual a de vocês. Brigadão mesmo.
  15. Ô meu amigo eu agradeço muito seu esforço. Dessa vez eu dei um CTRL+C e CTRL+V no seu código e fiz todas as text e commands necessários. na hora de executar o código, coloquei o nome original do arquivo na t_Antigo.Text e o novo nome na txt_Novo.Text como manda seu código e pra mim continua retornando o mesmo erro: Run-time error '53': File not found e quando clico em debug ele destaca justamente a linha Name nAnt As nNovo. O caso é que eu tenho certeza que o arquivo está lá. Será que é meu sistema operacional? Estou usando o win7 Ult.
×
×
  • Create New...