Odpalanie aplikacja z komendą

0

Witam jak mogę odpalić aplikacje z daną komendą np. C:\x.exe SN:25 SU:mx1 SP:s51 AS:M1 CL AC:1

0

ShellExecute + Google.

0

nie z komendą, tylko z parametrem(ami)! - odpowiedź: tak jak bez parametrów. Użyj ShellExecute.

0

Dzięki wielkie, ale jak to jest że pierwsze uruchomienie idzie bez parametrów?

0

Pokaż kod jak wywołujesz.

0

Mój kod wygląda tak, tylko pierwszy załącza się bez tych komend.

function sa(dane:string):PAnsiChar;
var buf: array[0..1000] of char;
i : integer;
begin
for i:=0 to 1000 do buf[i]:=#0; { musi być zerowanie bufora, patrz info na dole }
for i:=0 to length(dane) do
begin
buf[i]:=dane[i+1];
sa:=buf;
end;
end;

procedure ibot(par:pansichar) ;
begin
ShellExecute(1,'open','Ibot.exe',par,'C:\Documents and Settings\Matik\Moje dokumenty\Downloads\_iBot_Public_Released_v1.0.97' ,SW_SHOWNORMAL);
end;


procedure TForm1.Button1Click(Sender: TObject);
var
par:PAnsiChar  ;
rzeczy:string;
i,ii : integer;
ch:Tcheckbox;
e:tedit;
name,haslo,nick:string;
begin

for i := 1 to 8 do begin
ch :=Tcheckbox(self.FindComponent('checkbox'+inttostr(i)));
if ch.Checked then begin

e := Tedit(self.FindComponent('edit'+inttostr(i)));
name := e.Text;

e := Tedit(self.FindComponent('edit'+inttostr(2*i)));
haslo := e.Text;
e := Tedit(self.FindComponent('edit'+inttostr(3*i)));
nick := e.Text;
memo1.Lines.Add('Loguje na :' +nick);
rzeczy := 'SN:25 SU:'+name+' SP:'+haslo+'+ AS:'+nick+' CL AC:1';
par := sa(rzeczy);
ibot(par)
end;
end;

end;
0

Strasznie popaprany kod i niesformatowany do tego. Nie wiem po co takie kombinacje z tym PAnsiChar, ja używam PChar, bo korzystam z Delphi 7 Personal i pod Windows 7 Ultimate 64 bity PL wszystko działa. Dla próby zrob sobie tak jak poniżej. Tylko ściezka do Twojego Delphi lub projektu może być inna, ja mam taką jak poniżej, bo mam wyłaczone UAC i chce żeby Delphi zapisywało mi projekty domyślnie do podkatalogu PROJECTS, tak jak robi to Delphi 7 i pod systemami z setii XP. Także aplikacja konsolowa o poniższym kodzie, mieści się w C:\PROGRAM FILES\DELPHI7\PROJECTS\Project2.exe:

rogram Project2;

{$APPTYPE GUI}

uses
  Windows;

var
  I : integer;
  Params : string;
begin
  Params := '';
  for I := 1 to ParamCOunt do
    Params := Params + ParamStr(I) + #32;
  MessageBox(0, PChar(ParamS), 'Parametry', MB_ICONINFORMATION + MB_OK);
end.

Uruchomiona jest ona przez kod aplikacji VCL którą dla próby umieściłem w D:\Project1.exe:

//...
uses
  SHellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
  I : integer;
  Cmd, Params : string;
begin
  Params := '';
  for I := 1 to 10 do
  begin
    Params := Params + IntToStr(I) + #32;
  end;
  Cmd := 'C:\PROGRAM FILES\DELPHI7\PROJECTS\Project2.exe';
  ShellExecute(Application.Handle, 'open', PChar(Cmd), PChar(Params),
    PChar(ExtractFilePath(Cmd)), SW_SHOW);
end;

Uruchomione jest ona z pod Total Commandera, bo tak wygodniej. A wynikiem działania jest okienko, które zawiera to co poniżej, czyli wszystko ok:

---------------------------
Parametry
---------------------------
1 2 3 4 5 6 7 8 9 10 
---------------------------
OK   
---------------------------

Nie mam pojęcia dlaczego pierwszy raz masz bez parametrów, podejrzewam że to coś banalnego i "przemodzonego" przez Twój kod. Sorry, ale o ile dobrze pamiętam często Twoje wcześniejsze pytania oraz problemy wynikały z jakiś przeoczeń i banałów, bo to co piszesz w sigu swoim to prawda, że lenistwo ;/ Szkoda, że mimo upływu czasu nic się nie zmienia i nadal samodzielnie nie kombinujesz. A nawet jeżeli używa się PAnsiChar i ShellExecuteEx czy tam z jakimiś innymi dopisakami to nie powinno być problemów, ale skorzystaj z PChar oraz ShellExecute bez kombinacji z jakimiś tablicami i dziwnymi funkcjami, podejrzewam, że nawet pod nowszymi wersjami Delphi nie powinno być takich problemów z funkcją ShellExecute. A jeżeli nadal jest coś nie tak, to ja nic nie wymyślę więcej, może ktoś inny będzie wtedy wiedział więcej i Tobie tutaj pomoże.

0

Nie wiem co zrobiłem ale działa XD tylko kod troszkę uporządkowałem. Może to Pchar też pomogło. Dzięki. Piwko Ci się należy.
A to, że to tak wygląda to tylko dlatego, że śpieszyło mi się a porządków nie lubię :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1