Newsgroup: it.comp.lang.visual-basic
Titolo: [?] CreateProcess

In questo link
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/pro
thred_9dpv.asp
non si specifica se il parametro lpCommandLine (in pratica quello che
contiene, passando il primo vuoto) il percorso e il nome dell'applicazione
da avviare e, a seguire, eventuali informazioni aggiuntive, ha delle
limitazioni di lunghezza/caratteri.
Mi spiego meglio: L'interprete dei comandi da finestra DOS (o da file .BAT)
non accetta righe più lunghe di 128 (o 256, non ricordo) caratteri.
Che voi sappiate, esiste una limitazione analoga anche per quel parametro?
Grazie.

Come non detto (avrei dovuto farlo prima). Ho provato e sono arrivato a 978
caratteri.

> "Lupo" [...]:

    MAX_PATH ?
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

     MAX_PATH ?
Cusalč, 'ndualč?

 Cusalè, 'ndualè?
    Una costante definita in "WIN32API.TXT".


 Cusalè, 'ndualè?
dicesi costante ;)
Const MAX_PATH = 260
beh, non so se sia la stessa cosa... ma, da MSDN:
Path Field Limits
#include <stdlib.h>
Remarks
These constants define the maximum length for the path and for the
individual fields within the path.
ConstantMeaning
_MAX_DIR    Maximum length of directory component
_MAX_DRIVE    Maximum length of drive component
_MAX_EXT    Maximum length of extension component
_MAX_FNAME    Maximum length of filename component
_MAX_PATH    Maximum length of full path
The sum of the fields should not exceed _MAX_PATH.
ciao, assa.

     Una costante definita in "WIN32API.TXT".
Sě, questo l'avevo immaginato (vale 260), ma ho fatto ricerche e mi pare che
venga usata solo per URL. Dici che viene considerato per il CLI del DOS?
In ogni caso, con le prove che ho fatto, per CreateProcess sono arrivato a
978 caratteri...

 978 caratteri...
    Nononono... Nota che avevo scritto "MAX_PATH ?", col puntinterrogativo.
    Una mera traccia... una ipotesi da verificare... un contributo
domenicale allo stato brado...


 aggiuntive, ha delle limitazioni di lunghezza/caratteri.
32767 caratteri al massimo (su Windows NT e famiglia). Dovresti starci 
bello largo
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!

 bello largo
Maya, grazie, ma quel "su Windows NT e famiglia" mi preoccupa.
Vuoi forse dire che su Win 9x/Me e famiglia la limitazione esiste?

 Vuoi forse dire che su Win 9x/Me e famiglia la limitazione esiste?
no, solo che ho dati certi solamente su Windows NT. Su Windows 95 e 
cricca, sinceramente non ne ho idea. Se serve posso cercare


 cricca, sinceramente non ne ho idea. Se serve posso cercare
No, lascia stare. Domani in ufficio provo su Win98 e tanto mi basta. Grazie.


#ifdef UNICODE
typedef unsigned short *LPTSTR;
#else
typedef char *LPTSTR;
#endif /* UNICODE */
ciao
		maxx

#endif /* UNICODE */
beh?


 
Altri "limiti" io non ne ho trovati ...
	maxx

 Altri "limiti" io non ne ho trovati ...
e che limiti sarebbero? 2^31 caratteri di riga di comando? no, no, 
fidati di me. Il campo che tiene la lunghezza (in byte) delle stringhe 
interne di Windows è un USHORT, quindi 2^16 / sizeof(PWSTR) = 2^15 
caratteri Unicode


 
Io mi fido di te! :-)
Solo che se tu non ci sei e mi vado a vedere le definizioni delle API, 
quello si trova ...
ciao
		maxx		

 quello si trova ...
OK, abbiamo capito che Maya è Bill in incognito...
(secondo tentativo, ma tanto a queste provocazioni non reagisce...)

 API, quello si trova ...
Fatti, Non Pugnette! (TM) Vai a vedere il sito in firma, ogni volta che 
ti viene qualche dubbio


 ti viene qualche dubbio
Ma chi ha tempo per le pugnette ...  ;-)
Faccio prima ad andare su c:\src\mingw32\include\windows32\  ;-)
bye
		maxx

 Faccio prima ad andare su c:\src\mingw32\include\windows32\  ;-)
ma lě hai solo gli include. Qui, e intendo qui -\ trovi anche il codice
vero e proprio. Kernel, e i piů intimi segreti  | inclusi. Capisci di
piů su un libro leggendolo o guardando la copertina? :-)
                                 /-------------/
--                               |
 < 
http://www.reactos.com/
 > <---/ ...rce clone of Windows NT. Current


 piů su un libro leggendolo o guardando la copertina? :-)
Lo so, pero' non sempre si ha il tempo di studiarsi il codice. Il 
progetto reactos e' interessante, ma bisogna anche mobilitare risorse 
per seguirlo. E studiare il codice sai bene che non e' banale ...
Dopo tutti questi arzigoogle-ii speriamo che Lupo abbia tratto qualche 
informazione utile ... :-)
ciao
		maxx

 #define MAXSHORT         (0x7FFF)
questi sono i valori min e massimi memorizzabili nei
tipi signed char e signed short cioe' nel byte e nell'Integer
MINCHAR          (0x80)         = -128
MAXCHAR          (0x7F)        = 127
MINSHORT         (0x8000)    = -32768
MAXSHORT         (0x7FFF)  = 32767
bye
R

> tipi signed char e signed short cioe' nel byte e nell'Integer
sorry il signed char non esiste in VB (il byte e' unsigned 0-255)
bye
R


???
Il problema non erano le variabili di VB ma la massima kunghezza di 
lpCommandLine nella  API CreateProcess ...
ciao
		maxx
 

 (secondo tentativo, ma tanto a queste provocazioni non reagisce...)
Da una lurkata sul sito di ReactOS e facendo 2+2 direi che e'
inequivocabilmente KJK::Hyperion in incognito...
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt

 qualche informazione utile ... :-)
ma no, lui lo fa solo per tenerci in allenamento
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current


 ma no, lui lo fa solo per tenerci in allenamento
Ok, mi sono rotto. Il giochetto è finito.

 Ok, mi sono rotto. Il giochetto è finito.
non hai che da ignorarmi


 un altro che confonde lunghezza e valore :-)
Solo a notte fonda :-(
Getto la spugna ...
ciao
		maxx