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.
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
La shellandwait da sola non esiste è una combinazione di tre API
WaitForSingleObject
OpenProcess
CloseHandle
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
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
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
Scrivi dove vuoi
ShellWait "C:\Mario.exe"
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
Scusa è vero. Cambia con
ShellWait "C:\MArio.exe", vbNormal
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
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