Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Slasher-K

#291

Dir1.Path = Dir1.Path & "\.."


Saludos.
#292
soplo dame tus coordenadas que te mando una sorpresita  ::), muajajaja.

Pff un pendejo de 2:287:6 me atacó y me hizo mie***, pero no se llevó recursos porque los mandé todos al espacio ;D, y perdió la mayoría de sus naves. Si alguien lo quiere atacar bienvenido sea.

Saludos.
#293
Utiliza las propiedades Left, Top, Width Height o el método Move que tienen todos los controles, y fijate que el formulario tiene un evento Resize que ocurre cuando cambia de tamaño, ahi es donde tendrías que escribir el código.

Saludos.
#294
Para hacer eso en VB hay que implementar varias interfaces de las extensiones de shell, es un poco largo de explicar pero te dejo el link de MSDN donde explica bien como crear extensiones shell.

Creating Shell Extension Handlers

Saludos.
#295
La información de desinstalación se guarda en el registro en la siguiente clave:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall


Sólo hay que usar las funciones del registro. Ya se habló de este mismo tema hace un tiempo, busca un poco en el foro.

Saludos.
#296
Podrías guardar la fecha la primera vez que se ejecute el programa, ya sea en un archivo o en el registro, y luego comprobar la fecha a partir de esa, si es menor es porque la hora del sistema es erronea, de lo contrario podrás calcular los días sin problemas.

Saludos.
#297
El siguiente ejemplo funciona perfectamente.


Option Explicit

Private Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4
Private Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2
Private Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1
Private Const FILE_NOTIFY_CHANGE_SIZE = &H8
Private Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10
Private Const FILE_NOTIFY_CHANGE_SECURITY = &H100
Private Const FILE_NOTIFY_CHANGE_ALL = &H4 Or &H2 Or &H1 Or &H8 Or &H10 Or &H100
Private Const INFINITE = &HFFFFFFFF
Private Const OBJECT_WAIT_0 = 0
Private Const INVALID_HANDLE_VALUE = -1

Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long

Private bFileMonEnabled As Boolean

Sub Main()
  Call StartFileMon
  Call frmMain.Show
End Sub

Sub FileMonProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
        Dim r&, hMon&

  r = KillTimer(0&, idEvent)
 
  bFileMonEnabled = True
  hMon = FindFirstChangeNotification("C:\WINDOWS", True, FILE_NOTIFY_CHANGE_ALL)
 
  Do While bFileMonEnabled
    r = WaitForSingleObject(hMon, 100&)
   
    If r = OBJECT_WAIT_0 Then
      r = FindNextChangeNotification(hMon)
     
      'Se modificó el directorio.
      '
    End If
   
    DoEvents
  Loop
 
  r = FindCloseChangeNotification(hMon)
End Sub

Sub StartFileMon()
  If Not bFileMonEnabled Then
    Call SetTimer(0&, 0&, 0&, AddressOf FileMonProc)
  End If
End Sub

Sub StopFileMon()
  bFileMonEnabled = False
End Sub


Lympex, tu error es que se debe llamar a FindNextChangeNotification luego de que la función WaitForSingleObject devuelva OBJECT_WAIT_0. Lo que hace es reestablecer el objeto a non-signaled.

Saludos.
#298
Si no especificas ningún icono igual deja el predeterminado del sistema, como sea la solución es la misma que antes, cuando se inicie el programa cambia el icono por uno vacío y listo.

Saludos.
#299
Para saber la resolucióbn del monitor existe el objeto Screen.


Propery Get ScreenX() As Single
  'Devuelve el ancho de la pantalla.
  '
  ScreenX = Screen.Width / Screen.TwipsPerPixelX
End Property

Propery Get ScreenY() As Single
  'Devuelve el alto de la pantalla.
  '
  ScreenX = Screen.Height / Screen.TwipsPerPixelY
End Property


Saludos.
#300
Presumido ???, sólo estoy diciendo que digan su estado para que nos podamos ayudar y aumentar los puntos todos. Y esa prepotencia no me gusta nada, si no te gusta te buscas otra alianza y ya  :-\