AJUDA BASICA
Olá Pessoal !!!
No XP, eu uso no vb6 essa sintaxe para acrescentar uma linha de texto em um arquivo texto qualquer.
Segue o código:
Dim REG As String
REG = txtReg.Text
Open [Ô]C:\Arquivos de Programas\Teste\arq.txt[Ô] For Append As #1
Print #1, REG
Close #1
Porém no win7 não escreve. ETA bagaça !!!
Tem algum diferença do xp para o win7 pessoal ?
No XP, eu uso no vb6 essa sintaxe para acrescentar uma linha de texto em um arquivo texto qualquer.
Segue o código:
Dim REG As String
REG = txtReg.Text
Open [Ô]C:\Arquivos de Programas\Teste\arq.txt[Ô] For Append As #1
Print #1, REG
Close #1
Porém no win7 não escreve. ETA bagaça !!!
Tem algum diferença do xp para o win7 pessoal ?
Bom até onde eu sei não, mas se voce está trabalhando com pastas de ARQUIVOS DE PROGRAMA e WINDOWS, então o problema é esse ... o win7 bloqueia o acesso a esta pasta, a não ser que voce execute o programa como ADMINISTRADOR.
Valeu WOLFFIRE!
Mas...existe alguma forma via código ou api, de permitir o acesso a um arquivo que está dentro do Arquivos de Programas ?
Veja bem. Eu criei uma dll que acessa um programa gráfico e que modifica internamente alguns arquivos dele. No xp funciona perfeitamente e agora preciso fazer funcionar no win7.
Tem alguma sugestão ?
Mas...existe alguma forma via código ou api, de permitir o acesso a um arquivo que está dentro do Arquivos de Programas ?
Veja bem. Eu criei uma dll que acessa um programa gráfico e que modifica internamente alguns arquivos dele. No xp funciona perfeitamente e agora preciso fazer funcionar no win7.
Tem alguma sugestão ?
XAVIER,
Não sei se isto te ajuda, mas pode ser por aqui a solução...
... UAC - User Account Control.
------------------------------------------
http://windows.microsoft.com/pt-br/windows7/turn-user-account-control-on-or-off
Ativar ou desativar o Controle da Conta de Usuário
Aplica-se ao Windows 7
O Controle da Conta de Usuário (UAC) pode ajudar a impedir alterações não autorizadas no seu computador. O UAC o notificará quando forem feitas alterações no computador que exijam permissão em nÃvel de administrador. Esses tipos de alterações podem afetar a segurança do computador ou podem afetar as configurações de outras pessoas que usam o computador. Recomendamos manter o UAC ativo para ajudar a proteger o computador.
Assista a este vÃdeo para saber como ativar ou desativar o UAC (1:11)
------------------------------------------
[][ô]s,
Tunusat.
Não sei se isto te ajuda, mas pode ser por aqui a solução...
... UAC - User Account Control.
------------------------------------------
http://windows.microsoft.com/pt-br/windows7/turn-user-account-control-on-or-off
Ativar ou desativar o Controle da Conta de Usuário
Aplica-se ao Windows 7
O Controle da Conta de Usuário (UAC) pode ajudar a impedir alterações não autorizadas no seu computador. O UAC o notificará quando forem feitas alterações no computador que exijam permissão em nÃvel de administrador. Esses tipos de alterações podem afetar a segurança do computador ou podem afetar as configurações de outras pessoas que usam o computador. Recomendamos manter o UAC ativo para ajudar a proteger o computador.
Assista a este vÃdeo para saber como ativar ou desativar o UAC (1:11)
------------------------------------------
[][ô]s,
Tunusat.
Olá TUNUSAT !
Preciso fazer isso via código:
Dar permissão na pasta [Ô]Arquivos de Programas[Ô] somente no momento que o sistema está carregando. Assim que ele terminar de carregar, então ele restaura a restrição. Será que isso é possÃvel ? Pois é necessário reiniciar a máquina para que a alteração no UAC funcione e isso é o que não pode acontecer no usuário. Pensei via API. Mas qual API ?
Outra coisa muito esquisita:
Na orientações da Microsoft em relação ao UAC (Win7) desativado, diz que uma vez desativado, eu posso alterar áreas protegidas e isso não está ocorrendo. Coloquei inclusive todos os usuários com o UAC desativado (para teste) e mesmo assim, o sistema não altera o arquivo.
Preciso fazer isso via código:
Dar permissão na pasta [Ô]Arquivos de Programas[Ô] somente no momento que o sistema está carregando. Assim que ele terminar de carregar, então ele restaura a restrição. Será que isso é possÃvel ? Pois é necessário reiniciar a máquina para que a alteração no UAC funcione e isso é o que não pode acontecer no usuário. Pensei via API. Mas qual API ?
Outra coisa muito esquisita:
Na orientações da Microsoft em relação ao UAC (Win7) desativado, diz que uma vez desativado, eu posso alterar áreas protegidas e isso não está ocorrendo. Coloquei inclusive todos os usuários com o UAC desativado (para teste) e mesmo assim, o sistema não altera o arquivo.
Se é algo que você está fazendo para você eu até diria que você pode dar as permissões manualmente ou desativar o UAC, afinal seria apenas para você.
Se é algo que outras pessoas vão usar então não tem como, você não pode obrigar a desativar o UAC e por padrão você não vai conseguir de nenhuma forma a permissão a menos que o programa seja executado como adminstrador.
Não existe nenhum código nem API que vá te dar esta permissão sem estar sendo executado como administrador, afinal isso é assim exatamente para os programas não poderem alterar de forma alguma estes arquivos.
Uma solução paliativa seria instalar o programa fora do Arquivos de Programas, assim você poderia alterar os arquivos.
Se é algo que outras pessoas vão usar então não tem como, você não pode obrigar a desativar o UAC e por padrão você não vai conseguir de nenhuma forma a permissão a menos que o programa seja executado como adminstrador.
Não existe nenhum código nem API que vá te dar esta permissão sem estar sendo executado como administrador, afinal isso é assim exatamente para os programas não poderem alterar de forma alguma estes arquivos.
Uma solução paliativa seria instalar o programa fora do Arquivos de Programas, assim você poderia alterar os arquivos.
Neste caso OCELOT, o Administrador de TI, precisará dar permissão para os usuários.
No meu caso para teste, eu estou como Administrador e mesmo configurando não consigo acessar a pasta. Já dei permissão completa para eu mesmo e não funciona. Tanto na pasta como no sistema que é executado. Por padrão, a maioria dos sistemas são instalado em Arquivos de Programas.
Esta sua idéia sim pode ser uma solução com certeza. O problema é o usuário ter de reinstalar o software gráfico na raiz. Você sabe como é usuário. Mesmo uma comunidade técnica, ainda assim é osso... (experiência própria).
Bem... vamos ver o seguinte: Vou criar um usuário e dar a permissão de escrita somente. Caso funcione, esta resolvido.
Posto o resultado assim que alcançar êxito.
No meu caso para teste, eu estou como Administrador e mesmo configurando não consigo acessar a pasta. Já dei permissão completa para eu mesmo e não funciona. Tanto na pasta como no sistema que é executado. Por padrão, a maioria dos sistemas são instalado em Arquivos de Programas.
Esta sua idéia sim pode ser uma solução com certeza. O problema é o usuário ter de reinstalar o software gráfico na raiz. Você sabe como é usuário. Mesmo uma comunidade técnica, ainda assim é osso... (experiência própria).
Bem... vamos ver o seguinte: Vou criar um usuário e dar a permissão de escrita somente. Caso funcione, esta resolvido.
Posto o resultado assim que alcançar êxito.
Ola Xavier,
Você pode tentar este projeto para tentar desativar o UAC da máquina, mas se esta estiver em um domÃnio (controlando por polÃticas atribuÃdas através do Active Diretory, não sei se irá funcionar.
Este é o projeto que mencionei (http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9321)
Você pode tentar este projeto para tentar desativar o UAC da máquina, mas se esta estiver em um domÃnio (controlando por polÃticas atribuÃdas através do Active Diretory, não sei se irá funcionar.
Este é o projeto que mencionei (http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9321)
NETMANIA obrigado pela atenção.
Estou trabalhando com o vb6 não .net, mas de qualquer forma vou estuda o código do projeto indicado.
Um abraço.
Estou trabalhando com o vb6 não .net, mas de qualquer forma vou estuda o código do projeto indicado.
Um abraço.
Olá pessoal !
Este projeto mencionado pelo companheiro NETMANIA, é possÃvel pelo vb6 ?
Este projeto mencionado pelo companheiro NETMANIA, é possÃvel pelo vb6 ?
Bom pessoal!
Me desculpem degastar vocês com esse assunto...
Conseguà registrar a dll por uma arquivo.bat, mesmo com o UAC ativado. A pasta WINDOWS também é bloqueada pelo UAC. Porém, registrei sem problema. A solução está por aÃ.
Como seria mandar adicionar uma linha, após a última linha de um arquivo texto qualquer via .bat ?
Sendo assim, ao carregar o sistema, ele executará o .bat silenciosamente, via código vb6.
Me desculpem degastar vocês com esse assunto...
Conseguà registrar a dll por uma arquivo.bat, mesmo com o UAC ativado. A pasta WINDOWS também é bloqueada pelo UAC. Porém, registrei sem problema. A solução está por aÃ.
Como seria mandar adicionar uma linha, após a última linha de um arquivo texto qualquer via .bat ?
Sendo assim, ao carregar o sistema, ele executará o .bat silenciosamente, via código vb6.
Tópico encerrado , respostas não são mais permitidas