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


Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

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

Pósturaf guttalingur » Mið 23. Mar 2011 14:18

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?




codec
Vélbúnaðarníðingur
Póstar: 342
Skráði sig: Fös 07. Ágú 2009 12:53
Reputation: 17
Staða: Tengdur

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

Pósturaf codec » Mið 23. Mar 2011 15:51

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.




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

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

Pósturaf guttalingur » Lau 26. Mar 2011 13:47

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 :)



Skjámynd

Haxdal
Tölvutryllir
Póstar: 640
Skráði sig: Lau 14. Apr 2007 18:58
Reputation: 0
Staða: Ótengdur

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

Pósturaf Haxdal » Lau 26. Mar 2011 16:59

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.


Atvinnunörd - Part of the 2%
> FX8350 | Gigabyte 990FXA-UD3 | Nvidia GTX 760 | 8GB Somethingsomething | Corsair Graphite 600T <


codec
Vélbúnaðarníðingur
Póstar: 342
Skráði sig: Fös 07. Ágú 2009 12:53
Reputation: 17
Staða: Tengdur

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

Pósturaf codec » Mán 28. Mar 2011 13:18

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.