![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
Как использовать свой десктоп? ни в drkb ни на форуме я ответа не нашел... может что пропустил?
в delphi в помощи по windows sdk отыскал эту функцию, но нифига у меня не получилось с ней поработать. Однажду кто-то мне приводил пример использования этой функции тут на форуме (помойму это был Girder если не ошибаюсь...) но я не смог найти этой темы... всё-таки уже около года прошло: Вообщем суть проблемы такая: я хочу создать свой десктоп и чтобы моя программа в нем работала. я сделал так: исходника нет под рукой, поэтому по памяти:
и получилась фигня! моя прога не отображается в новом десктопе. и десктоп не переключить, пришлось 2 раза комп перезагружать пока эксперементировал. Мешает вот что: я незнаю: 1. когда создавать десктоп? в FormCreate? или где? 2. какие ещё функции кроме createdesktop нужны? если я не делаю MyDesktop:=OpenDesktop('My',0,false,DESKTOP_SWITCHDESKTOP); то SWITCHDESKTOP(MyDesktop); не работает! Как и в какой последовательности, с какими параметрами и какие функции при создании десктопа нужно делать? 3. Как сделать чтобы моя прога в созданном десктопе была а не в старом? 4. при выходе достаточно CloseDesktop(MyDesktop); или сначало нужно десктоп на DEFAULT сменить? заранее спасибо, простите если просмотрел в форуме ответ на свой вопрос! Это сообщение отредактировал(а) h2o - 13.2.2007, 11:00 --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
В принципе не важно. Смотря, что требуется. Просто важно всё делать правильно. Мне кажется код красноречивее меня будет ![]()
Это сообщение отредактировал(а) Yanis - 13.2.2007, 15:08 |
|||
|
||||
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
дак чтобы мне запустить свою программу в новом десктопе мне нужно 2ю писать, которая создаст десктоп, запустит мою прогу, закроет её и сменит десктоп?
я хочу чтобы программа в которой я создаю новый десктоп в этом дестопе и отображалась что-то дописать нужно? --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
||||
|
||||
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
ладно, спасибо
Yanis --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
SetThreadDesktop
но работает только если у твоего треда нет окон и хуков на его текущем десктопе. Поэтому чтобы быть полностью уверенным вызывай его из секции инициализации модуля, а модуль поставь первым в секции uses проекта -------------------- Обижено школьников: 8 |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
В самом начале обсуждения пробовал её использовать, но выяснилось что существующее окно туда не загнать. Можно только создать новое..... Но что-то у меня не получилось. Ты сам пробовал? Дай примерчик, а то у меня могла криворукость включиться в ненужный момент ![]() |
|||
|
||||
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
а я сделал по-другому:
написал прогу которую я хочу запустить в новом десктопе создал новый бесформенный малюсенький проект (около 100 кб) проект, включил .ехе своей проги в ресурсы. при старте проги, извлекаю ресурсы и при помощи кода Yanis запускаю. прекрасно работает, ну вот только программа увеличилась на 100 кб, хотя это не критично. если вдруг кому интересно код могу сюда загнать --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
если получится - отпишусь если только для запуска нового процесса - то 16 кб отсилы тоже хрень тривиально и с оверхедами. вряд ли кому-то будет интересно. попробуй из одного EXE. И я тоже попробую... -------------------- Обижено школьников: 8 |
|||
|
||||
h2o |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
bems
это как у тебя 16 кб получается? у меня меньше 100 не получилось уменьшить... у меня в uses почти ничего и нет, есть только windows, classes, types которые дают 100 кб. ты как 16 кб получил?
зато быстро, просто и понятно и работает 100%
пробовал, но другими методами, и у меня нифига не получилось... ещё с SetThreadDesktop попробую --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
||||||
|
|||||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
h2o, а зачем тебе classes???
c Windows и Types у меня в D6 - 9 кб... -------------------- There are always someone smarter than you... |
|||
|
||||
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
MetalFan там помойму что-то нужное для кода Yanis
--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
Не надо меня впутывать в ваши разборки ![]() К слову, у меня проект выходит на 10 KB (Turbo Delphi + UPX 2.9). ![]()
Добавлено @ 09:38 Не хочу развивать тему на то как сделать супер маленький исполняемый файл на Delphi. Да и 100 KB это не так страшно. h2o Если нужен мини размер, то напиши запускалку на ассемблере и запакуй её exe-пакером. Это сообщение отредактировал(а) Yanis - 16.2.2007, 09:42 |
|||
|
||||
h2o |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 19.8.2005 Репутация: нет Всего: 1 |
Yanis а у меня D7 без всяких паков, и только лишь uses Windows; не прокатывает!
ну это фигня! главное решить проблему чтобы своя программа запускалась в созданном десктопе --------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7! |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
зачем они тебе?
это екзешник? в шестерке обычно больше... если меньше, то наверное это ДЛЛ ты UPX сюда не путай, это не в щет. Вопрос не в объеме на диске, а в количестве кода. h2o, попробуй использовать один екзешник в обоих ролях. Как стартер пусть он работает по дефолту, а как то что стартуют - в с лучае если есть какой-то специфический параметр командной строки. (Идея в том чтобы запускать самому себя, но с параметрами, которые позволят в начале dpr-файла определить эту ситуацию) -------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |