|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 149
|
[VB.Net] Applicazione Console SWHIDE = 0 "invisibile"
Salve,
vorrei imparare meglio vb.net e non riesco a trovare nessuna documentazione o sito che spieghi come fare un applicazione console avviata nascosta. in c++ usavo: Codice:
HWND kulosia;
kulosia = FindWindow("ConsoleWindowClass", NULL);
ShowWindow(kulosia, SW_HIDE);
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao
Se non hai bisogno di interagire con una console, potresti provare a creare un servizio. Se invece per qualche motivo devi per forza utilizzare una console, credo che dovresti provare ad utilizzare: Codice:
Shell(nomeProgramma, AppWinStyle.Hide, False) Codice:
//lo scrivo in C# perchè vb lo conosco pochissimo
using System.Diagnostics
public class ProcessExample
{
private ProcessStartInfo p;
public ProcessExample(ProcessStartInfo p)
{
this.p = p;
p.CreateNoWindow = true;
Process.Start(p);
}
}
http://www.google.it/#hl=it&source=h...37ab30f7b5382a
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 149
|
Dovrei non aprire un'altro eseguibile, ma lo stesso eseguibile che viene aperto deve essere eseguito in Hide:
Codice:
Shell(PathName, AppWinStyle.Hide, False) come potrei fare in modo che dopo compilato l'eseguibile sia visibile all'apertura solo sul task manager e non come console. PathName può essere usato anche per se stesso? Codice:
//lo scrivo in C# perchè vb lo conosco pochissimo
using System.Diagnostics
public class ProcessExample
{
private ProcessStartInfo p;
public ProcessExample(ProcessStartInfo p)
{
this.p = p;
p.CreateNoWindow = true;
Process.Start(p);
}
}
Ultima modifica di kulosia : 10-04-2011 alle 19:51. |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 149
|
Codice:
Private Shared proviamo As AppWinStyle = AppWinStyle.Hide
Public Shared Sub Main()
proviamo = AppWinStyle.Hide
Impossibile leggere i tasti quando l'applicazione non dispone di una console o quando l'input da console è stato reindirizzato da un file. Provare Console.Read. qui mi dice che c'è l'errore: Codice:
Do While Console.ReadKey(True).Key <> ConsoleKey.Escape
' Do Nothing
Loop
Do While Console.Read <> Console.Read ma nessun errore nel debug ma non si avvia proprio più l'eseguibile. cioè non esce dal taskmanager, e non funziona. Ultima modifica di kulosia : 11-04-2011 alle 18:17. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao
A scanso di equivoci (magari potrei darti suggerimenti errati) vorrei capire una cosa: Ci deve essere un'interazione fra il programma e chi lo usa ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 149
|
Codice:
Public Shared Sub Main()
pstrPassword = "ciao"
Threading.ThreadPool.SetMaxThreads(1000, 1000)
Threading.ThreadPool.SetMinThreads(1000, 1000)
Dim intThreads_Completion_Max As Integer
intThreads_Completion_Max = 0
Threading.ThreadPool.GetMaxThreads(Nothing, intThreads_Completion_Max)
Dim intThreads_Completion_Min As Integer
intThreads_Completion_Min = 0
Threading.ThreadPool.GetMinThreads(Nothing, intThreads_Completion_Min)
Console.WriteLine("Thread Pool Configuration")
Console.WriteLine(" Max Threads: {0:#,##0}", intThreads_Completion_Max)
Console.WriteLine(" Min Threads: {0:#,##0}", intThreads_Completion_Min)
Try
pobjCapture = New RDC2_Library.Capture.cDirectX()
Catch ex As Exception
pobjCapture = New RDC2_Library.Capture.cGDI()
End Try
pobjCapture.GetSnapshot()
pintState_Size = pobjCapture.Length
pintState_Buffer = Runtime.InteropServices.Marshal.AllocHGlobal(pintState_Size)
pobjCapture.ReleaseSnapshot()
Console.WriteLine("Bounds: " & pobjCapture.Bounds.Width & "x" & pobjCapture.Bounds.Height & " (" & [Enum].GetName(GetType(Drawing.Imaging.PixelFormat), pobjCapture.Format) & ")")
Console.WriteLine("Compare Size: " & cintCompareSize_Max)
Console.WriteLine("Max Update Size: " & cintUpdateSize_Max)
pobjThread_Capture = New Threading.Thread(AddressOf Thread_Capture)
pobjThread_Capture.IsBackground = True
pobjTimer_FPS = New Timers.Timer(1000)
pobjTimer_FPS.Enabled = True
pobjListen = New RDC2_Library.Network.cTcpListen(5700)
Console.WriteLine("Listening on port 5700 ...")
pobjThread_Capture.Start()
pobjTimer_FPS.Start()
Do While Console.ReadKey(True).Key <> ConsoleKey.Escape
Loop
pobjTimer_FPS.Stop()
pobjTimer_FPS.Dispose()
pobjTimer_FPS = Nothing
pobjListen.Disconnect()
pobjListen.Dispose()
pobjListen = Nothing
If pobjThread_Capture IsNot Nothing Then
pobjThread_Capture.Abort()
pobjThread_Capture = Nothing
End If
pobjCapture.Dispose()
pobjCapture = Nothing
Runtime.InteropServices.Marshal.FreeHGlobal(pintState_Buffer)
pintState_Buffer = IntPtr.Zero
pintState_Size = 0
End Sub
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:23.



















