私は小さなランチャーを開発しています。その主なアイデアは、Viber for Windows の機能不足を修正することです。Viberを最小化してトレイのみに起動させたい。通常、Viber が起動すると、デスクトップに Viber のメイン ウィンドウが表示され、システム トレイにアイコンが表示されます。この古いウィンドウは常に手動で閉じる必要があります。そのため、数行のコードを書きましたが、それでもウィンドウを閉じることができないことがわかりました。
using System;
using System.Diagnostics;
class ViberStrt {
static void Main() {
Process newProc = Process.Start("c:\\Users\\Dmytro\\AppData\\Local\\Viber\\Viber.exe");
Console.WriteLine("New process has started");
//newProc.CloseMainWindow();
newProc.WaitForExit();
newProc.Close();
newProc.Dispose();
Console.WriteLine("Process has finished");
//newProc.Kill();
}
}
しかし、私が何を試しても(閉じる、破棄する)、うまくいきません。メソッド Kill は、すべてを殺すため、適合しません。しかし、Viber のメイン ウィンドウを閉じて、プロセスをシステム トレイに残すだけで済みます。
別の方法もあります: Viber を最小化してすぐに起動するには:
using System;
using System.Diagnostics;
class LaunchViber
{
void OpenWithStartInfo()
{
ProcessStartInfo startInfo = new ProcessStartInfo("c:\\Users\\Dmytro\\AppData\\Local\\Viber\\Viber.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(startInfo);
}
static void Main()
{
//Process newProc = Process.Start("c:\\Users\\Dmytro\\AppData\\Local\\Viber\\Viber.exe");
LaunchViber newProc = new LaunchViber();
newProc.OpenWithStartInfo();
}
}
このような場合、TaskPane に最小化されたウィンドウが表示され、SystemTray にアイコンが表示されます。しかし、この場合、TaskPane のアイコンを取り除く方法 (最小化されたウィンドウを閉じる方法) がまったくわかりません。
この問題の解決策を見つけるための助けやアイデアをいただければ幸いです。