Мое приложение настроено на переход в спящий режим при нажатии всплывающей подсказки с уведомлением, и этот процесс зацикливается. Это работает, но когда я пробуждаю свой компьютер, он вскоре после этого переходит в спящий режим (это имеет небольшую временную задержку, но, поскольку это занимает столько же времени, сколько обычно требуется для перехода моего компьютера в спящий режим, я бы не стал придавать этому значения). ). Я удалил этот фрагмент из своей общей программы, после чего программа отлично работает, что наводит меня на мысль, что в этом коде есть что-то, что заставляет компьютер засыпать. Кроме того, если один из флагов, управляющих циклами, сброшен, я сбрасываю эти флаги, но проблема остается. На случай, если (по какой-то странной причине) булевы операторы повлияли на это, я изменил их во всех возможных комбинациях, и это по-прежнему не работало! Я пытался добавить команду, чтобы компьютер не переходил в спящий режим, но это тоже не сработало. Какие-либо предложения? Очень признателен.
for (; ; )
{
bool for3 = false;
for (; ; )
{
notifyIcon.ShowBalloonTip(10000);
System.Threading.Thread.Sleep(10000);
Application.DoEvents();
if (loopVariable)
for3 = true;
if (for3) break;
System.Threading.Thread.Sleep(60000);
}
loopVariable = false;
for3 = false;
DateTime timeOnSleep = DateTime.Now;
Application.SetSuspendState(PowerState.Suspend, false, false);//this is the annoying code
DateTime timeOnWake = DateTime.Now;
TimeSpan time = timeOnWake - timeOnSleep;
var minutes = time.TotalMinutes;
Math.Round(time.TotalMinutes, MidpointRounding.AwayFromZero);
double dMins = minutes;
try
{
int iNumber = System.Convert.ToInt32(dMins);
}
catch (System.OverflowException)
{
if (dMins >= 40)
break;
}
}
private static bool loopVariable = false;
void notifyIcon_BalloonTipClicked(object sender, EventArgs e)
{
loopVariable = true;
}