Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: [VB6] Shellandwait

  1. #1
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259

    VB6 - Shellandwait

    Ciao FORUM,

    ho letto di "SHELLANDWAIT" e desidero sapere se si tratta di una istruzione o di una "API"; se è un'istruzione dove posso trovarla e/o se è una "API" qual'è il codice.

    Grazie ragazzi.
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    La shellandwait da sola non esiste è una combinazione di tre API

    WaitForSingleObject
    OpenProcess
    CloseHandle

  3. #3
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Grazie ddes,

    e possibile avere un piccolo esempio in modo che possa capire il funzionamneto.??

    Chiedo troppo.

    Grazie
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Apri un nuovo modulo e mettici questo codice
    codice:
    Private Declare Function WaitForSingleObject Lib "KERNEL32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "KERNEL32" (ByVal hObject As Long) As Long
    
    Const INFINITE = -1
    
    Public Sub ShellWait(ByVal FileName As String, Optional WindowStyle As Variant)
        Dim idProc As Long
        Dim hProc As Long
    
        idProc = VBA.Shell(FileName, WindowStyle)
    
        hProc = OpenProcess(&H1F0FFF, False, idProc)
    
        If hProc <> 0 Then
            Call WaitForSingleObject(hProc, INFINITE)
            Call CloseHandle(hProc)
        End If
    End Sub

  5. #5
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Ti ringrazio ddies


    ancora un piccolo sforzo, non riesco a concludere, qual'è l'istruzione per avviare il file eseguibile.??

    Ciao
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Scrivi dove vuoi

    ShellWait "C:\Mario.exe"

  7. #7
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Ancora un pò di pazienza.



    ho inserito il codice:Private Declare Function WaitForSingleObject

    Lib "KERNEL32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "KERNEL32" (ByVal hObject As Long) As Long

    Const INFINITE = -1

    Public Sub ShellWait(ByVal FileName As String, Optional WindowStyle As Variant)
    Dim idProc As Long
    Dim hProc As Long

    idProc = VBA.Shell(FileName, WindowStyle)

    hProc = OpenProcess(&H1F0FFF, False, idProc)

    If hProc <> 0 Then
    Call WaitForSingleObject(hProc, INFINITE)
    Call CloseHandle(hProc)
    End If
    End Sub



    ma quando avvio

    ShellWait "c:\Mario.exe" mi segnala

    error Run-Time 13 - Tipo non corrispondente sulla riga


    [B]idProc = VBA.Shell(FileName, WindowStyle)

    la stessa cosa se indico


    ShellWait ("c:\Mario.exe")


    Cosa devo modificare.??


    Ancora mille grazie.
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Scusa è vero. Cambia con

    ShellWait "C:\MArio.exe", vbNormal

  9. #9
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Tutto OK


    Ti ringrazio
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    66

    Curiosita'

    Scusate se mi intrometto....ma cosa serve questo codice?
    Serve per far eseguire 1 programa esterno da 1 applicazione VB6?
    Io per curiosita' ci ho provato....ma il programma mi si pianta...come se entrasse in loop....nn capisco. Ke puo 'essere successo? Nn credevo di poter sbagliare....dopotutto ho incollato il codice qui riportato. Ovviamente ho usato 1 .exe presente sulla mia makkina.....be'... a questo punto...voglio arrivare in fondo alla cosa..anke se e' 1 sciokkezza....e scusate ancora per il disturbo

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.