köra en exe fil via microsoft visuals studio c#

Permalänk
Medlem

köra en exe fil via microsoft visuals studio c#

Tjena
jag håller på att försöka tillverka ett felsöknings verktyg.

och jag har lagt in ridnacs i mitt program med alla filer och den funkar för mig
men inte på andra datorer..

efter som att ridnacs är max 500kb stort med enbart en exe fil så tänkte jag att jag kan få med programmet i mitt program
men jag lyckas inte få en url till programmet :S

frågan är.. hur kan jag få en annan url till programmets exe ? utan att det går till min dator ?

System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; startInfo.FileName = "file:///C:/Users/miche/source/repos/RaccoonToolz/RaccoonToolz/Tools/RidNacs/RidNacs.exe"; process.StartInfo = startInfo; process.Start();

tack på förhand

Visa signatur

CPU: i7 9700k GHz |GPU:GTX 2070 ROG |Moderkort: ASUS ROG Strix Z390-F |Kylning: Corsair H115i PRO |RAM: Corsair ddr4 32GB 3000 mhz |SSD:m.2 90 evo plus |OS: windows 10 Pro
Online:| Overwatch(master) | CS:GO | APEX | VR-SPEL | PUBG |
Bredband | Fraktfritt Inet | hemsida| swec bb-koder

Permalänk
Medlem

om binären ligger i en underkatalog till ditt program så kan du förslagsvis utgå därifrån.

Den här metoden ser ut kunna hjälpa dig:
https://docs.microsoft.com/en-us/dotnet/api/system.reflection...

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Medlem

Du kan ange en relativ sökväg till exe-filen med utgångspunkt från var din egen applikation körs ifrån. När du bygger din applikation, så hamnar den förmodligen i en undermapp som heter bin/Debug. Kolla om RidNacs.exe också ligger i den mappen och om så är fallet behöver du bara ange filnamnet i startInfo.FileName. Om den ligger i en undermapp, så lägger du till det innan filnamnet.

Skickades från m.sweclockers.com

Visa signatur

as far as we can tell, the massacre went well...

Permalänk
Medlem
Skrivet av Doctor9:

Tjena
jag håller på att försöka tillverka ett felsöknings verktyg.

och jag har lagt in ridnacs i mitt program med alla filer och den funkar för mig
men inte på andra datorer..

efter som att ridnacs är max 500kb stort med enbart en exe fil så tänkte jag att jag kan få med programmet i mitt program
men jag lyckas inte få en url till programmet :S

frågan är.. hur kan jag få en annan url till programmets exe ? utan att det går till min dator ?

System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; startInfo.FileName = "file:///C:/Users/miche/source/repos/RaccoonToolz/RaccoonToolz/Tools/RidNacs/RidNacs.exe"; process.StartInfo = startInfo; process.Start();

https://i.gyazo.com/575673531a2e50654d953daeed286f69.png
https://i.gyazo.com/619819b5a7e918bff660eae22d02e185.gif
https://i.gyazo.com/7ae3ee7dc6f2a8673d0e39aef58200b4.png

tack på förhand

Skrivet av Ragin Pig:

om binären ligger i en underkatalog till ditt program så kan du förslagsvis utgå därifrån.

Den här metoden ser ut kunna hjälpa dig:
https://docs.microsoft.com/en-us/dotnet/api/system.reflection...

Borde väl gå med Directory.GetCurrentDirectory(); också?

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

Permalänk
Medlem
Skrivet av BrutalSwede:

Borde väl gå med Directory.GetCurrentDirectory(); också?

Det går nog bra och verkar bättre, gjorde en snabb googling efter något lämpligt api bara. Har använt applikation.startuppath tidigare men det ör en del av winforms vilket kändes onödigt att dra in i detta projekt

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Medlem

jag förstår inte.. hur jag ska få det att fungera ?
kan någon förklara på ett men enklare sätt ?

MVH

Visa signatur

CPU: i7 9700k GHz |GPU:GTX 2070 ROG |Moderkort: ASUS ROG Strix Z390-F |Kylning: Corsair H115i PRO |RAM: Corsair ddr4 32GB 3000 mhz |SSD:m.2 90 evo plus |OS: windows 10 Pro
Online:| Overwatch(master) | CS:GO | APEX | VR-SPEL | PUBG |
Bredband | Fraktfritt Inet | hemsida| swec bb-koder

Permalänk
Medlem

Enligt licensen får du inte distribuera RidNacs. Ett av sätten att ”installera” RidNacs är att packa upp en zip. Programmet kan alltså finnas lite var som helst på någon av användarens hårddiskar och det går inte (alltid, i alla fall) att läsa från registret eller liknande och ta reda på var det finns. Det enda säkra sättet är, som jag ser det, att låta/tvinga användaren av ditt program att konfigurera var .exe-filen finns och hantera problemen som uppstår när konfigurationen blir fel.

Permalänk
Medlem

Här är ett exempel som bör fungera

char directorySeparator = System.IO.Path.DirectorySeparatorChar; string myDirectory = System.AppDomain.CurrentDomain.BaseDirectory; string target = $"Tools{ directorySeparator }RidNacs{ directorySeparator }RidNacs.exe"; var startInfo = new System.Diagnostics.ProcessStartInfo() { WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal, FileName = myDirectory + target }; var process = System.Diagnostics.Process.Start(startInfo);

Permalänk
Medlem
Skrivet av eggplant:

Här är ett exempel som bör fungera

char directorySeparator = System.IO.Path.DirectorySeparatorChar; string myDirectory = System.AppDomain.CurrentDomain.BaseDirectory; string target = $"Tools{ directorySeparator }RidNacs{ directorySeparator }RidNacs.exe"; var startInfo = new System.Diagnostics.ProcessStartInfo() { WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal, FileName = myDirectory + target }; var process = System.Diagnostics.Process.Start(startInfo);

du är en riktig mästare tack för din hjälp detta funkade utan problem

Visa signatur

CPU: i7 9700k GHz |GPU:GTX 2070 ROG |Moderkort: ASUS ROG Strix Z390-F |Kylning: Corsair H115i PRO |RAM: Corsair ddr4 32GB 3000 mhz |SSD:m.2 90 evo plus |OS: windows 10 Pro
Online:| Overwatch(master) | CS:GO | APEX | VR-SPEL | PUBG |
Bredband | Fraktfritt Inet | hemsida| swec bb-koder