내 응용 프로그램에서는 Windows를 시작할 때 응용 프로그램을 시작할 수있는 옵션이 있습니다. 그건 잘된거야. 또한 최소화 할 경우 응용 프로그램이 시스템 트레이에 최소화되도록 작업 할 수도 있습니다. Windows와 동시에 시작할 때 자동으로 최소화 할 수있는 방법이 있습니까? 내가 생각할 수있는 유일한 방법은 시스템이 켜져있는 시간을 검색하고 그 데이터를 사용하여 기계가 최근에 시작되었는지 여부를 결정하는 것입니다. 분명히 그 이론에는 많은 결함이 있습니다. 다른 사람이 어떻게 할 수 있겠는가?C# - 시스템 시작시 최소화 트레이
답변
프로그램에서 트레이로 최소화되도록 명령 줄 스위치를 구현하십시오. Windows 시작 프로그램을 시작할 때 스위치 만 포함하면됩니다.
명령 줄 인수를 사용하여, 예를 들어,/startminimised. 앱에서 앱이 시작될 때이 스위치가 있는지 (Environment.GetCommandLineArgs
사용) 확인하고 스위치가 있는지 자동으로 최소화합니다.
"시작시 실행"옵션에서 앱이이 스위치로 시작되었는지 확인하십시오. 예 : 실행 레지스트리 키 또는 시작 그룹 바로 가기를 myapp.exe /startminimised
으로 설정하십시오.
그러나 사용자가 앱을 실행하면 스위치가 지정되지 않으므로 앱이 창으로 표시됩니다. WINDOWSTATE 변화에 양식 "속성"에서
는 "최소화", 또는 코드합니다 :
//After this:
InitializeComponent();
//Place this line:
WindowState = FormWindowState.Minimized;
희망이 도움이!
그런데 showintaskbar를 비활성화하려면 위의 코드 다음에 showintaskbar = false를 넣으면됩니다. – Arash
당신은 "-minimized"예를 들어, 매개 변수를 사용하여 프로그램을 호출 한 다음 프로그램에서 해당 매개 변수를 처리 할 수 있습니다, 당신의 program.cs에서
매개 변수를 처리 한 다음 Form1에 해당 매개 변수를 전달합니다 : 당신이들 경우, 예를 들어
public Form1(string parameter)
{
InitializeComponent();
SetStartup(); //This function will set your app in the registry to run on startup. I'll explain this function below.
MinimizeApp(parameter);
}
, 내가 사용하는이 기능 :
당신의 Form1.cs를에서 static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length != 0){
Application.Run(new Form1(args[0]));
}
else
{
Application.Run(new Form1("normalState"));
}
}
, 당신은 전달 된 매개 변수를 사용하여 함수를 호출 할 앱을 최소화 할 수 있습니다 최소화 된 매개 변수로 응용 프로그램을 시작한 다음 최소화 된 상태로 시작되고 작업 표시 줄에 알림 창이 나타나고 응용 프로그램이 시작되어 백그라운드에서 실행 중임을 알리는 거품이 표시됩니다.
public void MinimizeApp(string parameter)
{
if (parameter == "-minimized")
{
this.WindowState = FormWindowState.Minimized;
notifyIcon1.Visible = true;
notifyIcon1.BalloonTipText = "Program is started and running in the background...";
notifyIcon1.ShowBalloonTip(500);
Hide();
}
}
SetStartup 함수는 프로그램을 레지스트리에 저장하므로 시작시 실행됩니다. 당신이 당신의 컴퓨터를, 그것은 또한 다시 시작할 때 다음 최소화 시작됩니다 -minimized, 및 "/programs/app.exe C :"지금, 당신은 예를 들어, -minimized 매개 변수를 사용하여 프로그램을 시작할 때
private void SetStartup(){
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
key.SetValue(AppName, Application.ExecutablePath.ToString());
string ApplicationPath = "\"" + Application.ExecutablePath.ToString() + "\" -minimized";
key.SetValue("MyApplicationName", ApplicationPath);
key.Close();
}
자동으로 최소화가 시작됩니다.
많은 응용 프로그램이이를 성공적으로 수행합니다. MSN Messenger는'/ background' 스위치를 사용하여 동일한 효과를냅니다. – adrianbanks