Ayuda en ejecutable y modulo

Rafael Rubio Ceja
30 de Octubre del 2004
Lo que pasa es que no quiero que el programa me abra varias veces el .exe, Solo una sola vez y ya, ¿que tengo que programar en mi modulo de inicio para evitar esto?
Y otra pregunta.. En mi programa hay un modulo que cuando lo minimizo no se pone en la barra de tarea.. mas bien se minimiza en un rectangulo chico arriba de la barra de tareas y no me es posible verlo a menos que cierre todas las ventanas ....a pesar de que el modulo lo tengo en la propiedad de ShowinTaskBar=True
Esto es lo que tengo programado

Modulo de inicio Form1

Private Sub Command1_Click()
Aqui valido al usuario pero no puse el codigo me fui directo al problema con ud's
Form2.Show (1)
End Sub

EL PROBLEMA ME LO DA CUANDO QUIERO MINIMIZAR EL FORMA 2 CUANDO ENTRO A EL
(PD EL FORM1 SI LO MINIMIZA)

De antemano Gracias

roymx
30 de Octubre del 2004
hola.

prueba esto

para que no se inicie mas de una vez el programa


al cargar la forma

If App.PrevInstance Then

MsgBox "Este programa [" & App.EXEName & ".exe]" & " ya está en ejecución", vbInformation, "programa"

End 'Terminar esta instancia
end if


programa en bandeja del sistema:

pega esto en un modulo

Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
"Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As _
NOTIFYICONDATA) As Long

Public Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4

'Make your own constant, e.g.:
Public Const NIF_DOALL = NIF_MESSAGE Or NIF_ICON Or NIF_TIP

Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_RBUTTONDOWN = &H204

esto en la forma

Public Sub CreateIcon()
Dim Tic As NOTIFYICONDATA
Tic.cbSize = Len(Tic)
Tic.hwnd = Picture1.hwnd
Tic.uID = 1&
Tic.uFlags = NIF_DOALL
Tic.uCallbackMessage = WM_MOUSEMOVE
Tic.hIcon = Picture1.Picture
Tic.szTip = "Visual Basic Demo Project" & Chr$(0)
erg = Shell_NotifyIcon(NIM_ADD, Tic)
End Sub

Public Sub DeleteIcon()
Dim Tic As NOTIFYICONDATA
Tic.cbSize = Len(Tic)
Tic.hwnd = Picture1.hwnd
Tic.uID = 1&
erg = Shell_NotifyIcon(NIM_DELETE, Tic)
End Sub

agraga dos botones de comando

en una pega esto

CreateIcon

en el otro

DeleteIcon

agrega un picturebox y agregale un icono

en el evento mousemove del picturebox pega esto

X = X / Screen.TwipsPerPixelX

Select Case X
Case WM_LBUTTONDOWN
Caption = "Left Click"
Case WM_RBUTTONDOWN
Caption = "Right Click"
Case WM_MOUSEMOVE
Caption = "Move"
Case WM_LBUTTONDBLCLK
Caption = "Double Click"
End Select


este codigo fue tomado de

http://www.allapi.net/