ven Skrevet 30. april 2008 Del Skrevet 30. april 2008 (endret) Hei, Må modifisere et par VBScript filer i et eldre prosjekt, kan jeg kompilere ut EXE fra VisualBasic 2005 Express Edition, eller må jeg har fullversjonen? [edit] Skiftet emnetittel Endret 30. april 2008 av ven Lenke til kommentar
GeirGrusom Skrevet 30. april 2008 Del Skrevet 30. april 2008 VB 2005 Express lager exe filer; MEN! VBScript er noe helt annet en det Visual Basic 2005 er; helt annet språk, annen syntaks etc. Så et VBScript kompilerer ikke i Visual Basic. Lenke til kommentar
ven Skrevet 30. april 2008 Forfatter Del Skrevet 30. april 2008 Hmm, Jeg lastet ned VisualBasic 2005 Express Edition nå dog. Er det mulig å lage et lite EXE script her som gjør det samme som VBScriptet? Basicly åpner det kun en folder fra en Adobe Flash standalone applikasjon. Set Shell = CreateObject("Shell.Application") Set fso = CreateObject("Scripting.FileSystemObject") pptFolder = fso.getFolder(".").ParentFolder & "\DOCS" ' ' Flash executes this script, view_folder.exe, in some kind of ' "network" mode. We fix this with checking for the ' network prefix. ' prefixMatch = "\\?\" prefix = Left(pptFolder, 4) ' If prefix = prefixMatch Then Shell.Open Right(pptFolder, Len(pptFolder)-4) Else Shell.Open pptFolder End If Hva med normal Visual Basic 2005? Jeg vet vi har en ubrukt lisens fra actionpack på jobb. Lenke til kommentar
GeirGrusom Skrevet 30. april 2008 Del Skrevet 30. april 2008 (endret) Nr 1: Visual Basic 2005 er ikke scripting, det er programmering. Public Class Program Public Function Main(String() Arguments) As Integer Dim folder As String = System.IO.Path.Combine(Environment.CurrentDirectory, "DOCS") If folder.StartsWith("\\?\") Then Shell(folder.SubString(4)) Else Shell(folder) End If End Function End Class Det er ingen grenser for hva du kan gjøre i VB 2005. I VB 2005 Express er det bare IDE-en som er annerledes, det er ingen grenser i selve språket slik det var i ikke-pro versjonene av VB6 (DoEvents manglet blant annet i Student og Component Creator edition av VB6) Endret 30. april 2008 av GeirGrusom Lenke til kommentar
Manfred Skrevet 30. april 2008 Del Skrevet 30. april 2008 Nr 1: Visual Basic 2005 er ikke scripting, det er programmering. Hva? Lager ikke du exe-script?? Lenke til kommentar
ven Skrevet 1. mai 2008 Forfatter Del Skrevet 1. mai 2008 (endret) Må maskiner ha installert .NET 1/2/3 for å kjøre VB 2005 applikasjoner? Jeg får heller ikke Shell kommandoen til å virke, får kun "File not found", selv om jeg skriver in "C:\" etc. Endret 1. mai 2008 av ven Lenke til kommentar
GeirGrusom Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 Ok .NET 1.0/1.1 kreves for å kjøre Visual Studio .NET programmer .NET 1.1 kreves for å kjøre Visual Studio 2003.NET programmer .NET 2.0 kreves for å kjøre Visual Studio 2005 programmer. .NET 3.0/3.5 kreves for å kjøre Visual Studio 2008 programmer Det kan være du må bruke Process.Start med ProcessStartInfo hvor UseShellExecute er satt til True Module Program Sub Main() Dim proc As New System.Diagnostics.Process() Dim start_info As New System.Diagnostics.ProcessStartInfo("C:\") start_info.UseShellExecute = True proc.StartInfo = start_info proc.Start() End Sub End Module Dette fungerer. Lenke til kommentar
ven Skrevet 1. mai 2008 Forfatter Del Skrevet 1. mai 2008 Takk skal du ha, Så jeg forstår det riktig at dette programmet/scriptet nå vil funke på eldre versjoner av Windows nå, slik som Win2k og Win98? Jeg har fått til koden nå med denne koden: Module Program Sub Main() Dim folder As String = System.IO.Path.Combine(Environment.CurrentDirectory, "..\DOCS") If folder.StartsWith("\\?\") Then Shell("Explorer.exe " & folder.Substring(4), vbNormalFocus) Else Shell("Explorer.exe " & folder, vbNormalFocus) End If System.Windows.Forms.Application.Exit() End Sub End Module Merk "..\DOCS" for parent folder. For andre VB2005 newbies som tilfeldigvis skulle lese dette: For å kjøre denne koden anonymt (ingen form) som VBScriptet opprinnelig, må man gå til Project -> [Prosjekt] Properties -> Application og skru av Enable application framework. Deretter i dropdownboksen over, Startup Object, må man sette verdien til Sub Main. Jeg satt også WindowsState til Minimized for sikkerhets skyld. Lenke til kommentar
GeirGrusom Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 Programmet vil fungere på eldre OS så lenge .NET Framework er installert. Application.Exit er også overflødig, programmet avslutter når funksjonen avslutter. Hvis du bruker Process.Start istedet, så vil dette også fungere på de få som bytter ut shellet i windows (explorer.exe) Du kan også bare slette formen din fra programmet, siden du ikke bruker den. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå