Avatar billede bfjmnemonic Nybegynder
11. maj 2006 - 13:44 Der er 3 kommentarer og
1 løsning

Vinduet skal skjules

Hej eXperten,

Jeg vil gerne skjule den DOS boks som bliver startet når kommandoen, "Set oExecObject = WshShell.Exec(strCommand)" bliver eksekveret.

Nogen der ved hvordan dette kan gøres?

Det skal løses ved brug af WshShell.Exec metoden.

'---------- Klip --

Dim WshShell, oExecObject
Dim strCommand, strText, strLine


Set WshShell = CreateObject("WScript.Shell")

'Main
strCommand = "%comspec% /c dir c:\"
Set oExecObject = WshShell.Exec(strCommand)

strText = oExecObject.StdOut.ReadAll()

GetLines()
'WScript.Echo strText

'-----------------------------------------------------------------------------------------
'Subs
Sub GetLines
    arrText = Split(strText, vbCrLf)
    For Each strLine In arrText
        WScript.Echo strLine
    Next
End Sub

' --- Slut --
Avatar billede ejvindh Ekspert
15. maj 2006 - 09:19 #1
Avatar billede ejvindh Ekspert
15. maj 2006 - 09:22 #2
Prøv at erstatte denne linie:
Set oExecObject = WshShell.Exec(strCommand)

med denne:
Set oExecObject = WshShell.Run(strCommand, 7)

(du kan evt. prøve at erstatte 7 med 0)
Avatar billede ejvindh Ekspert
15. maj 2006 - 12:05 #3
Nå, det var ikke helt så let, bare at erstatte Exec med Run *Rødme*. Men kunne følgende måske bruges som et dueligt alternativ?

Dim WshShell, objFSO
Dim strCommand, objFile, strText, strLine, Return

Set WshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Main
strCommand = "%comspec% /c dir c:\ >c:\dir.txt"
return = WshShell.run(strCommand, 0, true)

Set objFile = objFSO.OpenTextFile("C:\dir.txt", 1)
strText = objFile.ReadAll
objFile.Close
objFSO.DeleteFile("C:\dir.txt")



GetLines()
'WScript.Echo strText

'-----------------------------------------------------------------------------------------
'Subs
Sub GetLines
    arrText = Split(strText, vbCrLf)
    For Each strLine In arrText
        WScript.Echo strLine
    Next
End Sub
Avatar billede bfjmnemonic Nybegynder
16. maj 2006 - 16:37 #4
Ja det er selvfølgelig en mulighed. Nu er det bare lidt ærgeligt at jeg har brugt så meget tid på at finde en løsning hvor jeg slap for at bruge temporere filer. Lidt nederen :)

Jeg tester lige dit forslag i morgen :) Takker so far.

PS: Måske ville det ikke have taget så lang tid hvis jeg var lidt bedre til VBS.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester