Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VB.NET avviare exe nascosto

251 views
Skip to first unread message

Andrea [Work]

unread,
Mar 1, 2011, 7:00:50 AM3/1/11
to
Ciao a tutti
c'č modo di avviare un eseguibile in modo totalmente nascosto?

Ho creato una sorta di launcher .NET che lancia alcuni eseguibili tramite:
Process.StartInfo.WindowStyle= <valore>
Process.Start()

Ma il WindowStyle non lo considera.

Teoricamente potrei mettere mano anche agli eseguibili lanciati (che sono
in VB6) ma volevo evitare perchč sono tanti e sarebbero da ritestare, e non
č cosě semplice essendo "driver".

Grazie

Wodka40[Google]

unread,
Mar 1, 2011, 8:32:47 AM3/1/11
to
On 1 Mar, 13:00, "Andrea [Work]" <andrea.isworkDELET...@gmail.invalid>
wrote:
zac
Dim pp As Process
Dim tt As New ProcessStartInfo
tt.WindowStyle = ProcessWindowStyle.Hidden
tt.FileName = "c:\windows\system32\mspaint.exe"
tt.CreateNoWindow = True
pp = Process.Start(tt)
MessageBox.Show("Wait Ammazzo e riavvio in maniera diversa")
pp.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
pp.Kill()
pp.Start()


Avvertenze:
se lo fai con MIRC ad esempio non funziona!
Perchè mirc è costruito per andare per default a pieno schermo.
Se lo usi con programmi tuoi devi prevedere un "silent mode" fra le
opzioni da command line per andare nascosto.

Wodka40[Google]

unread,
Mar 1, 2011, 8:34:14 AM3/1/11
to
On 1 Mar, 14:32, "Wodka40[Google]" <virgultoamor...@latinmail.com>
wrote:

Logicamente devi provare avendo accanto il task manager per vedere che
te lo avvia davvero ma senza aprire finestre!

Andrea [Work]

unread,
Mar 1, 2011, 10:16:16 AM3/1/11
to
Il Tue, 1 Mar 2011 05:34:14 -0800 (PST), Wodka40[Google] ha scritto:

>> se lo fai con MIRC ad esempio non funziona!
>> Perchè mirc è costruito per andare per default a pieno schermo.
>> Se lo usi con programmi tuoi devi prevedere un "silent mode" fra le
>> opzioni da command line  per andare nascosto.
>
> Logicamente devi provare avendo accanto il task manager per vedere che
> te lo avvia davvero ma senza aprire finestre!

Grazie,
i programmi son miei, ma con CreateNoWindows non mi pare faccia nulla. Il
codice è questo:

Dim fileName As String = Me.ExePath

Me.Process = New Process
Me.Process.StartInfo.FileName = fileName
Me.Process.StartInfo.WindowStyle = Me.WindowStyle
Me.Process.StartInfo.CreateNoWindow = True
If Me.CommandLine.Length > 0 Then
Me.Process.StartInfo.Arguments = Me.CommandLine
End If
Me.Process.Start()

Ovviamente Me.WindowStyle è su Hidden.

Ma il CreateNoWindow cosa farebbe allora? Fa un "tentativo"?

Perchè penso che alla fine devo mettere mano ai singoli EXE...

Wodka40[Google]

unread,
Mar 1, 2011, 1:48:48 PM3/1/11
to
On 1 Mar, 16:16, "Andrea [Work]" <andrea.isworkDELET...@gmail.invalid>
wrote:

> Il Tue, 1 Mar 2011 05:34:14 -0800 (PST), Wodka40[Google] ha scritto:
>
zac
Credo interfacci l'api ShowWindow con flag SW_HIDE
però è avvio che se nel load dell'applicazione c'è un
maximize....quello prevale....è l'ultima cosa che fà!


in buona sostanza ...credo sia un wrapper !
infatti puoi sostituire quella serie di comandi sull'aspetto della
finestra ...se ti piace l'old vb6 style "apifero"... con:
http://pinvoke.net/default.aspx/user32.ShowWindow


Marcello Cantelmo

unread,
Mar 2, 2011, 2:40:01 AM3/2/11
to
On 1 Mar, 13:00, "Andrea [Work]" <andrea.isworkDELET...@gmail.invalid>
wrote:
> Ciao a tutti
> c' modo di avviare un eseguibile in modo totalmente nascosto?

>
> Ho creato una sorta di launcher .NET che lancia alcuni eseguibili tramite:
> Process.StartInfo.WindowStyle= <valore>
> Process.Start()
>
> Ma il WindowStyle non lo considera.
>
> Teoricamente potrei mettere mano anche agli eseguibili lanciati (che sono
> in VB6) ma volevo evitare perch sono tanti e sarebbero da ritestare, e non
> cos semplice essendo "driver".
>
> Grazie

ciao,

gli eseguibili che lanci sono tutti in console-mode?

vedi se questa tecnica risolve il tuo problema ;-)


Imports System.Runtime.InteropServices

Module Module1

<DllImport("kernel32.dll", SetLastError:=True,
ExactSpelling:=True)> _
Private Function FreeConsole() As Boolean
End Function

Sub Main()
Dim bFlag As Boolean = FreeConsole()'// nasconde la
finestra...

End Sub

End Module

Marcello Cantelmo
www.cantelmosoftware.com

Andrea [Work]

unread,
Mar 2, 2011, 4:06:04 AM3/2/11
to
Il Tue, 1 Mar 2011 23:40:01 -0800 (PST), Marcello Cantelmo ha scritto:

> gli eseguibili che lanci sono tutti in console-mode?
>
> vedi se questa tecnica risolve il tuo problema ;-)

No sono eseguibili vb6 "normali" con finestra, ma che in realtà vorrei
nascondere dall'esterno senza metterci mano in ognuno.

Andrea [Work]

unread,
Mar 2, 2011, 4:06:58 AM3/2/11
to
Il Tue, 1 Mar 2011 10:48:48 -0800 (PST), Wodka40[Google] ha scritto:

> Credo interfacci l'api ShowWindow con flag SW_HIDE
> però è avvio che se nel load dell'applicazione c'è un
> maximize....quello prevale....è l'ultima cosa che fà!
>
>
> in buona sostanza ...credo sia un wrapper !
> infatti puoi sostituire quella serie di comandi sull'aspetto della
> finestra ...se ti piace l'old vb6 style "apifero"... con:
> http://pinvoke.net/default.aspx/user32.ShowWindow

Farò qualche altra prova, e al limite scrivo codice nei vari eseguibili se
non riesco.

Andrea [Work]

unread,
Mar 2, 2011, 4:07:07 AM3/2/11
to
Il Tue, 1 Mar 2011 10:48:48 -0800 (PST), Wodka40[Google] ha scritto:

> Credo interfacci l'api ShowWindow con flag SW_HIDE
> però è avvio che se nel load dell'applicazione c'è un
> maximize....quello prevale....è l'ultima cosa che fà!
>
>
> in buona sostanza ...credo sia un wrapper !
> infatti puoi sostituire quella serie di comandi sull'aspetto della
> finestra ...se ti piace l'old vb6 style "apifero"... con:
> http://pinvoke.net/default.aspx/user32.ShowWindow

Farò qualche altra prova, e al limite scrivo codice nei vari eseguibili se
non riesco.
Grazie

Wodka40[Google]

unread,
Mar 2, 2011, 5:30:52 AM3/2/11
to
On 2 Mar, 10:06, "Andrea [Work]" <andrea.isworkDELET...@gmail.invalid>
wrote:

> Il Tue, 1 Mar 2011 23:40:01 -0800 (PST), Marcello Cantelmo ha scritto:
>
> > gli eseguibili che lanci sono tutti in console-mode?
>
> > vedi se questa tecnica risolve il tuo problema ;-)
>
> No sono eseguibili vb6 "normali" con finestra, ma che in realt vorrei

> nascondere dall'esterno senza metterci mano in ognuno.

Io lo ripeto ...però a questo punto credo sia un problema di
comunicazione mio...io scrivo (anche in altri post di altri utenti)
nessuno mi legge!

proverò con un altro linguaggio

Lanciare un processo che piffero significa...terra terra nel caso
specifico?
Significa invocare un exe e riservagli risorse
Lo posso fare in maniera unmanaged...con le API
o managed con la classe Process ed altre

PERO' questo non significa far diventare il mio exe
originale....."altro"!

perchè lanciare un processo NON SIGNIFICA CAZZO far diventare un
programma multiutente monoutente....o farlo diventare un server o
amenità varie!
Il programma rimane il solito!
Se nell'exe esiste un form main che si apre e se nell'evento load c'è
un bel
form MAXIMIZE...è ovvio che il mio exe va a ridimensionare il form per
espanderlo a tutto schermo...e per farlo passa da HIDE (che erano le
impostazioni del form che desideravo nel process) a SHOW MAXIMIZE...
stiamo scherzando che ciò non avvenga? Che succede i programmi
prendono vita e si ribellano al padrone?

Ecco che allora il previdente , colui che vuole usufruire di una cosa
del genere, si inventa un SILENT MODE...hidden mode ....cucù
mode ...come vi pare

ad esempio
STAMPAFATTURE -h c:\pippo\filedastampare.rpt
-h è un parametro che leggo da riga di comando...e non istanzia NULLA
di grafico (preferibile) o disattiva tutti i controlli risoluzione e
resize

D'altrone il Mauro è parecchio che ci ricorda che l'interfaccia è un
pezzo SVINCOLATO dal businness...
con -h la salto!...ed il mio prog ha un silent mode...per lavorare in
background e vivere felici (mica vero...se interviene un errore?.. la
cosa va studiata bene!)

Per questo mi permetto di suggerire:
la logica del lancio di exe è vecchia...sà molto di Cobol e Sistema 36
e olivetti m24.
Se è necessità implementarla va studiata parecchio bene!

La logica di un programma principale...ESPANDIBILE(serve il modulo
magazzino...lo attivo!)....
oggi la fai molto bene con un sistema a plugin e IoC e amenità varie!
Se poi hai fretta ci sono framework che hanno già tutto fatto e una
volta presa la mano tutto è molto RAD (Castle per dirne uno!)....e qui
Mauro se non mi dà una stellina gli tolgo l'amicizia!


Quindi si torna all'origine
Se il tuo sistema non prevede un silent mode non nascondi nulla!
Tutto il resto è noia...nel senso di workaround traballanti a cui io
non affiderei un sistema in produzione!

Wodka40[Google]

unread,
Mar 2, 2011, 5:32:18 AM3/2/11
to
On 2 Mar, 11:30, "Wodka40[Google]" <virgultoamor...@latinmail.com>
wrote:

> On 2 Mar, 10:06, "Andrea [Work]" <andrea.isworkDELET...@gmail.invalid>
> wrote:
zac
Fatti questa windows application

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Me.CreateGraphics.DrawString("Cor cazzo che mi nascondi!", New
Font("Arial", 20), Brushes.DarkRed, New PointF(x:=10, y:=200))
End Sub
Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.SizeChanged
Me.WindowState = FormWindowState.Maximized
End Sub
End Class

Compilala...ed avviala hidden se ti riesce !
Prrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!

Marcello Cantelmo

unread,
Mar 2, 2011, 9:41:27 AM3/2/11
to
> Compilala...ed avviala hidden se ti riesce !

...nessuno vieta, però, di hostare la tua applicazione in un
"panel"...di qualsiasi dimensione...che posso anche nascondere! ;-)

> Prrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!

...addirittura prendere in giro chi "apparentemente" ne sa meno di te
(solo perchè non ha mai affrontato un determinato problema)...non mi
sembra proprio l'atteggiamento da usare in un newsgroup!

just my 2 cent!

Marcello Cantelmo
www.cantelmosoftware.com

Wodka40[Google]

unread,
Mar 2, 2011, 12:56:56 PM3/2/11
to
On 2 Mar, 15:41, Marcello Cantelmo <i...@cantelmosoftware.com> wrote:
> > Compilala...ed avviala hidden se ti riesce !

...peccato che non voglia prendere in giro nessuno!
Visto che è a fare prove....le faccia anche con roba simile...ad
esempio...come detto sopra...provi a nascondere mirc.exe!

Va bene...nessuno legge quello che scrivo....ok!....
(scocciato) ma che me frega a me........il bischero son io che ci
perdo tempo!

Saluti!

Marcello Cantelmo

unread,
Mar 2, 2011, 3:11:55 PM3/2/11
to
> ...peccato che non voglia prendere in giro nessuno!

oops! per fortuna che (cit) "scritta canta" ...il "Pr...." ...lascia
ad intendere ben altre cose!

> Visto che è a fare prove....le faccia anche con roba simile...ad
> esempio...come detto sopra...provi a nascondere mirc.exe!

...giustamente agli estranei si da del "Lei"! :-) ...devo studiare
meglio il comportamento nei newsgroup

...mirc.exe? :-o ...il tempo tecnico di scaricare e provare:
http://www.cantelmosoftware.com/video/host_mirc.swf ...e funziona! ;-)

> Va bene...nessuno legge quello che scrivo....ok!....
> (scocciato) ma che me frega a me........il bischero son io che ci
> perdo tempo!

scendendo ai suoi stessi livelli...avrei potuto *infierire* ...come
Lei ha fatto con la persona che ha chiesto solo aiuto...ed è stato
insultato

siamo qui a rispondere...suggerendo tecniche...poi tutti sono liberi
di accettare o rifiutare i consigli!

se c'è qualcuno che perde tempo...di sicuro...questo non è Lei!

> Saluti!

grazie per l'attenzione,

Marcello Cantelmo
www.cantelmosoftware.com

Andrea [Work]

unread,
Mar 3, 2011, 3:25:56 AM3/3/11
to
Il Wed, 2 Mar 2011 09:56:56 -0800 (PST), Wodka40[Google] ha scritto:

> Va bene...nessuno legge quello che scrivo....ok!....
> (scocciato) ma che me frega a me........il bischero son io che ci
> perdo tempo!

Su non esageriamo, non scrivo da ieri.
Appena ho un attimo provo e lascio il feedback, come ho sempre fatto.

Intanto ti ringrazio della risposta.

Wodka40[Google]

unread,
Mar 3, 2011, 3:35:38 AM3/3/11
to
On 2 Mar, 21:11, Marcello Cantelmo <i...@cantelmosoftware.com> wrote:
zac
Il problema è che sei un po "fiscale"...

> Visto che è a fare prove....le faccia anche con roba simile...ad
> esempio...come detto sopra...provi a nascondere mirc.exe!

Analisi
Visto che è a fare prove...si parla di Andrea
tradotto:Visto che ANDREA è a fare prove
le faccia anche con roba simile
tradotto: ANDREA LE PROVE le faccia anche con roba simile (CON CODICE
SIMILE A QUELLO CHE HO POSTATO)
come detto sopra
tradotto: COME HO APPENA SCRITTO AD ANDREA
provi a nascondere mirc.exe
tradotto: PROVI ANDREA a nascondere programmi simili ad mirc.exe che
si autoespandono.

L'intento non è assolutamente denigratorio ...ma di stimolo...credo
che Andrea lo capisca.
Il suo intento è di lanciare un processo senza interfaccia...la
soluzione proposta mi sembra idonea a salvaguardare il suo lavoro
futuro ed a creare meno casini possibili per il SUO lavoro.E' la
migliore? Boh! di sicuro è la più semplice se parto con uno sviluppo
ex-novo!
Purtroppo sono molto schematico...mi piacciono programmi semplici che
diano pochi problemi nel tempo sia a me che al cliente. Per ora la mia
scelta ripaga.

>
> se c'è qualcuno che perde tempo...di sicuro...questo non è Lei!
>
> > Saluti!
>
> grazie per l'attenzione,

...figurati...
BAH!

Scrivo qui sotto per chiarire ad Andrea il mio intento.....

Del cantelmo non me ne curo....è una vecchia storia...non ci
azzecchiamo!

passo e chiudo!

Andrea [Work]

unread,
Mar 3, 2011, 3:56:55 AM3/3/11
to
Il Thu, 3 Mar 2011 00:35:38 -0800 (PST), Wodka40[Google] ha scritto:

> L'intento non è assolutamente denigratorio ...ma di stimolo...credo
> che Andrea lo capisca.

Si ma infatti mica me l'ero presa io, solo che ora non ho un secondo per
provare :)

Andrea [Work]

unread,
Mar 16, 2011, 9:41:16 AM3/16/11
to
Il Thu, 03 Mar 2011 08:25:56 GMT, Andrea [Work] ha scritto:

>> Va bene...nessuno legge quello che scrivo....ok!....
>> (scocciato) ma che me frega a me........il bischero son io che ci
>> perdo tempo!
>
> Su non esageriamo, non scrivo da ieri.
> Appena ho un attimo provo e lascio il feedback, come ho sempre fatto.
>
> Intanto ti ringrazio della risposta.

Allora siccome per ora è saltato il lavoro, la metterò nelle cose da
provare "avanza tempo", quindi il feedback potrebbe arrivare fra diverso
tempo.
Grazie comunque per l'aiuto.

0 new messages