Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [VB6] Terminare processo

    Come faccio a terminare un processo sotto win con Vb6? ho provato a cercare su internet, e ho trovato una fantomatica funzione EndTask, ma non e una funzione dichiarata in nessuna dll che io conosca... ce una via alternativa? me la potete suggerire?

    Grazie! ciao.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mi pare che ci siano stati thread sullo stesso argomento recentemente ... dai un'occhiata ...

  3. #3
    la funzione search e stata distattivata

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Vero ...

    Allora dai un'occhiata a

    http://support.microsoft.com/kb/178893/en-us

  5. #5
    per parlare di VB c'č l'apposita sezione (subforum).

    sposto lā
    ...Terrible warlords, good warlords, and an english song

  6. #6
    Non avevo postato in VB? sara stata la stanchezza di ieri scusa...

    cmq ho provato a usare la funzione sendmessage con WM_CLOSE, ma niente mi restituisce 0, e normale?

    io scripto cosi:

    prova = sendmessage (Handel, WM_CLOSE, 0,0)

    con questa funzione non risco nemmeno a chidere il notepad... qualcuno mi sa aiutare?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Handel ?

    Handle !

    E come recuperi l'handle del notepad?

  8. #8

    prova

    io avevo usato

    Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Declare Function SendMessageTimeout Lib "User32.dll" Alias "SendMessageTimeoutA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal fuFlags As Long, ByVal uTimeout As Long, pdwResult As Long) As Long
    Declare Function TerminateProcess Lib "Kernel32.dll" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
    Declare Function EnumWindows Lib "User32.dll" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
    Declare Function GetWindowThreadProcessId Lib "User32.dll" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
    Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long


    Sub TerminaApplicazione()
    Dim lPid As Long, lReturn As Long, lProcess As Long

    If lHwnd = 0 Then Exit Sub

    'Recupera il process ID dell'applicazione partendo dal suo handle.
    lReturn = GetWindowThreadProcessId(lHwnd, lPid)
    'Termina l'applicazione incondizionatamente.
    lProcess = OpenProcess(PROCESS_ALL_ACCESS, 0&, lPid)
    lReturn = TerminateProcess(lProcess, 0&)
    End Sub


    chiedi se non capisci ciauuuuuu

  9. #9
    Originariamente inviato da oregon
    Handel ?

    Handle !

    E come recuperi l'handle del notepad?
    Si scusa :P errore di battitura: cmq lo recupero via task manager.

    @Luke: tra un po provo e ti faccio sapere

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' strano che non funzioni ... comunque, guarda questo esempio

    http://www.vb-helper.com/howto_kill_application.html

    E' meglio provare con WM_CLOSE prima di usare la TerminateProcess dato che l'uso di quest'ultima potrebbe causare la perdita di eventuali dati non salvati dall'applicazione che termini.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.