[VBS] Vraag met twee antwoorden mogelijk

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ProCal
  • Registratie: Juni 2001
  • Laatst online: 31-08-2023
Situatie:

Er is een externe harddisk van 250gb waarop met TrueCrypt een beveiligde container is gemaakt van 249,99 gb.

Op het vrijgebleven deel (unencrypted) staat de TrueCrypt executable, een autorun.inf en een batchbestand waarin het één en ander wordt gedaan.

autorun.inf
code:
1
2
3
4
5
[autorun]
label=TrueCrypt encrypted disk
open=open.cmd
action=Start decryptie schijf
icon=TC\TRUECR~1.EXE


open.cmd
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
@ECHO OFF
CLS
ECHO.
ECHO Schijf wordt geopend...
ECHO Een ogenblik geduld aub...
ECHO.
START /B TC\TRUECR~1.EXE /a /q /e /h n /c n /b /v TC\TC.dat /lT
CLS
ECHO.
ECHO nog wat tekst en: Sluit venster niet af om dataverlies te voorkomen
ECHO.
PAUSE > NUL
START /B TC\TRUECR~1.EXE /w /q /dt


Probleem:

De gebruikers die hiermee moeten gaan werken, zijn wellicht noob, wat inhoudt dat zij vermoedelijk niet lezen en het cmd-venster waarin staat dat je het niet moet afsluiten, met het kruisje toch sluiten.

Gevolg is dat de TrueCrypt container wel gemount is, gebruiker is klaar met wat 'ie wil en trekt de USB stekker uit de PC. Dan blijft de nieuw aangemaakte TrueCrypt schijf wel staan in Deze Computer, je kan ook lezen wat er op staat. (Openen van bestanden werkt niet).

Omdat dit natuurlijk niet de bedoeling is, leek het me mooier om iets met VB(script?) te maken. Aangezien ik totaal niet thuis ben in programmeren, heb ik op internet even gezocht en ben tot zo ver gekomen:

test.vbs
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim WshShell
set WshShell = CreateObject("wscript.Shell">)
intButton = WshShell.Popup (" Schijf openen?  ", 0, "TrueCrypt schijf openen", 36)


if (intButton = 6) then

WshShell.Run "TC\TRUECR~1.EXE /a /q /e /h n /c n /b /v TC\TC.dat /lT"
Else

WshShell.Popup "Het programma is afgesloten...", 0, "Afgesloten", 48

  End if


Als ik dit run en ik kies bij de eerste optie voor Ja, dan wordt het netjes uitgevoerd. De tweede keuze is "Nee" en dan krijg je de melding dat het programma is afgesloten.

Eigenlijk wil ik een keuzemenu'tje waarin de keuze mogelijk is voor het Decrypten van de schijf, waarna bovenstaande executable wordt uitgevoerd met bijbehorende switches, de tweede keuzemogelijkheid moet zijn dat de schijf wordt ge-dismount.

Wie kan me helpen dit voor elkaar te krijgen?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Gaat niet met VBS AFAIK; Daar heb je enkel standaard knoppen in een messagebox beschikbaar (zie http://www.devguru.com/te...ckRef/wshshell_Popup.html)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • ProCal
  • Registratie: Juni 2001
  • Laatst online: 31-08-2023
RobIII schreef op woensdag 12 november 2008 @ 16:37:
Gaat niet met VBS AFAIK; Daar heb je enkel standaard knoppen in een messagebox beschikbaar (zie http://www.devguru.com/te...ckRef/wshshell_Popup.html)
Hmm... Dank je wel voor je reactie. Jammer dat het waarschijnlijk niet kan. Heb je misschien een ander idee hoe ik het wel kan oplossen? Of toch maar als batchbestand dan?...

Acties:
  • 0 Henk 'm!

  • ProCal
  • Registratie: Juni 2001
  • Laatst online: 31-08-2023
ProCal schreef op woensdag 12 november 2008 @ 17:03:
[...]


Hmm... Dank je wel voor je reactie. Jammer dat het waarschijnlijk niet kan. Heb je misschien een ander idee hoe ik het wel kan oplossen? Of toch maar als batchbestand dan?...
Maar als ik nou kies voor een standaard box, met ff voor de makkelijkheid een knop "Ja" en een knop "Nee". Dan kan ik toch aan de eerste knop (Ja) toewijzen dat ie gaat decrypten, en aan de tweede knop (Nee) dat ie het volume dismount?

Hoe doe ik dat dan? Want daar kan ik dus niets over vinden..

Verwijderd

ProCal schreef op woensdag 12 november 2008 @ 18:23:
[...]

Hoe doe ik dat dan? Want daar kan ik dus niets over vinden..
Dan heb je toch niet helemaal goed gezocht...hell, het antwoord staat al bijna compleet in het stukje code wat je zelf geeft in je openings post (regel 6 van test.vbs) ;).

Even zoeken op google naar "vbs + wscript.Shell + popup" geeft bij mij als eerste hit deze pagina: http://www.microsoft.com/...solutions07/bvbsol01.mspx

Samengevat staat hier: je kan het resultaat van de popup (een integer) opslaan in een variabele, en afhankelijk van de waarde weet je wat de gebruiker heeft gedaan.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Return Value            Description
1               OK button was pressed

2               Cancel button was pressed

3               Abort button was pressed

4               Retry button was pressed

5               Ignore button was pressed

6               Yes button was pressed

7               No button was pressed

[ Voor 3% gewijzigd door Verwijderd op 13-11-2008 12:54 ]