Вопрос № 105396: Добрый день!
Как открыть все скрытые значки в трее. То есть нужно полностью убрать ту кнопку, которая скрывает редкоиспользумые программы, и показать все трейные значки....Вопрос № 105439: Здравствуйте, не подскажете как реализовать замену строк столбцами в статическом двумерном массиве, консольное приложение. Параметры массива вводятся с клавиатуры. Затем вывести всё на экран.
Заранее благодарен....
Вопрос № 105.396
Добрый день!
Как открыть все скрытые значки в трее. То есть нужно полностью убрать ту кнопку, которая скрывает редкоиспользумые программы, и показать все трейные значки.
Отправлен: 14.10.2007, 11:36
Вопрос задал: Red Spirit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Gh0stik
Здравствуйте, Red Spirit!
Чтобы добиться данного эффекта, Вам необходимо просто сделать изменения в реестре.
В разделе HKEY_CURRENT_USERSoftwareMicrosoftWindows CurrentVersionPoliciesExplorer
Создать ключ с типом REG_DWORD и именем EnableAutoTray и задать ему значение равное 1. Чтобы снять ограничение достаточно удалить данный ключ либо изменить значение на 0.
А теперь, как это сделать путем программы: var reg:tregistry;
s:string;
....
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
s:='SoftwareMicrosoftWindowsCurrentVersionExplorer';
with reg do
begin
openkey(s,true);
WriteInteger('EnableAutoTray',1)
CloseKey;
Free;
end;
...
Также не забудьте подключить модуль Registry (uses Registry;).
Замечание: Для того , чтобы значение ключа вступило в силу - необходимо перегрузить машину.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 14.10.2007, 21:12 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ! Но, я забыл уточнить, что мне нужно сделать так, чтоб изменения были мгновенны. То есть, нажал кнопку на форме - иконки появились, нажал другую - скрылись, как-будто
я нажимаю на саму стрлочку в трее. Я вот думаю, найти хэндл этой стрелочки и нажимать потом на нее програмно.. но вот как его найти?
Отвечает: Coupler
Здравствуйте, Red Spirit!
Учитывая Ваш комментарий к оценке ответа эксперта Ghostik (в вопросе Вы писали, что нужно полностью убрать кнопку), я написал код, иллюстрирующий то, что Вы сказали, буквально по словам :)
procedure TForm1.Button1Click(Sender: TObject);
var
TrayWnd, TrayNWnd, ButtonWnd: HWND;
begin
TrayWnd := FindWindow('Shell_TrayWnd', nil);//handle системного трея
TrayNWnd := FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil);//handle области уведомлений
ButtonWnd := FindWindowEx(TrayNWnd, 0, 'Button', nil);//handle кнопки (она там одна)
PostMessage(ButtonWnd, WM_LBUTTONDOWN, 0, 0);//посылаем сообщение нажатия
PostMessage(ButtonWnd, WM_LBUTTONUP, 0, 0);//и отпускания левой кнопки мыши
end;
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 16.10.2007, 15:58 Оценка за ответ: 5 Комментарий оценки: Вот, это именно то, что нужно было! Не обязательно полностью ту кнопку скрывать, просто с вопросом поторопился и не совсем корректно сформурировал ;)
Вопрос № 105.439
Здравствуйте, не подскажете как реализовать замену строк столбцами в статическом двумерном массиве, консольное приложение. Параметры массива вводятся с клавиатуры. Затем вывести всё на экран.
Заранее благодарен.
Отвечает: Gh0stik
Здравствуйте, Денисенко Андрей Сергеевич!
В приложении смотрите код программы, которая выполняет преобразования в соответсвии с условием, а также с коментариями которые Вы привели в миниформе.
Вот результат выполнения программы: Input range m=2
n=3
a[1,1]=1
a[1,2]=2
a[1,3]=3
a[2,1]=4
a[2,2]=5
a[2,3]=6
Before...
1 2 3
4 5 6
After...
1 4 3
2 5 6
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 14.10.2007, 17:32 Оценка за ответ: 5 Комментарий оценки: респект тебе большой, земляк =)
Отвечает: PM_pilot
Здравствуйте, Денисенко Андрей Сергеевич!
Попробуйте заменить індексы строк на індескы столбцов и на оборот напр a[i][j] := b[j][i]; таким образом Вы получите
масив развернутый на 90 градусов; цикл будет выглядеть примерно так (очень давно на ObjectPascal не работал)
Приложение:
Ответ отправил: PM_pilot (статус: 1-ый класс)
Ответ отправлен: 15.10.2007, 19:31 Оценка за ответ: 4 Комментарий оценки: спасибо, так тоже можно отчасти=) чето сразу не додумался =)