0
こんにちは私はspeificプログラムを開くときにエアロが無効になっていて、speificプログラムが閉じるとエアロを再び有効にしたいということを修正しようとしています。C#cantプロセスがプロセスリストに入っているかどうかを確認してください。
マイコード:
{
const uint DWM_EC_DISABLECOMPOSITION = 0;
const uint DWM_EC_ENABLECOMPOSITION = 1;
[DllImport("dwmapi.dll", EntryPoint = "DwmEnableComposition")]
extern static uint DwmEnableComposition(uint compositionAction);
public Form1()
{
InitializeComponent();
}
int count = 1;
public static bool EnableComposition(bool enable)
{
try
{
if (enable)
{
DwmEnableComposition(DWM_EC_ENABLECOMPOSITION);
}
else
{
DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);
}
return true;
}
catch
{
return false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
Process[] procs = Process.GetProcesses();
foreach (Process proc in procs)
{
string chrome = "chrome";
string list;
list = proc.ProcessName;
if (list.Contains(chrome))
{
EnableComposition(false);
}
else if(!list.Contains(chrome))
{
EnableComposition(true);
}
}
}
}
問題:プログラムが開いている場合、それはif文で真と偽の両方で実行されます。
どうしたのですか?
ありがとうございました。
ああ、それdidntの通知は、あなたが今、完璧な作品ありがとうございました! – Svante
@ user1216303 - あなたはこの回答を受け入れていないことに気付きました。これに新しい問題がありますか? – Justin
申し訳ありませんが、私はクリックミス – Svante