Вопрос № 139916: Нужна ваша помощь!!!
Скажите как с помощью функции SendMessage скрить компонент TCheckBox и изменить его положение в програме...а также как с помошью етой же функции получить и изменить текст в компоненте TEdit ...
И возвращает функция?(тоест...Вопрос № 139965: Здравствуйте.
Мне нужно сделать так, чтобы программа работала только в течении определенного срока (30 дней). Как сделать это таким образом, чтобы изменение системного времени не влияла на продолжительность работы программы?
Спасибо.
..
Вопрос № 139.916
Нужна ваша помощь!!!
Скажите как с помощью функции SendMessage скрить компонент TCheckBox и изменить его положение в програме...а также как с помошью етой же функции получить и изменить текст в компоненте TEdit ...
И возвращает функция?(тоесть что значит то число которое она возвращает).
Буду очень благодарен если вы хотябы на часть вопроса ответите
Где h-идентификатор(хэндл) компонента. WM_SETTEXT - Тип сообщения, такие сообщения заставляют окно сменить заголовок или своё содержание.
Чтобы скрыть компонент надо использовать WinAPI функцию ShowWindow
ShowWindow(h: hWnd; nCmdShow: integer)
Где h-хэндл компонента, а nCmdShow - команда.
Для того чтобы скрыть компонент надо вызвать функцию так:
ShowWindow(CheckBox1.Handle, SW_HIDE);
SW_Hide-команда которая заставляет спратать компонент, для того чтобы показать его снова надо передать SW_SHOW
Удачи!!!
Ответ отправил: Абельхарисов Руслан/Marked One (статус: Студент)
Ответ отправлен: 13.07.2008, 23:07 Оценка за ответ: 5 Комментарий оценки: Большое спасибо))) А может еще подскажешь литературу в инете где можна посмотреть все функции к SenDMessage..и параметры которыи надо передавать ей... И жаль то что не сказал как переместить компонент. Но все равно большое спасибо!!!
Вопрос № 139.965
Здравствуйте.
Мне нужно сделать так, чтобы программа работала только в течении определенного срока (30 дней). Как сделать это таким образом, чтобы изменение системного времени не влияла на продолжительность работы программы?
Спасибо.
Отправлен: 14.07.2008, 16:13
Вопрос задал: Vassea (статус: Практикант)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Stiffler !!! Здравствуйте, Vassea!
Самое простое что приходит в голову - записывать в какой-то "секретный" файл или ключ реестра время, проработанное на этой машине. Например при запуске и завершении программы, ну и по таймеру. Лучше к этому значению прибавлять что-то и шифровать. Огромный недостаток - палится определяется на ура регмоном/файлмоном с помощью RegMon
/ FileMon и подменяется.
Ответ отправил: Stiffler (статус: 1-ый класс)
Ответ отправлен: 14.07.2008, 16:58
Отвечает: Виктор Пырлик
Здравствуйте, Vassea!
Если приложение рассчитанно на работу в среде NT (Windows NT, XP, Vista), то простейшее - записать в поток исполняемого файла (что и делает, например сканер Касперского), информация без специальных средств не видна, а файл никоим образом не затрагивается (содержимое). Можно сделать "самодифференцированный".. когда информация (дата, например) пишется в сам файл, чаще для этого используют библиотеку, без неё работать не будет, а с ней только так как надо.. Кстати, совершенно не к чему использовать тип
DateTime - для этого вполне сгодится и длинное целое (секунды, например). Ну.. или например, "привязаться" к дате системного файла - ядра, например, рискованно конечно.. но есть надежда, что без переустановки ОС, сбросить счетчик не выйдет.
Определенным способом зашифровать дату и записать в реестр - например, хэш программы и дата старта, или, вычислить хэш даты и потом сравнивать с константой.. В общем, вариантов множество :)
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Профессионал) Россия, Полевской Тел.: 89043822027 ICQ: 490191733 ---- Ответ отправлен: 18.07.2008, 16:48