Alguien sabe como?
Holas
Hice un pequeño programa (consta de solo un formulario), y quisiera ponerlo encima de una aplicacion como un juego en fullscreen (por decir uno como gunbound o starcraft), y no encuentro como hacer eso . Lo unico que se me ocurrio hacer es q mi programa sea siempre visible pero esto solo sirve para ventanas de windows y no para lo que mencione arriba.
Porfavor si alguien sabe como respondame se lo agradecerÃa mucho.
Hice un pequeño programa (consta de solo un formulario), y quisiera ponerlo encima de una aplicacion como un juego en fullscreen (por decir uno como gunbound o starcraft), y no encuentro como hacer eso . Lo unico que se me ocurrio hacer es q mi programa sea siempre visible pero esto solo sirve para ventanas de windows y no para lo que mencione arriba.
Porfavor si alguien sabe como respondame se lo agradecerÃa mucho.
a la forma quitale los bordes y windowstate=2
este codigo ponlo dentro de la forma
Option Explicit
Dim lR As Long
Private Sub Form_Load()
'Form1.hwnd, True para que este siempre encima de todo
'false para ponerla normal
lR = SetTopMostWindow(Form1.hwnd, True)
End Sub
y en un modulo esto
Option Explicit
Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
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
Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) _
As Long
If Topmost = True Then 'Make the window topmost
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, _
0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, _
0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function
este codigo ponlo dentro de la forma
Option Explicit
Dim lR As Long
Private Sub Form_Load()
'Form1.hwnd, True para que este siempre encima de todo
'false para ponerla normal
lR = SetTopMostWindow(Form1.hwnd, True)
End Sub
y en un modulo esto
Option Explicit
Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
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
Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) _
As Long
If Topmost = True Then 'Make the window topmost
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, _
0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, _
0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function
