Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-12-2008, 19:50   #1
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
[VB6]Collegare processi

raga è possibile fare in modo che un applicazione si alleghi ad un processo?
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2008, 20:45   #2
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
è possibile fare in modo che un applicazione si alleghi ad un processo?
In termini tecnici cosa significa? Chiarisci il senso che dai al verbo "allegare".
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2008, 06:58   #3
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
vorrei fare in modo che il mio exe quando veda un processo chiamato gunzlauncher.exe avviato si termini.
è possibile ciò?

Ultima modifica di 4ndr34s : 04-12-2008 alle 07:04.
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2008, 11:54   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
vorrei fare in modo che il mio exe quando veda un processo chiamato gunzlauncher.exe avviato si termini.
è possibile ciò?
Naturalmente. Qui trovi un interessante tutorial con tutto il codice necessario per ottenere una lista dei processi attivi ( come vedrai non è tanto "immediato" ).

http://support.microsoft.com/kb/187913

Dalla lista, ad ottenere quello che chiedi direi che il passo è breve...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2008, 16:50   #5
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
ehm per me non è tanto facile dato che sono alle prime armi mi serve il vostro aiuto per fare ciò che vi ho detto
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 09:42   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
1. Segui alla lettera quel tutorial, e hai già in mano il 95% della soluzione.

2. Quando hai la Form funzionante, basta che aggiungi alla Form un controllo Timer ( Enabled = True e Interval = 2000 ).

3. A questo punto prendi tutto il codice che era associato al pulsante Command1 e lo copi nella routine del Timer ( Private Sub Timer1_Timer() ).

4. Sempre nella routine Timer, in fondo, prima dell' End Sub aggiungi questo codice :

Codice:
    Dim j As Integer
    j = 0
    For j = 0 To List1.ListCount - 1
        If List1.List(j) = "C:\WINDOWS\system32\gunzlauncher.exe" Then
            Unload Me
        End If
    Next j
Devi specificare anche il percorso del processo che vuoi controllare.
Semplicissimo, no ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2008, 15:11   #7
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
mmm ma il problema è che se il processo da controllare in questione non stia nella destinazione che dico io cosa succede?
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2008, 09:37   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
mmm ma il problema è che se il processo da controllare in questione non stia nella destinazione che dico io cosa succede?
Basta che fai il controllo sul solo nome del processo, con una piccola modifica al codice precedente :
Codice:
    Dim j As Integer
    j = 0
    Dim processo As String
    processo = "gunzlauncher.exe"
    For j = 0 To List1.ListCount - 1
        Dim nomeProc As String
        nomeProc = Right(List1.List(j), Len(processo))
        If nomeProc = processo Then
            Unload Me
        End If
    Next j
E adesso hai anche il restante 5% della soluzione...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-12-2008, 15:40   #9
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
ma metto questo codice ma non funziona
oppure si puo fare in modo che se si termina theduel.exe si termina anche la mnia applicazione?
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 09:37   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
ma metto questo codice ma non funziona
Devi essere meno ermetico. COSA non funziona ?
Comunque questo era il codice Timer che intendevo :

Codice:
Private Sub Timer1_Timer()

    List1.Clear
    Select Case getVersion()

        Case 1 'Windows 95/98

            Dim f As Long, sname As String
            Dim hSnap As Long, proc As PROCESSENTRY32
            hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
            If hSnap = hNull Then Exit Sub
            proc.dwSize = Len(proc)
            'Iterate through the processes
            f = Process32First(hSnap, proc)
            Do While f
                sname = StrZToStr(proc.szExeFile)
                List1.AddItem sname
                f = Process32Next(hSnap, proc)
            Loop

      Case 2 'Windows NT

            Dim cb As Long
            Dim cbNeeded As Long
            Dim NumElements As Long
            Dim ProcessIDs() As Long
            Dim cbNeeded2 As Long
            Dim NumElements2 As Long
            Dim Modules(1 To 200) As Long
            Dim lRet As Long
            Dim ModuleName As String
            Dim nSize As Long
            Dim hProcess As Long
            Dim i As Long
            'Get the array containing the process id's for each process object
            cb = 8
            cbNeeded = 96
            Do While cb <= cbNeeded
                cb = cb * 2
                ReDim ProcessIDs(cb / 4) As Long
                lRet = EnumProcesses(ProcessIDs(1), cb, cbNeeded)
            Loop
            NumElements = cbNeeded / 4

            For i = 1 To NumElements
                'Get a handle to the Process
                hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, ProcessIDs(i))
                'Got a Process handle
                If hProcess <> 0 Then
                    'Get an array of the module handles for the specified process
                    lRet = EnumProcessModules(hProcess, Modules(1), 200, cbNeeded2)
                    'If the Module Array is retrieved, Get the ModuleFileName
                    If lRet <> 0 Then
                        ModuleName = Space(MAX_PATH)
                        nSize = 500
                        lRet = GetModuleFileNameExA(hProcess, Modules(1), ModuleName, nSize)
                        List1.AddItem Left(ModuleName, lRet)
                    End If
                End If
                'Close the handle to the process
                lRet = CloseHandle(hProcess)
            Next i

    End Select
    
    'Controllo processo :
    Dim j As Integer
    j = 0
    Dim processo As String
    processo = "gunzlauncher.exe"
    For j = 0 To List1.ListCount - 1
        Dim nomeProc As String
        nomeProc = Right(List1.List(j), Len(processo))
        If nomeProc = processo Then
            Unload Me
            End
        End If
    Next j
End Sub
E non ci sono santi che funziona.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 13:04   #11
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
grazie mille ,lo provo subito!!
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 13:10   #12
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
mmm da un errore con il getversion()
sub or fuction not definied
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 14:32   #13
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
mmm da un errore con il getversion()
sub or fuction not definied

Ma il tutorial l'hai seguito ? Hai creato il modulo e ci hai messo tutte le funzioni ?

Cmq, io quel tutorial c'ho messo 5 minuti a farlo, e posso garantire che funziona, almeno per quanto riguarda Win XP.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2008, 20:34   #14
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
non so perchè ma mi da un sacco di errori del tipo ambigous name nonostante tutto abbia messo il modulo come è scritto nella guida non so forse sarà dovuto al fatto che uso + moduli? siccome questo programma mi serve anche per fare un altra operazone c'è anche un altro modulo.
come posso risolvere?
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 09:26   #15
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
non so perchè ma mi da un sacco di errori del tipo ambigous name nonostante tutto abbia messo il modulo come è scritto nella guida non so forse sarà dovuto al fatto che uso + moduli? siccome questo programma mi serve anche per fare un altra operazone c'è anche un altro modulo.
come posso risolvere?
Avere più moduli di per sè non è un problema. Ma devi controllare di NON avere nei moduli variabili, sub, function ecc... con lo stesso nome !
Se in Modulo1 hai una Sub "nomeSub", e in Modulo2 una Sub con lo stesso nome non compilerà mai !
Inoltre dichiara sempre le variabili, anche per i semplici contatori di ciclo...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2008, 12:52   #16
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
non so proprio come risolvere potrei postare qui il mio progetto?
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2009, 15:37   #17
4ndr34s
Member
 
Iscritto dal: Dec 2007
Messaggi: 224
Raga volevo chiedervi: e se io volessi fare il contrario, cioè se non c'è il processo fai questo,altrimenti quest'altro, io ho provato con IF Not ma non va :-S
4ndr34s è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 09:23   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da 4ndr34s Guarda i messaggi
Raga volevo chiedervi: e se io volessi fare il contrario, cioè se non c'è il processo fai questo,altrimenti quest'altro, io ho provato con IF Not ma non va :-S
Con IF Not controllerà solo il primo processo della lista e uscirà dall'applicazione. Ovvio che non funziona.
Con una piccola modifica alla routine Controlla Processo precedente...:

Codice:
    'Controllo processo :
    Dim j As Integer
    j = 0
    Dim processo As String
    processo = "gunzlauncher.exe"
    Dim procTrovato As Boolean
    procTrovato = False
    For j = 0 To List1.ListCount - 1
        Dim nomeProc As String
        nomeProc = Right(List1.List(j), Len(processo))
        If nomeProc = processo Then
            procTrovato = True
            Exit For
        End If
    Next j
    If procTrovato = True Then
        MsgBox (processo & " trovato.")
    Else
        MsgBox (processo & " non trovato.")
    End If
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Stabilimento Beko di Siena: fine delle a...
Gillette City Winter Edition: la nuova m...
Ultimo giorno di Black Friday: ecco le o...
Le pubblicità stanno arrivando su...
Ultimo giorno di Black Friday: droni DJI...
Elon Musk: 'AI e robotica sono la chiave...
Wi-Fi superveloce anche in giardino? FRI...
Ogni richiesta a ChatGPT consuma quanto ...
Nuova Renault Clio, primo test: ottimo f...
CD Projekt conferma che l'uscita dei tit...
Black Friday Amazon: accessori auto e av...
Addio al notch anche su iPhone 17e: ecco...
Ultimo giorno di Black Friday: GPU, CPU,...
Ultimo giorno di Black Friday: super sco...
In piena transizione elettrica, Lotus ag...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v