W .NET możemy łatwo uzyskać dostęp do argumentów podziału wiersza poleceń w tablicy ciągów z argumentu Main(string[])
lub Environment.GetCommandLineArgs()
. Czy istnieje jednak sposób na uzyskanie niezainfekowanej linii poleceń jako jednego ciągu?Uzyskiwanie nieprzetworzonej (nieokreślonej) linii poleceń w .NET
Tło: moja aplikacja dodaje się do menu kontekstowego FileExplorer (jak robi to Notepad ++). Kiedy jest uruchamiany w ten sposób, nazwa pliku jest przekazywana bez cytowania, co oznacza, że jeśli na ścieżce znajdują się spacje, jest ona zepsuta. Wiem, że mogę to naprawić, obejmując %1
w cudzysłowie w rejestrze, jak myapp.exe "%1"
, ale kiedy sprawdzam rejestr innych aplikacji, nie robili tego. Są proste jak notepad.exe %1
- mają kompletną linię poleceń. Chcę wiedzieć, czy jest to możliwe w .NET i jak.
Czy istnieje sposób na łatwe usunięcie nazwy pliku wykonywalnego? –
@JaredBeach, .Replace (Application.Executable Path, "") –