Mudar path Windows
Moderador: Moderadores
Mudar path Windows
Eh possível mudar path do Windows via sistema??
Janio
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Mudar path Windows
Pra delphi encontrei o codigo abaixo, basta ver se ha algo para harbour:
https://groups.google.com/forum/#!topic ... mtghqObvzs
https://groups.google.com/forum/#!topic ... mtghqObvzs
Código: Selecionar todos
Olá, Pedro!
Você pode pesquisar na Internet sobre os métodos GetEnvironmentVariable e SetEnvironmentVariable do Windows, acessíveis via Delphi.
Esse foi o primeiro que encontrei no google:
http://www.delphidabbler.com/articles?article=6
Nesse artigo, escrito pelo Peter Johnson, são apresentadas duas rotinas para facilitar o trabalho, que reproduzo abaixo:
function GetEnvVarValue(const VarName: string): string;
var
BufSize: Integer; // buffer size required for value
begin
// Get required buffer size (inc. terminal #0)
BufSize := GetEnvironmentVariable( PChar(VarName), nil, 0);
if BufSize > 0 then
begin
// Read env var value into result string
SetLength(Result, BufSize - 1);
GetEnvironmentVariable(PChar(VarName), PChar(Result), BufSize);
end
else
// No such environment variable
Result := '';
end;
function SetEnvVarValue(const VarName, VarValue: string): Integer;
begin
// Simply call API function
if SetEnvironmentVariable(PChar(VarName), PChar(VarValue)) then
Result := 0
else
Result := GetLastError;
end;
Basicamente você deve ler a variável de ambiente "PATH" usando o método GetEnvVarValue, verificar se o valor retornado já contém o caminho que você deseja adicionar e, caso não contenha, alterar o conteúdo da variável "PATH" adicionando o caminho desejado e atualizar seu novo valor usando o método SetEnvVarValue. Veja um exemplo simplificado:
var
s: string;
i: Integer;
begin
s := GetEnvVarValue('PATH');
if not AnsiContainsText(s, 'C:\MeuCaminho') then
begin
s := s + ';C:\MeuCaminho';
i := SetEnvVarValue('PATH', s);
if i > 0 then
raise Exception.CreateFmt('Ocorreu o erro %d ao tentar atualizar a variável de ambiente "PATH"!', [i]);
end;
end;
O ideal seria quebrar o resultado do GetEnvVarValue em strings, usando como referência o ";" (ponto e vírgula) que serve para separar cada caminho do 'PATH'.
Um abraço,
Jair
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar path Windows
Olá Jânio,
Assim funciona, mas precisa estar rodando no modo administrador:
Assim funciona, mas precisa estar rodando no modo administrador:
Código: Selecionar todos
Function Main()
cPath := GetEnv( "Path" ) + ";C:\Meu Teste"
Hb_Run( [SETX PATH "&cPath." /M] )
Return NilAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Mudar path Windows
Ola Jairo,
Pra mim nao funcionou, mesmo rodando como administrador no meu win7 64bits!
cPath := GetEnv( "Path" ) + ";C:\CriaSoftWare"
Hb_Run( [SETX PATH "&cPath." /M] )
Resultado path apos o comando:
PATH=C:\MinGW\bin;C:\MinGW\libexec\gcc\i686-pc-mingw32\4.8.2;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x64;C:\Program Files (x86)\Windows Live\Shared;c:\xharbour\bin;c:\bcc55\bin;C:\Program Files\TortoiseSVN\bin;C:\Medcl5\xbapi\bin\build1211;C:\Medcl\xbapi\bin\build1210;C:\Medcl\xbapi\bin\build1211;path=C:\MinGW\bin;C:\MinGW\libexec\gcc\i686-pc-mingw32\4.8.2;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x64;C:\Program Files (x86)\Windows Live\Shared;c:\xharbour\bin;c:\bcc55\bin;C:\Program Files\TortoiseSVN\bin;C:\Medcl5\xbapi\bin\build1211;C:\Medcl\xbapi\bin\build1210;C:\Medcl\xbapi\bin\build1211;c:\harbour32\bin;c:\MinGW\bin
Não consta o caminho "c:\CriaSoftWare" que acrescentei!
Pra mim nao funcionou, mesmo rodando como administrador no meu win7 64bits!
cPath := GetEnv( "Path" ) + ";C:\CriaSoftWare"
Hb_Run( [SETX PATH "&cPath." /M] )
Resultado path apos o comando:
PATH=C:\MinGW\bin;C:\MinGW\libexec\gcc\i686-pc-mingw32\4.8.2;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x64;C:\Program Files (x86)\Windows Live\Shared;c:\xharbour\bin;c:\bcc55\bin;C:\Program Files\TortoiseSVN\bin;C:\Medcl5\xbapi\bin\build1211;C:\Medcl\xbapi\bin\build1210;C:\Medcl\xbapi\bin\build1211;path=C:\MinGW\bin;C:\MinGW\libexec\gcc\i686-pc-mingw32\4.8.2;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\1.5\bin\x64;C:\Program Files (x86)\Windows Live\Shared;c:\xharbour\bin;c:\bcc55\bin;C:\Program Files\TortoiseSVN\bin;C:\Medcl5\xbapi\bin\build1211;C:\Medcl\xbapi\bin\build1210;C:\Medcl\xbapi\bin\build1211;c:\harbour32\bin;c:\MinGW\bin
Não consta o caminho "c:\CriaSoftWare" que acrescentei!
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Mudar path Windows
So agora prestei atenção numa coisa:
ao executar os comandos acima, abre uma janela 'preta' com a msg:
AVISO: os dados serão truncados em 1024 caracteres ao serem salvos
Deve ser por isso q não funciona!
Janio
ao executar os comandos acima, abre uma janela 'preta' com a msg:
AVISO: os dados serão truncados em 1024 caracteres ao serem salvos
Deve ser por isso q não funciona!
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Mudar path Windows
Olá Jânio,
Com certeza. Os dados na linha do Path são truncados em 1.024 bytes para salvar o registro. (mesmo no Win 7 64).
Com certeza. Os dados na linha do Path são truncados em 1.024 bytes para salvar o registro. (mesmo no Win 7 64).
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Mudar path Windows
Solução??
Tem outro inconveniente: qndo o path eh alterado pelo prompt, aquela alteração fica ativa apenas e enquanto a janela do prompt estiver aberta. Não tenho certeza disso mas parece q funciona assim. No caso precisamos que seja alterado tbm nas variaveis de ambiente das configurações avançadas do windows.
Deve haver alguma forma de alterar o path do windows (sem restrição). Alguns programas em sua instalação alteração o path do windows...
Janio
Tem outro inconveniente: qndo o path eh alterado pelo prompt, aquela alteração fica ativa apenas e enquanto a janela do prompt estiver aberta. Não tenho certeza disso mas parece q funciona assim. No caso precisamos que seja alterado tbm nas variaveis de ambiente das configurações avançadas do windows.
Deve haver alguma forma de alterar o path do windows (sem restrição). Alguns programas em sua instalação alteração o path do windows...
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mudar path Windows
Amiguinhos,
Para alterar uma variável de ambiente permanentemente é preciso ir ao Painel de Controle ou diretamente no registro.
Veja este tópico aqui
O comando:
nircmd.exe regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"
Manipula o registro passando a chave e as variáveis.
As chaves de ambiente estão em \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
\HKCU\Environment.
Segue uma pequena lista de variáveis existentes:
%ALLUSERSPROFILE% C:\ProgramData
%APPDATA% C:\Users\(username}\AppData\Roaming
%CommonProgramFiles% C:\Program Files\Common Files
%COMPUTERNAME% {computername}
%COMSPEC% C:\Windows\System32\cmd.exe
%HOMEDRIVE% C:
%HOMEPATH% \Users\{username}
%LOCALAPPDATA% C:\Users\{username}\AppData\Local
%PATH% C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
%PATHEXT% .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .MSC
%ProgramData% C:\ProgramData
%PROGRAMFILES% Directory containing program files, usually C:\Program Files
%PROMPT% Code for current command prompt format. Code is usually $P$G
%Public% C:\Users\Public
%SYSTEMDRIVE% The drive containing the Windows XP root directory, usually C:
%SYSTEMROOT% The Windows XP root directory, usually C:\Windows
%TEMP% and %TMP% C:\Users\{Username}\AppData\Local\Temp
%USERNAME% {username}
%USERPROFILE% C:\Users\{username}
%WINDIR% C:\Windows
Para alterar uma variável de ambiente permanentemente é preciso ir ao Painel de Controle ou diretamente no registro.
Veja este tópico aqui
O comando:
nircmd.exe regedit "HKLM\Software\Microsoft\Windows\CurrentVersion" "CommonFilesDir"
Manipula o registro passando a chave e as variáveis.
As chaves de ambiente estão em \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
\HKCU\Environment.
Segue uma pequena lista de variáveis existentes:
%ALLUSERSPROFILE% C:\ProgramData
%APPDATA% C:\Users\(username}\AppData\Roaming
%CommonProgramFiles% C:\Program Files\Common Files
%COMPUTERNAME% {computername}
%COMSPEC% C:\Windows\System32\cmd.exe
%HOMEDRIVE% C:
%HOMEPATH% \Users\{username}
%LOCALAPPDATA% C:\Users\{username}\AppData\Local
%PATH% C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem
%PATHEXT% .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .MSC
%ProgramData% C:\ProgramData
%PROGRAMFILES% Directory containing program files, usually C:\Program Files
%PROMPT% Code for current command prompt format. Code is usually $P$G
%Public% C:\Users\Public
%SYSTEMDRIVE% The drive containing the Windows XP root directory, usually C:
%SYSTEMROOT% The Windows XP root directory, usually C:\Windows
%TEMP% and %TMP% C:\Users\{Username}\AppData\Local\Temp
%USERNAME% {username}
%USERPROFILE% C:\Users\{username}
%WINDIR% C:\Windows
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Mudar path Windows
Nao temos em harbour nada para mudar diretamente o registro do windows?
Janio
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Mudar path Windows
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Mudar path Windows
Matou a pau, Rochinha!
:|<
) :{ :)Pos
:-Y X:) ;-* :%
Vlw
Janio
:|<
:-Y X:) ;-* :%
Vlw
Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
