FodasticC
-
Total de itens
17 -
Registro em
-
Última visita
Posts postados por FodasticC
-
-
me sinto até envergonhado de voltar dizendo que não consegui,tentei de varias formas,compila mais não troca o dns, os outros mudam normal.estou desde a hora que você postou esses ultimos 2 topicos, e nada. tentei só com esta funçao que esta funçao:
uses Registry;
procedureSaveStringToRegistry_LOCAL_MACHINE(
sKey, sItem, sVal : string );
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create( '' );
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.WriteString(
sKey, sItem, sVal + #0 );
reg.Free;
end;
procedure
SetTCPIPDNSAddresses(
sIPs : string );
begin
//
// if using Windows NT
//
SaveStringToRegistry_LOCAL_MACHINE(
'SYSTEMCurrentControlSet' +
'ServicesTcpipParameters',
'NameServer',
sIPs );
end;
e nada. é ruim d+ quando fica tentando e não consegue rsrs.
-
tentei assim e outras formas + dá o seguinte erro: DNSprim not supported by automation object
beginvIPAddress := ArrayToVarArray([Form1.Edit1.Text]); // <<<<<<<<<<<<<
vSubnetMask := ArrayToVarArray(['255.255.255.0']);
if FWbemObject.EnableStatic(vIPAddress, vSubnetMask, ) = 0 then
begin
vDefaultIPGateway := ArrayToVarArray(['Form1.Edit2.Text']); // <<<<<<<<<<<<
vGatewayCostMetric := ArrayToVarArray(['1']); // << alterar aqui
FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
begin
vDNSprim := ArrayToVarArray(['192.168.20.5']);
FWbemObject.DNSPrim (vDNSPrim);
end;
-
aew amigao, eu já estava pesquisando neste site desde o inicio rsrs, me diz uma coisa é o Dnsprim mesmo a função para definir o dns?
-
não funciona, onde estou errando ?
varFSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
vIPAddress : OleVariant;
vSubnetMask : OleVariant;
vDefaultIPGateway : OleVariant;
vGatewayCostMetric : OleVariant;
vDNSPrim : OleVariant;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
vIPAddress := ArrayToVarArray([Form1.Edit1.Text]); // <<<<<<<<<<<<<
vSubnetMask := ArrayToVarArray(['255.255.255.0']);
if FWbemObject.EnableStatic(vIPAddress, vSubnetMask, ) = 0 then
begin
vDefaultIPGateway := ArrayToVarArray(['Form1.Edit2.Text']); // <<<<<<<<<<<<
vGatewayCostMetric := ArrayToVarArray(['1']); // << alterar aqui
vDNSPrim := ArrayToVarArray(['192.168.20.5']);
FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric,vDNSPrim);
end;
VarClear(vIPAddress);
VarClear(vSubnetMask);
VarClear(vDefaultIPGateway);
VarClear(vGatewayCostMetric);
VarClear(vDNSPrim);
FWbemObject:=Unassigned;
o dns não muda de jeito nenhum.
-
obrigado amigao, você é fera. funcionou legal. só falta o DNS, ve onde estou errando, estou colocando assim
procedure SetStaticIP;
const
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
vIPAddress : OleVariant;
vDNSAddress : OleVariant;
vSubnetMask : OleVariant;
vDefaultIPGateway : OleVariant;
vGatewayCostMetric : OleVariant;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
vIPAddress := ArrayToVarArray([Form1.Edit1.Text]); // <<<<<<<<<<<<<
vSubnetMask := ArrayToVarArray(['255.255.255.0']);
vDNSAddress := ArrayToVarArray(['192.168.20.5']);
if FWbemObject.EnableStatic(vIPAddress, vSubnetMask,vDNSAddress) = 0 then
begin
vDefaultIPGateway := ArrayToVarArray([Form1.Edit2.Text]); // <<<<<<<<<<<<
vGatewayCostMetric := ArrayToVarArray(['1']); // << alterar aqui
FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
end;
VarClear(vIPAddress);
VarClear(vDNSAddress);
VarClear(vSubnetMask);
VarClear(vDefaultIPGateway);
VarClear(vGatewayCostMetric);
FWbemObject:=Unassigned;
end;
end;
outra pergunta, como você sabia que tinha um Tbuton ao ver a funçao
function ArrayToVarArray(Arr : Array Of string):OleVariant; overload;var
i : integer;
begin
Result :=VarArrayCreate([0, High(Arr)], varVariant);
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
function ArrayToVarArray(Arr : Array Of Word):OleVariant;overload;
var
i : integer;
begin
Result :=VarArrayCreate([0, High(Arr)], varVariant);
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
procedure SetStaticIP;
const
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
vIPAddress : OleVariant;
vSubnetMask : OleVariant;
vDefaultIPGateway : OleVariant;
vGatewayCostMetric : OleVariant;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
vIPAddress := ArrayToVarArray(['192.168.1.141]);
vSubnetMask := ArrayToVarArray(['255.255.255.0']);
if FWbemObject.EnableStatic(vIPAddress, vSubnetMask) = 0 then
begin
vDefaultIPGateway := ArrayToVarArray(['192.168.1.100']);
vGatewayCostMetric := ArrayToVarArray([1]);
FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
end;
VarClear(vIPAddress);
VarClear(vSubnetMask);
VarClear(vDefaultIPGateway);
VarClear(vGatewayCostMetric);
FWbemObject:=Unassigned;
end;
end;
-
e aew amigao, entendi mais não funciona nada que eu coloco na caixa de texto do programa funciona, só funciona se eu por o ip direto aqui >vIPAddress := ArrayToVarArray(['+Edit1.Text+']); sem o +edit1.text+, tentei de varias formas e nada. tudo que coloco pra edit.text não vai.
-
opa amigo não funcionou não acontece nada, porque eu tenho que colocar o ip 192.168.1.141 aqui se eu quero por pra digitar na caixa de texto. não entendi.
begin
//Edit1.Text := '192.168.1.141'
//Edit2.Text := '192.168.1.100
-
muito obrigado amigo, você é fera d+ só falta isto, ArrayToVarArray(['192.168.1.141']); em vez de deixar esse ip pra sempre, colocar a caixa de texto e deixar que eu ou alguém digite o ip que quiser.
se quiser pode me dar só dicas para eu pesquisar e fazer.
achei esta funçao:
diz que o que foi colocado na caixa de texto vai para onde estiver escrito Editt. mais não funciona até compila sem erros mais não muda em nada.procedure TForm1.Edit1Change(Sender: TObject);var
Editt:string;
begin
Editt := edit1.text;
end;
end.
ai eu tentei por
vIPAddress := ArrayToVarArray(['Editt]);e esta função mais não adiantou
-
obrigado pela ajuda amigo,consegui da forma que você explicou, agora estou fazendo pra por em DCHP + da este erro: [Error] Unit1.pas(12): Unsatisfied forward or external declaration: 'TForm1.Button1Click'..
como ficou:
=VarArrayCreate([0, High(Arr)], varVariant);unit Unit1;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses ComObj, ActiveX, StdVcl; // <<< faltou
function ArrayToVarArray(Arr : Array Of string):OleVariant; overload;
var
i : integer;
begin
Result :
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
function ArrayToVarArray1(Arr : Array Of Word):OleVariant;overload; // << nome da função
var
i : integer;
begin
Result :=VarArrayCreate([0, High(Arr)], varVariant);
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
procedure SetStaticIP;
const
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
FWbemObject.EnableDHCP();
FWbemObject:=Unassigned;
end;
end;
end.
outra duvida, estou tentando por 1 caixa de edit pra mim digitar o ip em vez de por o ip direto.exemplo :
vIPAddress := ArrayToVarArray(['192.168.1.141]); em vez de deixar esse ip pra sempre, colocar a caixa e deixar que eu ou alguém digite o ip que quiser.
-
Bom pessoal estou tentando usar o comando
WinExec('cmd.exe /c netsh interface ip set address name=“conexaolocal” static 10.76.1.54 255.255.255.0 10.76.1.1 1',SW_normal);
ele até roda mais não faz efeito nenhum. já troquei o nome da conexao local e tudo e nada funciona,se eu tento pelo netsh.exe direto ,funciona normal.
estou precisando disto pois no meu trabalho preciso toda hora trocar o ip pois entro na velox e na rede interna e para acessar a velox eu preciso por o ip ,e quero simplificar isso pra deixar só no click do programa fazer automatico. o sistema operacional é win7 e D7.
andei pesquisando e achei este exemplo mais não sei como por a funcionar, parece que precisa da wmi library eu procurei mais não acho para download.ai tem que usar o Win32_NetworkAdapterConfiguration para por o EnableStatic method.
function ArrayToVarArray(Arr : Array Of string):OleVariant; overload;var
i : integer;
begin
Result :=VarArrayCreate([0, High(Arr)], varVariant);
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
function ArrayToVarArray(Arr : Array Of Word):OleVariant;overload;
var
i : integer;
begin
Result :=VarArrayCreate([0, High(Arr)], varVariant);
for i:=Low(Arr) to High(Arr) do
Result:=Arr;
end;
procedure SetStaticIP;
const
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
vIPAddress : OleVariant;
vSubnetMask : OleVariant;
vDefaultIPGateway : OleVariant;
vGatewayCostMetric : OleVariant;
begin
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
vIPAddress := ArrayToVarArray(['192.168.1.141']);
vSubnetMask := ArrayToVarArray(['255.255.255.0']);
if FWbemObject.EnableStatic(vIPAddress, vSubnetMask) = 0 then
begin
vDefaultIPGateway := ArrayToVarArray(['192.168.1.100']);
vGatewayCostMetric := ArrayToVarArray([1]);
FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
end;
VarClear(vIPAddress);
VarClear(vSubnetMask);
VarClear(vDefaultIPGateway);
VarClear(vGatewayCostMetric);
FWbemObject:=Unassigned;
end;
end;
-
douglas, aki tambem dava isso mais paro, manualmente tambem vai xD. so não sei dizer porque paro husauhas
mais tipo o que estou fazendo de errado jhonas:
unit Unit1;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw_EWB, EwbCore, EmbeddedWB;
type
TForm1 = class(TForm)
Button1: TButton;
EmbeddedWB1: TEmbeddedWB;
procedure Button1Click(Sender: TObject);
function post(wb:TEmbeddedWB; n:integer; s:string = 'submit'):boolean;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function tform1.post(wb:TEmbeddedWB; n:integer; s:string = 'submit'): boolean;
var
ovElements: OleVariant;
i: Integer;
begin
result:=false;
ovElements := wb.OleObject.Document.forms.item(n).elements;
for i := 0 to (ovElements.Length - 1) do
if (SameText(ovElements.item(i).type, s) )then
begin
ovElements.item(i).Click;
result:=true;
end;
procedure TForm1.Button1Click(Sender: TObject); <-----~----~~ Aki esta dando ERRO
begin
EmbeddedWB1.FillForm('Email','xxxx');
EmbeddedWB1.FillForm('senha','xxxx');
post(EmbeddedWB1,0);
end;
end.
e como eu terminaria com o codigo que você coloco.
-
Tipo um colega me mando o seguinte codigo:
um exêmplo pra você, pro orkut.
Só você criar um botão e um embeddedwb
Primeiro de tudo, declare essa função no Type
Depois declare a função:CODEfunction post(wb:TEmbeddedWB; n:integer; s:string = 'submit'):boolean;
CODEfunction tform2.post(wb:TEmbeddedWB; n:integer; s:string = 'submit'): boolean;
var
ovElements: OleVariant;
i: Integer;
begin
result:=false;
ovElements := wb.OleObject.Document.forms.item(n).elements;
for i := 0 to (ovElements.Length - 1) do
if (SameText(ovElements.item(i).type, s) )then
begin
ovElements.item(i).Click;
result:=true;
end;
end;
agora vem a parte final, que é colocar login e senha, depois logar.
CODEprocedure TForm2.Button1Click(Sender: TObject);
begin
EmbeddedWB1.FillForm('Email','Seu e-mail');
EmbeddedWB1.FillForm('Passwd','Sua senha');
post(EmbeddedWB1,0);
end;
eu estou tentando fazer 1 programa pra entrar já no orkut logado como fazer isso ai funcionar, eu tentei o programa rodo mais não apareceu nada.
-
jhonas, com esse codigo seu ele abre a pagina do orkut quando clica no botao, mais como eu faço agora pra digitar nos botoes edit o loguin e a senha e quando aperta o botao ir pra la,
e outra coisa usando esse codigo ou um so pra abrir a pagina do orkut, depois que eu digito a senha e o login ai ele carrega e fecha, o google fica normal.
-
bom estou tentando fazer 1 programa que logue no orkut
fiz isso: coloquei 2 edits 1 para e-mail e um para senha, 1 button para Login,um WebBrowser .
no button coloquei esse codigo :WebBrowser1.Navigate('https://www.google.com/accounts/ServiceLoginBoxAuth?service=orkut&nui=2&uilel=1&Email='+Edit1.Text+'&Passwd='+Edit2.Text+'&skipvpage=true&continue=http%3A%2F%2Fwww.orkut.com%2FRedirLogin.aspx');
o programa ate abre mais a janela não carrega. alguém pde me ajudar?
-
Tipo brow aprendi algumas coisas +, mais o principal eu não consegui que é deixar o programa ativo na janela que esta em foco
-
estou tentando fazer um macro pra um jogo (cabal), que fique apertando a tecla: barra de espaço direto.
eu fiz isso:
na unit
procedure TForm1.Timer1Timer(Sender: TObject);
begin
keybd_event(VK_SPACE, 0, 0, 0);
end;
agora quero adicionar uma funçao de parar e de iniciar pra ele não ficar direto,e tambem que ele fique ativo no jogo pois, só fica em outros lugares: como bloco de notas,sites etc e no jogo não.
se alguém puder me ajudar agradeço flws aew pessoal
(Resolvido) Como usar esta funçao
em Delphi, Kylix
Postado
fecho com 10 jhonas,muito obrigado amigão, antes não estava mudando por que não estava executando como adiministrador rsrs. ai estou usando
WinExec('cmd /c netsh interface ip set dns "Conexão local" static 10.0.0.1', 0); pra mudar ficou show de bola vlws mesmo