[VB6] Shell aanroep niet helemaal goed?

Pagina: 1
Acties:

  • Praetorian
  • Registratie: November 2001
  • Laatst online: 27-08 00:26
code:
1
2
3
4
5
6
For user = 0 To LstBoxDialog.ListCount - 1
    
retval = Shell("setacl " & SRprofilesPath & LstBoxDialog.List(user) & " /dir /set " &
_ LstBoxDialog.List(user) & " /full /i:cont_obj_inh /p:no_dont_copy", vbHide)

Next



Heel klein probleempje denk ik...

Ik spreek een .exe aan dmv Shell... je ziet het, een hele string veel &'s, maar ik weet zeker dattie werkt... tevens moet ie geHided zijn, de enige manier waarop VB dit toe liet is met een "=", vandaar die

code:
1
retval=


Je ziet in mijn code maar 1 shell aanroep staan, ik heb er 5 staan, ook met allemaal "retval=" er voor, deze heb ik ff weggelaten om misverstanden te voorkomen.

Wat is nu het probleem? Het wordt niet uitgevoerd om de een of andere reden, ik heb liever geen retval= er voor, want ik denk dat het daar door komt, maar anders krijg ik hem niet geVbHided!


Edit:

Ik heb ff _ in de code gezet, die moet je denkbeeldig weglaten uiteraard.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 10:06

Crazy D

I think we should take a look.

Stop de zooi die je wilt shellen in een aparte var, dat maakt de boel wat leesbaarder, en debugt wat makkelijker. Daarnaast kun je ook Call functie() gebruiken ipv dummyvar = functie() te gebruiken. En als laatste, wat doet ie nu precies niet? En doet ie het wel als je 'm gewoon wilt tonen (geen vbHide dus)?

Exact expert nodig?


Verwijderd

Als je
Call Shell("setacl " & SRprofilesPath & LstBoxDialog.List(user) & " /dir /set " &
_ LstBoxDialog.List(user) & " /full /i:cont_obj_inh /p:no_dont_copy", vbHide)
doet, hoef je geen retval = te doen, maar dat heeft _NIKS_ met het probleem te maken. Waarschijnlijk zit er toch echt iets fout in je aanroep. Stop die eerst eens in een string (sCommand), en doe dan eens "debug.print sCommand". Copy paste dat naar een dos prompt, en check of dat werkt.

Kijk trouwens ook eens naar de ShellExecute API, zie ook www.pscode.com