Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
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


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
WhatsApp Web sta per colmare la sua pi&u...
Spotify chiude un trimestre da record: i...
Samsung potrebbe riproporre smartphone c...
AirPods Pro 3 a 219€, AirTag da 4 pezzi ...
Sconto di 300€ su un MacBook Air e un Pr...
La Cina lancia un servizio simile a Dire...
SpaceX: Elon Musk torna a parlare dei pr...
G.Skill risarcisce 2,4 milioni di dollar...
Test degli annunci su ChatGPT avviati: '...
TSMC approva investimenti record da quas...
L'IA agentica arriva anche sullo storage...
Euro digitale, il Parlamento UE cambia r...
Alphabet e la sua obbligazione centenari...
L'UE anticipa un intervento per bloccare...
Il Trump Phone esiste ma è molto ...
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: 08:42.


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