Síða 1 af 1

[C#] Start .exe process then kill the parent?

Sent: Mið 23. Mar 2011 14:18
af guttalingur
Ssé ég vill "detatcha" .exe frá rótini og drepa um leið rótina

Vill ekki þennan leiðindar cmd glugga að pompa upp,
sem sé aðferðin sem ég er núna að nota er
process.start(cmd.exe,"app") eða einhvað í þessa áttina.

kanski er hægt að keyra hann headless?

Re: [C#] Start .exe process then kill the parent?

Sent: Mið 23. Mar 2011 15:51
af codec
Mjög eðlilegt að þú fáir þennan "leiðindar cmd.exe glugga" því þú ert að opna cmd.exe.
Hvað er það sem þú er að reyna að gera?
Þú gætir gert eitthvað svona
Process.Start(appname);
Þar sem appname er strengur með slóð að því forriti sem þú er að reyna að keyra t.d. "c:\somestuff\someapp.exe" eða "IExplore.exe"
EF þú vilt senda parameter með þá
Process.Start("IExplore.exe", "www.vaktin.is");
Þetta opnar Internet explorer og segir honum og fara á vaktina.

Re: [C#] Start .exe process then kill the parent?

Sent: Lau 26. Mar 2011 13:47
af guttalingur
Enn ég get ekki gert application.exit

process.start
application.exit

Þetta vill ekki virka reyndi að nota cmd til að geta náð í application.exit

Edit:
ég er að reyna að forrita einfaldan updater :)

Re: [C#] Start .exe process then kill the parent?

Sent: Lau 26. Mar 2011 16:59
af Haxdal

Kóði: Velja allt

using System;
using System.Diagnostics;
namespace ProcessStartTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Process.Start("iexplore.exe");
            Process.GetCurrentProcess().Close();
            //Process.GetCurrentProcess().Kill();
        }
    }
}

Þetta startar cmd glugganum til að keyra forritið, kveikir á iexplore.exe og lokar svo parentinu og skilur iexplore.exe eftir í gangi
Er þetta ekki það sem þú vildir gera?

raun og veru þarftu ekki að gera neitt sérstakt til að loka parentinu, nema þú hafir spawnað einhverja þræði eða sért með eitthvað í gangi sem læsir parentinu því þegar hann er búinn að gera allt sem hann á að gera þá lokast hann sjálfkrafa þótt þú hafir startað nýjum process útfrá honum.

Re: [C#] Start .exe process then kill the parent?

Sent: Mán 28. Mar 2011 13:18
af codec
Application.Exit er notað í glugga forritum.

getur notað System.Environment.Exit(0) í console forriti. 0 er int og er ExitCode sem skilar sér til baka í stýrikerfið, 0 þýðir að forritið keyrir ok og ætti að vera notað default, allt annað er einhver villu kóði frá forritinu.