Hej Tycker att det där borde fungera, vad är problemet? Tack så mycket :) Hej igen..Hur får jag tag i returvärde som går till dosfönster efter att jag har triggat e
Jag sitter med en windows applikation gjord i VB6 som genom shell exekverar filen netdom.exe. När netdom exekverats får man ett returvärde beroende på om det lyckats eller ej samt till viss del även varför det isåfall misslyckats. Det är dessa returvärden som jag vill fånga upp. Applikationen körs på win2000 eller XP och netdom körs mot AD som troligen ligger på en 2003-server (annars en 2000-server)
Det är tänkt att om jag får det att fungera så skall även dsquery och dsmove komma att användas på samma sätt.
Den kod som idag triggar exekveringen är följande (filename är namnet på en fil som är tänkt skall spara returvärdet som en log.txt fil men det tycks inte bli något med det.):
ShellId = Shell("C:\WINDOWS\system32\cmd.exe /c " & command & " > " & fileName, vbHide)
ShellHandle = OpenProcess(SYNCHRONIZE, 0, ShellId)
I mitt sökande har jag fått vissa antydningar på att det inte är möjligt. Någon som vet?
Vad jag förstått så finns det ett sätt till att exekvera en fil/extern process (?). Det lär vara genom CreateObject.. men då jag inte vet hur det fungerar eller om det är rätt sätt att angripa problemet på så har jag inte försökt än. Jag har dåligt med tid och vore väldigt tacksam om någon kunde hjälpa mig med mina problem.
Tack på förhand
Alex
Ps då jag är "nybörjare" kan det mycket väl vara så att jag missförstått koden som jag läst, det är i så fall väldigt bra om någon som ser det skulle kunna påpeka det ds.Sv: Hur får jag tag i returvärde som går till dosfönster efter att jag har trigg
Annars kan du kolla in http://www.msjogren.net/dotnet/eng/samples/vb6_cmdoutput.asp
/JohanSv:Hur får jag tag i returvärde som går till dosfönster efter att jag har trigg
Det låter ju riktigt bra. Var lite orolig att jag skulle behöva skriva om en hel del kod med allt vad det skulle innebära..
Skall kolla om jag får det att fungera efter att kollat "pipsen" som det står om i exemplet du hänvisar till.. När jag lärt mig hur man kollar ;-) Eventuellt är det där felet ligger.
Ber om att få återkomma när jag är mer klar över problemet eller rent av har löst det. Är det så att det borde fungera redan idag så är det kanske något som jag missförstått och därför tolkat koden felaktigt.
Många tack
AlexSv: Hur får jag tag i returvärde som går till dosfönster efter att jag har trigg
.. och tack igen.. :)
Jag testade koden du hänvisadet till och tror nog att jag håller mig till det ..
Följande som jag har läst någonstans i någon webbsida säger:
You can use the Shell command in VBA to start another program. Unlike programs started via Automation with the CreateObject function, you have no control over the Shell'd program. Your code can't issue commands to it, you can't stop it, nor can you directly determine when it ends. Shell is essentially the same as running a program from the Run dialog on the Windows Start menu.
Det tolkade jag som att det nog inte gick att få ut några returvärden med hjälp av Shell och då koden som används för närvarande inte tycks stödja det så som jag använder den nu, så var jag nära att ge upp den biten. Nu behöver jag inte längre göra så.
Hur som helst så tror jag nog att jag kan lösa den delen av uppgiften jag har att utföra med hjälp av exemplet du hänvisade till. Jag markerar därför problemet som löst :)
Du skall ha stort tack för din hjälp.
Hälsningar
Alex