Ciao,
starei cercando di far aprire un file in SolidEdge (un cad) da una WinForm ma mi sembra di capire che WScript.Shell cerca i percorsi in stile DOS
(C:\Docume~1 al posto di Documents and Settings )
Questo è il percorso base dei disegni:
codice:
Public Shared percorsoBase As String = My.Application.Info.DirectoryPath & "\Disegni\"
Il pulsante 'Sfoglia':
codice:
Private Sub btnSfoglia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSfoglia.Click
Dim MyDialog As New OpenFileDialog()
If (MyDialog.ShowDialog() = Windows.Forms.DialogResult.OK) Then
Dim clearPath As String = MyDialog.FileName.Substring(Len(percorsoBase) + 2)
tbDisegno.Text = clearPath
End If
End Sub
Il pulsante 'Apri':
codice:
Private Sub btnApri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApri.Click
If My.Computer.FileSystem.FileExists(percorsoBase & tbDisegno.Text) Then
Dim wsh As Object
wsh = CreateObject("WScript.Shell")
wsh.run(percorsoBase & tbDisegno.Text)
wsh = Nothing
Else
MsgBox("File non trovato: " & percorsoBase & tbDisegno.Text)
End If
End Sub
La procedura si rende conto che il file esiste ma non riesce ad aprirlo , da questo ho supposto che WScript.Shell, probabilmente, legge i percorsi alla vecchia maniera
Non credo sia possibile ricostruire il percorso 'vecchio stile' in modo che funzioni su tutte le macchine, visto che il suffisso numerico che il sistema appende al nome di cartella troncato varia a seconda delle altre cartelle presenti nella medesima posizione del disco.
Qualcuno saprebbe indicarmi come mettere a posto questa procedurina o, eventualmente, un'altra tecnica per aprire un file col suo eseguibile?
N.B. Questo programmino girerà solo su sistemi interni che hanno SolidEdge installato e su cui basta fare doppio click su un disegno per aprirlo (associazione di files di Windows già a posto)