06. maj 2010 - 17:38
Der er
14 kommentarer og 1 løsning
Hente output fra externt program i winform
Hej, Jeg har flere programmer liggende i samme mappe. Alle skal bruge programmet 'user.exe' til at validere brugernavn/password. 1) Hvordan kan jeg få output fra 'user.exe' ind i mit andet windows-form program? 2) Det kunne garanteres laves med en dll-fil i stedet, men her har jeg ingen viden, så hvis det er muligt ville et par links også være godt. Jeg kan godt tænke mig at kende svaret på begge spørgsmål :) Mvh Morten
Annonceindlæg fra Sprint365
Du kan godt laese output fra et program der koeres med Process.Start
ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "user.exe"; psi.Arguments = "bla bla bla"; psi.CreateNoWindow = true; psi.UseShellExecute = false; psi.RedirectStandardOutput = true; Process p = Process.Start(psi); StreamReader sr = p.StandardOutput; String res = sr.ReadToEnd(); sr.Close(); p.Close();
Hvis den EXE er en .NET exe kan du faktisk bruge den ligesom en DLL !!
Jeg kender mere eller mere intet til DLL'er, kan du give mig nogle steder at læse om dem?
DLL'er i .NET er meget nemt. Du tilfoejer en ref til DLL og saa kan du bruge al funktionalitet i DLL.
hvordan laves output i en windows form?
Du mener hvordan det vises? tb.Text = res; (se #2 for hvor res kommer fra)
user.exe indeholder som sagt funktioner vedrørende brugeren. Det er denne fil der bliver kaldt og som skal give output. Alt efter hvad jeg bruger af argumenter, skal den give forskelligt resultat/output. Men hvordan gør jeg så user.exe giver resultatet "deleted". Altså inde fra selve user.exe?
Ingen anelse. Jeg kender ikke dit user.exe program.
Du misforstår mig. Hvordan angiver jeg i user.exe at en given værdi skal udskrives og gemmes i Process.StandardOutput?
Den kommer automatisk til at indeholde console output. C# Console.Write*, C printf, C++ cout << etc..
hvad så hvis begge programmer er en form-applikation?
Så ser det ret sort ud med hensyn til at fange hvad der læses og skrives.
02. september 2010 - 09:20
#14
Jeg endte med at konventere mit andet program (user.exe) til et console-program og derved løses problemet. Du skal have mange tak for hjælpen arne_v. Ønsker du point?
02. september 2010 - 15:29
#15
jo tak
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.