Nota: dal tuo messaggio desumo che stiamo parlando di VB.NET; specificalo direttamente nel titolo la prossima volta.
Una cortesia personale: non usare MAI più l'on error goto: è una tecnica di gestione degli errori obsoleta e mantenuta solo per motivi di compatibilità; usa piuttosto i blocchi try...catch...finally.Originariamente inviato da b_lilith
Questo il codice utilizzato con shellExecute (dai controlli fatti, il percorso di filePres risulta corretto)
codice:Dim returnValue As Boolean returnValue = My.Computer.FileSystem.FileExists(filePres) If returnValue Then On Error GoTo cmdOpenFile_Err 'open the document in whatever application it requires ShellExecute(0, "open", filePres, vbNullString, vbNullString, vbNormalFocus) cmdOpenFile_Err: MsgBox("An unexpected error has occurred.", vbOKOnly + vbCritical, "Error Conditon in Opening File") Else MsgBox(filePres) End If
Probabilmente hai dichiarato male la funzione ShellExecute: non è che per caso hai copiato la dichiarazione da una discussione in cui si parlava di VB6? La dichiarazione corretta per VB.NET è la seguente:L'errore che mi dà è:
PInvokeStackImbalance was detected etc etc
codice:Public Declare Auto Function ShellExecute Lib "shell32.dll" (ByVal hwnd As IntPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As IntPtr

Rispondi quotando