Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [VB] applicazione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    [VB] applicazione

    Come posso intercettare un'applicazione precedentemente aperta per chiuderla.

    Grazie 1000

  2. #2
    Per ottenere la lista dei programmi attivi (le caption):
    codice:
    Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
    Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    
    Const GW_HWNDFIRST = 0
    Const GW_HWNDNEXT = 2
    
    Dim CurrWnd As Long
    Dim Length As Long
    Dim TaskName As String
    Dim Parent As Long
    
    Sub LoadTaskList()
    
        List1.Clear
        CurrWnd = GetWindow(Form1.hwnd, GW_HWNDFIRST)
        
        While CurrWnd <> 0
        
            Parent = GetParent(CurrWnd)
            Length = GetWindowTextLength(CurrWnd)
            TaskName = Space$(Length + 1)
            Length = GetWindowText(CurrWnd, TaskName, Length + 1)
            TaskName = Left$(TaskName, Len(TaskName) - 1)
            
            If Length > 0 Then
                If TaskName <> Me.Caption Then List1.AddItem TaskName
            End If
            
            CurrWnd = GetWindow(CurrWnd, GW_HWNDNEXT)
            DoEvents
            
        Wend
    
    End Sub
    
    Private Sub Form_Load()
        LoadTaskList
    End Sub
    Ti scrive il tutto in una ListBox.

    Quindi per chiuderla:
    vai in questo messaggio

    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    Per chipdb

    Grazie 1000, ho messo una list nel form e cosi' ho tutta la lista delle applicazioni aperte, e se io adesso ne voglio chiudere una di queste che nel listbox e' identificata come 'MD progetto1'

    Ciao e grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    452

    X chipdb

    Scusami sono rinco....to non avevo letto bene la fine del msg.

    GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

  5. #5
    Figurati. Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  6. #6
    Utente bannato
    Registrato dal
    Feb 2000
    Messaggi
    2,006
    come sempre....funziona a tutti ma a me no.......
    facendo il debug ho visto ke addirittura mi entra in un loop quasi infinito......cioè....siccome l'inmfinito non esiste...direi tendente all'infinito..
    non c'è un altro metodo???
    please heeeeeeeelp meeeeeeeeee

  7. #7
    E' vero l'infinito non esiste perché prima riavvii il pc!!! :gren:

    Comunque sia il programma dovrebbe funzionare. Ti entra in loop probabilmente nel ciclo While CurrWnd <> 0...

    Non te lo so spiegare però il motivo...

    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.