Newsgroup: it.comp.lang.delphi
Titolo: Catturare i parametri di una shellexecute

Ho un programma di una terza parte scritto in delphi, chiamiamolo A, che
invoca un eseguibile esterno (presumo tramite shellexecute), chiamimolo B.
Devo riuscire ad intercettare che cosa A passa a B.
Col registro di windows, e' sufficiente utilizzare un'utility tipo winsight32,
fornita con delphi stesso, ma con una shellexecute?
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 fornita con delphi stesso, ma con una shellexecute?
Una tecnica idiota è questa:
Prima di far partire gli eseguibili modifica la chiave di registro HKEY_CLASSES_ROOT\exefile\shell\open e invece del
parametro standard
"%1" %* inserisci Logga.exe "%1" %*
dove logga.exe è un tuo programma che non fa altro che prelevare i parametri di ingresso, memorizzarli su di un file e
passarli alla funzione shellexecute.
in questo modo nel tuo file avrai tutte le chiamate del tipo prog1.exe par1 par2 eccetera
--
Ciao,
David (
www.utilityweb.net
)

in questo modo nel tuo file avrai tutte le chiamate del tipo prog1.exe par1 par2 eccetera
Grazie per questo hack, un cosa alla "man in the middle"... ;)
Ciao!


 Grazie per questo hack, un cosa alla "man in the middle"... ;)
Anni fa ci fu un virus che semplicemente ti inchiodava la macchina
impostandosi nel registro l'associazione per tutti i file "eseguibili"
(es. com pif bat exe etc. etc).
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.

> Grazie per questo hack, un cosa alla "man in the middle"... ;)
Prego. L'ho utilizzato tempo fa per capire che cavolo di applicativo faceva partire uno script all'accenzione.
Ora lo uso per monitorare cosa lanciano i miei colleghi quando non ci sono
--
Ciao,
David (
www.utilityweb.net
)

 cosa lanciano i miei colleghi quando non ci sono --
Attento alla legalita' della cosa.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/1Z


Attento alla legalita' della cosa.
Penso che se lo fai sulla tua macchina sia legale :-).
Cmq in questo campo ci sono forti pareri controversi... la legislazione
informatica e' molto farraginosa (come al solito).


> Attento alla legalita' della cosa.
Perfettamente legale visto che la macchina č mia di proprietą
--
Ciao,
David (
www.utilityweb.net
)

Ora lo uso per monitorare cosa lanciano i miei colleghi quando non ci sono
Scusa se disturbo di nuovo... ho provato a realizzare questo programmino ma mi
continua ad andare in loop: nel senso che continua ad aprirmi la finestra.
Il programmino grossolano che ho realizzato nel metodo onshow fa questo:
procedure TfrmIntercetta.FormShow(Sender: TObject);
var i:integer;
sParametri:string;
begin
  sParametri := '';
  for i := 2 to ParamCount do begin
     sParametri := sParametri + ParamStr(i)+' ';
  end;
  sParametri := Trim(sParametri);
  MessageDlg('Lancio ' +ParamStr(1) + ' con parametri:<'+sParametri +'>',
mtInformation, [mbOK], 0);
  ShellExecute(Handle, 'open', PChar(ParamStr(1)), PChar(sParametri), nil,
SW_SHOW);
  Close;
end;
Perche' mi va in loop quando lancio qualcosa?
