Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.08.2009, 17:51
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию СРОЧНО НУЖНА ПОМОЩЬ!

Привет всем!!!Понимаете,я тут пишу одну сложную (на мой взгляд) программу по информатике и у меня возникают при её написании следующие проблемы:
1.Самая главная проблема.Состоит она в том чтобы запустить мое приложение из другого.Чтобы было понятнее что мне надо приведу на примере аськи ( Хотя программа совершенно другая и может быть любой).Когда вы запускаете аську и на её стартовой странице вводите Уин и пароль , нажимаете кнопку "ОК" и загружается сама аська.Так вот мне надо чтобы при нажатии именно этой кнопки "ОК"(а не какой-нибудь другой "ОК",имеющейся в этом приложении) аська не запускалась а запускалось моё приложение.Как это сделать???Киньте пожалуйста подробные исходники (ну и если можно то и описание к ним),а то я в этом плохо разбираюсь.
2.Наверное тупой вопрос,но как поместить на форму любую небольшую картику из моего компа?
3.Работа с диалогами.Ставлю на форму компонент TOpenDialog , кнопку и текстовое поле.Чтобы открылся проводник в коде для кнопки пишу: TOpenDialog1.Execute.Смысл в том,чтобы после выбора в проводнике какого-либо файла в текстовом поле был написан путь к этому файлу (прим. C/ProgramFiles/0012.txt.)
4.Как сделать так чтобы после выполнения определённой команды через определённый промежуток времени моё приложение автоматически удалялось с компа (а не в корзину)?У меня в задании нужно сделать чтобы через 5 часов после отправки сообщения моя прога автоматически себя удалила.
Ответить с цитированием
  #2  
Старый 06.08.2009, 18:02
Аватар для adidas
adidas adidas вне форума
Новичок
 
Регистрация: 24.03.2008
Адрес: Украина
Сообщения: 61
Версия Delphi: XE
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aless
2.Наверное тупой вопрос,но как поместить на форму любую небольшую картику из моего компа?
Компонент Image, вкладка "Additional".
Цитата:
Сообщение от Aless
3.Работа с диалогами.Ставлю на форму компонент TOpenDialog , кнопку и текстовое поле.Чтобы открылся проводник в коде для кнопки пишу: TOpenDialog1.Execute.Смысл в том,чтобы после выбора в проводнике какого-либо файла в текстовом поле был написан путь к этому файлу (прим. C/ProgramFiles/0012.txt.)

Код:
OpenDialog1.InitialDir:=GetCurrentDir;
if not OpenDialog1.Execute
then
else
Edit1.Text:=OpenDialog1.FileName;
Ответить с цитированием
  #3  
Старый 08.08.2009, 15:06
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Решение первой проблемы: у тебя есть главная форма, frmMain допустим. Так что тебе мешает ещё сделать форму frmStartup например, бросить на неё кнопку btnOk и в обработчике события CLick написать: FrmMain.Show; frmStartup.Close;
Ответить с цитированием
  #4  
Старый 08.08.2009, 15:10
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Четвёртая проблема: выполняемый процесс насколько я знаю не может удалить свой executable поэтому можно сделать следующее: сгенерировать batничек типа DEL C:\Program.exe и поставить его в автозагрузку в реге.
Ответить с цитированием
  #5  
Старый 10.08.2009, 14:31
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию

Пасиб NT_AUTHORITY .Над самоудалением проги уже работаю.А про первую ты написал немного не то(может я плохо объяснил).Понимаешь, я имею ввиду что когда ты заходишь в прогу(не свою!) и жмёш кнопку (для примера ОК) то эта прога на клик кнопки не срабатывает а открывается моё приложение.Вот.Я думаю это надо через хуки делать а реализовать не могу
Ответить с цитированием
  #6  
Старый 10.08.2009, 15:37
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Цитата:
Сообщение от NT_AUTHORITY
Решение первой проблемы: у тебя есть главная форма, frmMain допустим. Так что тебе мешает ещё сделать форму frmStartup например, бросить на неё кнопку btnOk и в обработчике события CLick написать: FrmMain.Show; frmStartup.Close;

еслі первая форма - основная форма проекта, то так делать нельзя
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #7  
Старый 10.08.2009, 18:23
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ferra
еслі первая форма - основная форма проекта, то так делать нельзя

А что мешает сделать основной формой frmMain?
Ответить с цитированием
  #8  
Старый 10.08.2009, 18:24
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aless
Пасиб NT_AUTHORITY .Над самоудалением проги уже работаю.А про первую ты написал немного не то(может я плохо объяснил).Понимаешь, я имею ввиду что когда ты заходишь в прогу(не свою!) и жмёш кнопку (для примера ОК) то эта прога на клик кнопки не срабатывает а открывается моё приложение.Вот.Я думаю это надо через хуки делать а реализовать не могу

Никаких хуков не надо. ShellExecute тебе в помощь, параметры читай в WinSDK.
Ответить с цитированием
  #9  
Старый 10.08.2009, 18:39
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Цитата:
Сообщение от NT_AUTHORITY
А что мешает сделать основной формой frmMain?

пардон, я слишком быстро прочитал сначала. Если frmMain основная то всё путем. Тогда при её создании скрываем её, показываем дополнительную, а далее твой код
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.
Ответить с цитированием
  #10  
Старый 10.08.2009, 20:05
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

NT_AUTHORITY, а при чем здесь ShellExecute, если Aless хочет перехватить нажатие кнопки в чужой проге
Ответить с цитированием
  #11  
Старый 10.08.2009, 20:50
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Я просто не понимаю задачу. Надо в ЧУЖОЙ программе нажать кнопку и запустить наше приложение?
Ответить с цитированием
  #12  
Старый 11.08.2009, 06:03
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию

Да.Надо кнопкой из чужой проги запустить свою!!!Честно говоря,NT_AUTHORITY, я тоже не совсем понимаю задачу,НО ТАК ДОЛЖНА РАБОТАТЬ ПРОГА.Я её по инфе пишу.
Ответить с цитированием
  #13  
Старый 11.08.2009, 19:24
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Больно у вас сложные задания для информатики. ) Надо сделать вот что. Создать DLL, в неё поместить процедуру хука, а также саму установку ловушки - SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc,hInstance, 0); Далее, CallWndProc не забыть stdcall!!! Единственное я не уверен что надо ставить именно эту ловушку, в общем пробуй. Если будут проблемы с написание DLL-ки обращайся, могу скинуть пример.

PS. Я не знаю чё у вас там за информатика, но задания уровня профессионалов, а не школы. ))
Ответить с цитированием
  #14  
Старый 12.08.2009, 19:53
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию

Ха!Я в универе учусь поэтому и задания такие... . Ну скинь DLL пожалуйста!
Ответить с цитированием
  #15  
Старый 13.08.2009, 21:31
NT_AUTHORITY NT_AUTHORITY вне форума
Прохожий
 
Регистрация: 06.08.2009
Сообщения: 34
Репутация: 10
По умолчанию

Лови DLL-ку с хуками, правда там хук на клавиатуру, но принцип должен быть понятен.

ЗЫ: Университет он и есть университет, это всё должен был преподаватель объяснить, но почему то этого не наблюдается.
Вложения
Тип файла: zip RestrictRun.zip (28.9 Кбайт, 8 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter