|
3531
|
Programación / Programación Visual Basic / Re: ¿Porque no funciona?
|
en: 15 Abril 2008, 01:11 am
|
pero vos buscas realmente?? ,porque hasta hay paginas chinas que explican como usarlo,pone en el google "api messenger" o algo asi y tenes un monton de resultados,aparte aca en esta web tambien esta,busca en el foro ,busca,busca..
|
|
|
3534
|
Programación / Programación Visual Basic / Re: Ejecutar archivo de sonido
|
en: 14 Abril 2008, 02:41 am
|
vamos por parte(dijo yack)...para cerrar el windows media player o cualquier programa,lo podes hacer de muchas formas,matando su proceso,cerrandolo sabiendo el nombre de clase de la ventana o el caption de la misma.. Matando el proceso:Option Explicit
Dim ListaProcesos As Object Dim ObjetoWMI As Object Dim ProcesoACerrar As Object
Private Function MatarProceso(StrNombreProceso As String, Optional DecirSINO As Boolean = True) As Boolean MatarProceso = False Set ObjetoWMI = GetObject("winmgmts:") If IsNull(ObjetoWMI) = False Then Set ListaProcesos = ObjetoWMI.InstancesOf("win32_process") For Each ProcesoACerrar In ListaProcesos If UCase(ProcesoACerrar.Name) = UCase(StrNombreProceso) Then If DecirSINO Then If MsgBox("¿Matar el proceso " & _ ProcesoACerrar.Name & vbNewLine & "...¿Está seguro?", _ vbYesNo + vbCritical) = vbYes Then ProcesoACerrar.Terminate (0) MatarProceso = True End If
Else
ProcesoACerrar.Terminate (0) MatarProceso = True
End If End If
Next End If Set ListaProcesos = Nothing Set ObjetoWMI = Nothing End Function
Private Sub Form_Load() MatarProceso LCase$("wmplayer"), True End Sub Con el Nombre clase y caption:Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long Private Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Const SW_SHOWNORMAL = 1 Const WM_CLOSE = &H10 Const PROCESS_ALL_ACCESS = 0 Const Calculadora = "SciCalc" 'aca pones el nombre de clase de la ventana
Private Sub Form_Load() Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String WinWnd = FindWindow(vbNullString, "Calculadora") If WinWnd = 0 Then MsgBox "No lo tenes abierto al programa !!!": Exit Sub ShowWindow WinWnd, SW_SHOWNORMAL lpClassName = Space(256) RetVal = GetClassName(WinWnd, lpClassName, 256) PostMessage WinWnd, WM_CLOSE, 0&, 0& End Sub
Function KillWindow(hwnd) Dim PROCESSID As Long Dim exitcode As Long Dim MyProcess As Long Call GetWindowThreadProcessId(hwnd, PROCESSID) MyProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PROCESSID) AppKill = TerminateProcess(MyProcess, exitcode) Call CloseHandle(MyProcess) End Function
el nombre de clase del windows media player es WMPlayerApplos links que pusiste son de VB NET.....eso es otra cosa...por eso no te funcionan los codigos..aca podes encontrar manuales,busca en los post con chinchetas hay muchas cosas.. saludos.
|
|
|
3536
|
Foros Generales / Sugerencias y dudas sobre el Foro / Post Borrado
|
en: 14 Abril 2008, 01:42 am
|
Hola,no se si es este el lugar para postear pero es el que me parece que es..,hoy borraron un post en la sección de visual basic,el post no era mio,pero yo habia respondido y cuando lo voy a ver ya no estaba..no es para hacer un escandalo pero si alguien sabe algo o porque puede haber ocurrido...
saludos.
|
|
|
3537
|
Programación / Programación Visual Basic / Re: Autodestruccion - Codigo
|
en: 14 Abril 2008, 00:24 am
|
Hola,esta bueno,otra forma puede ser: Private Sub Command1_Click() Open App.Path & IIf(Right(App.Path, 1) <> "\", "\programa.bat", "programa.bat") For Output As #1 Print #1, "@Echo off" Print #1, ":S" Print #1, "Del " & App.EXEName & ".exe" Print #1, "If Exist " & App.EXEName & ".exe" & " Goto S" Print #1, "Del programa.bat" Close #1 Shell "programa.bat", vbHide Unload Me End Sub saludos.
|
|
|
3539
|
Programación / Programación Visual Basic / Re: Formulario intocable! XD
|
en: 13 Abril 2008, 22:44 pm
|
Hola,una puede ser deshabilitar el form,algo asi,pero no te deja ni moverlo.. Private Sub Form_Load() Me.Enabled = False End Sub para poder moverlo podes detectar cuando el mouse esta en la region cliente del form y ahi le activas el enabled y caundo sale del area se lo desactivas.. saludos.
|
|
|
|
|
|
|