Ich habe ein einfaches GUI-Programm und würde gerne erkennen, wenn dieses aus der IDE (VS 2005) gestartet wird.
Sprich, wenn die EXE etwa direkt aus dem DEBUG- oder RELEASE-Verzeichnis gestartet wird, dann ist es ok. Wenn das Programm aber aus der IDE gestartet wird, möchte ich das irgendwo abfangen. Geht das?!
#if DEBUG
MessageBox.Show("test");
#endif
vlt so 😉
Edit: wobei mir gerade auffählt das wen man es aus dem debug ordner öfnet dies auch ausgegeb wird.
MfG Paul
Hallo,
deine Anwendung wird ja über <anwendungsname>.vshost.exe geladen (und die CLR gehostet). Möglicherweise kannst du das ja herausfinden.
gruß Thomas
Wie weit abfangen?
Einfach nur unterscheiden ob per IDE gestartet wurde? Dann definiere dir doch einfach über die Projekt eigenschaften einen Parameter der mitgegeben wird.
Das kannst du für Debug und Release machen.. Prüfe am Anfang auf diesen Parameter und schon weißt du, ob aus einer IDE gestartet wurde.
Wäre natürlich leicht zu manipulieren, aber wie gesagt. kommt drauf an was du damit machen willst.
lg Lion
lg Lion
@el_panter:
Das ist compilezeit, nicht laufzeit.
@telebumm:
Was ist, wenn er den Hostingprozess ausgeschaltet hat ( ist gang und gebe, wenn man mal was grösseres macht ).
@Lion1984:
Ist doch schon alles std mässig vorhanden.
@Domasch:
Du kannst einmal Designmode einer Form/UserControl abfragen, wenn du es für den Designer benötigst.
Ansonsten ist System.Diagnostics.Debugger.IsAttached zu benutzen.
@FZelle, was meisnt du mit "ist standardmäßig vorhanden" ?
Ich meinte ja, dass kann man einfach per VS oder ähnliches leicht mitgeben könnte.
lg Lion
lg Lion