Visual Basic - Pantallas

Life is soft - evento anual de software empresarial
 
Vista:

Pantallas

Publicado por Txus (3 intervenciones) el 04/06/2001 20:51:19
Me gustaria saber si es posible como carajos puedo hacer desde Visaul Basic 6.0 una pantalla neutra, es decir una pantalla en la que no se vea nada, en especial la barra de herramientas de Windows, Asi como desactivar el Boton de Windows del Teclado.

Agradezco buestra colaboracion. Un salude Eyes, nos vemos en la
EUSKALPARTY
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ocultar el TrayBar

Publicado por BENJO (167 intervenciones) el 05/06/2001 22:25:48
Ocultar el TrayBar
'declaración

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _
As String) As Long

Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40

form

Public Function HideTaskBar() As Boolean
Dim lRet As Long
lRet = FindWindow("Shell_traywnd", "")
If lRet > 0 Then
lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
HideTaskBar = lRet > 0
End If
End Function

Public Function ShowTaskBar() As Boolean
Dim lRet As Long
lRet = FindWindow("Shell_traywnd", "")
If lRet > 0 Then
lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
ShowTaskBar = lRet > 0
End If
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

habilitar y deshabilitar tecla win y otras

Publicado por BENJO (167 intervenciones) el 05/06/2001 22:35:00
' en módulo
Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function GetCurrentProcess Lib "kernel32" () As Long
Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Const RSP_SIMPLE_SERVICE = 1
Public Const RSP_UNREGISTER_SERVICE = 0

'in form
Public Sub RemoveProgramFromList()
Dim PlD As Long
Dim lngReturn As Long

PlD = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(PlD, RSP_SIMPLE_SERVICE)
End Sub

'To restore your application to the Ctrl+Alt+Delete list, call the UnMakeMeService procedure:
Public Sub AddProgramToList()
Dim PlD As Long
Dim lngReturn As Long

PlD = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(PID, RSP_UNREGISTER_SERVICE)
End Sub

Private Sub Command1_Click()
RemoveProgramFromList
End Sub

Private Sub Command2_Click()
AddProgramToList
End Sub

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pantallas

Publicado por Mike79 (97 intervenciones) el 06/06/2001 00:43:11
Las soluciones de Benjo me parecen muy buenas soluciones, aunque no estoy seguro que solucionen exactamente tu problema.

El problema es: Mostrar una pantalla totalmente negra (por decir un color), y que no se pueda usar el Control + Escape para activar el boton Inicio
¿Correcto?
Bueno, entonces empezemos por crear la pantalla totalmente negra.

'-- Crea una Form
'-- Con la propiedad: BorderStyle = 0 (None)
'--
Private Sub Form_Click()
End
End Sub

Private Sub Form_Load()
Me.Caption = ""
Me.BackColor = vbBlack
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height
End Sub

Y para que no pueda usarse la tecla Control + Esc ni Alt + tab ni etc...
Pues una solución facil es "activando" el protector de pantallas
Le indicamos a Windows que nuestro programa es un protector de pantallas, y el se encarga de desactivar las teclas
Alt + Tab, Control +esc, etc...

Nuestro programa completo quedaria asi:

'-- Este programa crea una pantalla en blanco y desactiva el Control + Esc
'-- Crea una Form
'-- Con la propiedad: BorderStyle = 0 (None)
'-- y copia esto:
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SCREENSAVERRUNNING = 97

Private Sub Form_Click()
Dim Huh As Boolean, gd As Long
Huh = False
gd = SystemParametersInfo(SPI_SCREENSAVERRUNNING, Huh, CStr(1), 0)
End
End Sub

Private Sub Form_Load()
Dim Huh As Boolean, gd As Long
Me.Caption = ""
Me.BackColor = vbBlack
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height
Huh = True
gd = SystemParametersInfo(SPI_SCREENSAVERRUNNING, Huh, CStr(1), 0)
End Sub

Saludos y espero te sirva
-
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar