Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: bybaal en 13 Marzo 2016, 23:19 pm



Título: Hay algún equivalente en .NET a App.Taskvisible = False
Publicado por: bybaal en 13 Marzo 2016, 23:19 pm
Lo importante es que la aplicación se ejecute en segundo plano, o sea, que en el administrador de tareas no salga en el listado de aplicaciones y que si salga en el listado de procesos en segundo plano. Algo que ocurre automaticamente en VB6 al usar App.Taskvisible = False, pero en .NET no se como sería.

Gracias
por todas las ideas


Título: Re: Hay algún equivalente en .NET a App.Taskvisible = False
Publicado por: bybaal en 14 Marzo 2016, 00:35 am
Este código me resuelve el problema, pero si alguien lo puede mejorar o tiene otra idea, bienvenida sea

Código
  1.    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
  2.    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
  3.    Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer
  4.    Private Const SW_HIDE = 0
  5.    Private Const SW_SHOW = 5
  6.  
  7.    Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
  8.        Dim h As Long
  9.        h = FindWindow(vbNullString, "Form1")
  10.        If h > 0 Then
  11.            ShowWindow(h, SW_HIDE)
  12.            Sleep(20000)
  13.            ShowWindow(h, SW_SHOW)
  14.        End If
  15.    End Sub
  16.  
  17.  


Título: Re: Hay algún equivalente en .NET a App.Taskvisible = False
Publicado por: Eleкtro en 19 Marzo 2016, 20:20 pm
Es suficiente con que a la ventana le asignes el estilo de ventana extendido WS_EX_TOOLWINDOW, puedes hacerlo mediante la API de Windows con las funciones SetWindowLong o SetWindowLongPtr dependiendo de la arquitectura, o con la propiedad FormBorderStyle del Form:

Código:
Me.FormBorderStyle = FixedToolWindow

Esto conlleva unos cambios visuales en la ventana con los que puede que tengas que hacer más trabajo del necesario si no te agrada lo suficiente (me refiero a lidiar con el area no cliente de la barra de título para añadir más botones).

Saludos!