Я сделал гудок с помощьюКак программно переключаться между звуком и отключенным режимом?
[DllImport("KERNEL32.DLL")]
extern public static void Beep(int freq, int dur);
// and
Beep(2222, 55);
Beep(3333, 55);
Я привил этот код (Beep (частота, Твердая)) почти hundread раз здесь и там (с различной частотой, длительностью и времени).
Теперь я хочу программно переключаться между Sound и Mute.
я мог сделать это с чем-то вроде
if (my_Flag)
{
Beep(2222, 55);
Beep(3333, 55);
}
Она должна быть кропотливая работа, чтобы сделать. Есть ли лучшие идеи?
Спасибо.
Если вы использовали «магические числа», как вы показываете в своем примере, вам нужно выполнить «утомительную работу». В то время как на нем лучше определите некоторую GLOBAL-переменную, которую вы можете программно изменить в своем коде и использовать для замены «магических чисел» – Steve
Я сомневаюсь, что есть способ избежать того, что вы подразумеваете под утомительной работой, поскольку нет перегрузки ' Beep'-method, который исключает логическое значение, указывающее, должен ли он выдавать звуковой сигнал или нет, поэтому вам нужно проверить это самостоятельно. – HimBromBeere
Если бы я был вами, я бы создал собственную (singleton class +) функцию (int, int), которая вызывается Beep из Kernel32 сама ... Тогда у вас будет гораздо меньше проблем с чем-то вроде этого. Тем не менее, у вас не будет другого пути, а затем реорганизуйте это, я думаю ... – TripleEEE