|
255
|
Programación / Programación Visual Basic / Re: VISUAL BASIC
|
en: 16 Marzo 2006, 22:32 pm
|
Podes usar Time y Date y despues un timer que se valla fijando si la hora es la que vos queres, despues podes hacer sonar un sonido, madar un MsgBox o lo que quieras.
Saludos.-
|
|
|
256
|
Programación / Programación Visual Basic / Re: cmd
|
en: 16 Marzo 2006, 22:27 pm
|
No recuerdo de quien era este codigo, pero era de alguien del foro Pone esto en un modulo: Public Declare Function CreatePipe Lib "kernel32" ( _ phReadPipe As Long, _ phWritePipe As Long, _ lpPipeAttributes As Any, _ ByVal nSize As Long) As Long 'Leer Tunel Public Declare Function ReadFile Lib "kernel32" ( _ ByVal hFile As Long, _ ByVal lpBuffer As String, _ ByVal nNumberOfBytesToRead As Long, _ lpNumberOfBytesRead As Long, _ ByVal lpOverlapped As Any) As Long 'Esto lo usa la funcion CreateProcessA Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type 'Esto lo usa la funcion CreateProcessA Public Type STARTUPINFO cb As Long lpReserved As Long lpDesktop As Long lpTitle As Long dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type 'Esto lo usa la funcion CreateProcessA Public Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadID As Long End Type 'Esta funcion lanza el proceso y 'devuelve sus datos a traves de PROCESS_INFORMATION Public Declare Function CreateProcessA Lib "kernel32" ( _ ByVal lpApplicationName As Long, _ ByVal lpCommandLine As String, _ lpProcessAttributes As SECURITY_ATTRIBUTES, _ lpThreadAttributes As SECURITY_ATTRIBUTES, _ ByVal bInheritHandles As Long, _ ByVal dwCreationFlags As Long, _ ByVal lpEnvironment As Long, _ ByVal lpCurrentDirectory As Long, _ lpStartupInfo As STARTUPINFO, _ lpProcessInformation As PROCESS_INFORMATION) As Long 'Cierra el tunel Public Declare Function CloseHandle Lib "kernel32" ( _ ByVal hHandle As Long) As Long 'Constantes necesarias para lo de antes Public Const NORMAL_PRIORITY_CLASS = &H20& Public Const STARTF_USESTDHANDLES = &H100& Public Const STARTF_USESHOWWINDOW = &H1
Public Function CMD(ByVal Comando As String) As String On Error GoTo ACAGAR Dim proc As PROCESS_INFORMATION 'Informacion de CreateProcessA Dim Ret As Long 'Esto se usa para obtener el retorno de las 'funciones API Dim start As STARTUPINFO 'Informacion de inicio para CreateProcessA Dim sa As SECURITY_ATTRIBUTES 'Atributos de seguridad para 'CreateProcessA Dim hReadPipe As Long 'Lectura de Tunel Dim hWritePipe As Long 'Escritura de Tunel Dim lngBytesread As Long 'Cantidad de Bytes leidos Dim strBuff As String * 256 'Buffer de lectura de tunel 'Creamos el tunel... sa.nLength = Len(sa) sa.bInheritHandle = 1& sa.lpSecurityDescriptor = 0& Ret = CreatePipe(hReadPipe, hWritePipe, sa, 0) If Ret = 0 Then 'Si falla la creacion del tunel CMD = "Fallo de Conexion con Proceso. Error: " & Err.LastDllError Exit Function End If 'Lanzamos el interprete de comandos... start.cb = Len(start) start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW start.hStdOutput = hWritePipe start.hStdError = hWritePipe 'Buscar la ruta del CMD.exe y añadir /c y el comando mCommand = Environ("COMSPEC") + " /c " + Comando 'Creamos el proceso usando la String mCommand de antes... 'y obtenemos RET para saber si se ha ejecutado Ret& = CreateProcessA(0&, mCommand, sa, sa, 1&, _ NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) If Ret <> 1 Then 'si no se encuentra el comando... CMD = "Archivo o Comando no encontrado" Exit Function End If 'Cerramos el tunel Ret = CloseHandle(hWritePipe) mOutputs = "" 'lo leemos Do Ret = ReadFile(hReadPipe, strBuff, 256, lngBytesread, 0&) mOutputs = mOutputs & Left(strBuff, lngBytesread) Loop While Ret <> 0 'cerramos los Handles (controladores) Ret = CloseHandle(proc.hProcess) Ret = CloseHandle(proc.hThread) Ret = CloseHandle(hReadPipe) 'y hacemos que la funcion devuelva el resultado del comando a traves ' de la string mOutputs CMD = mOutputs Exit Function ACAGAR: CMD = "Error:" + Err.Description End Function
Y despues para utilizarlo usas: Resultado = CMD("ipconfig")
Saludos.-
|
|
|
257
|
Programación / Programación Visual Basic / Re: Error 458
|
en: 16 Marzo 2006, 22:24 pm
|
Yo lo prove y no me tira ningun error :S
Una observacion: Declaraste una variable reinici y usas renici. Osea que "renici" no esta declarada. Tal vez ese ese el error, pero ni idea.
Saludos.-
|
|
|
258
|
Programación / Programación Visual Basic / Re: Como saber cuando un archivo esta en ejecucion
|
en: 16 Marzo 2006, 00:20 am
|
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const SC_CLOSE = &HF060& Private Const WM_SYSCOMMAND = &H112
Private Sub Timer1_Timer() Dim Num As Long Num = FindWindow(vbNullString, "Editor del Registro") 'Esto nos va a dar el hWnd de la ventana cuyo titulo sea Editor del Registro (regedit.exe) If Num > 0 Then 'si se encontro la ventana Call SendMessage(Num, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) 'mandamos un mensaje para que se cierre End If End Sub
Eso iria en un timer con intervalo en 100 o 1000. Saludos.-
|
|
|
259
|
Programación / Programación Visual Basic / Re: Duda Programa MSN
|
en: 16 Marzo 2006, 00:04 am
|
A menos que encuentren un buen metodo, esto de deshabilitar las cuentas tratando de entrar con contraseñas falsas ya no funciona. Explico por que: Luego de 10 intentos fallidos te pide que introduscas una serie de letras especialmente dieseñadas para que no puedan ser adivinadas automaticamente. De este modo cada 10 intenos tendriamos que ingresar los caracteres de forma manual, lo que haria muy engorroso el asunto. Y aun ingresando los caracteres dudo que pueda funcionar.
Saludos.-
|
|
|
260
|
Programación / Programación Visual Basic / Re: Ejecuacion de un archivo
|
en: 15 Marzo 2006, 22:43 pm
|
pq tanto codigo NYlOn... acaso es distinto de lo k dice Punk-rock ?? Porque lo que dijo Punk-rock no funciona :S Si abris otro programa y lo pones arriva te vas a dar cuenta de que no arriva de todo... Si te sirve lo del SetFocus mejor, menos codigo, pero revisalo bien... Saludos.-
|
|
|
|
|
|
|