|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
СРОЧНО НУЖНА ПОМОЩЬ!
Привет всем!!!Понимаете,я тут пишу одну сложную (на мой взгляд) программу по информатике и у меня возникают при её написании следующие проблемы:
1.Самая главная проблема.Состоит она в том чтобы запустить мое приложение из другого.Чтобы было понятнее что мне надо приведу на примере аськи ( Хотя программа совершенно другая и может быть любой).Когда вы запускаете аську и на её стартовой странице вводите Уин и пароль , нажимаете кнопку "ОК" и загружается сама аська.Так вот мне надо чтобы при нажатии именно этой кнопки "ОК"(а не какой-нибудь другой "ОК",имеющейся в этом приложении) аська не запускалась а запускалось моё приложение.Как это сделать???Киньте пожалуйста подробные исходники (ну и если можно то и описание к ним),а то я в этом плохо разбираюсь. 2.Наверное тупой вопрос,но как поместить на форму любую небольшую картику из моего компа? 3.Работа с диалогами.Ставлю на форму компонент TOpenDialog , кнопку и текстовое поле.Чтобы открылся проводник в коде для кнопки пишу: TOpenDialog1.Execute.Смысл в том,чтобы после выбора в проводнике какого-либо файла в текстовом поле был написан путь к этому файлу (прим. C/ProgramFiles/0012.txt.) 4.Как сделать так чтобы после выполнения определённой команды через определённый промежуток времени моё приложение автоматически удалялось с компа (а не в корзину)?У меня в задании нужно сделать чтобы через 5 часов после отправки сообщения моя прога автоматически себя удалила. |
#2
|
||||
|
||||
Цитата:
Цитата:
Код:
OpenDialog1.InitialDir:=GetCurrentDir; if not OpenDialog1.Execute then else Edit1.Text:=OpenDialog1.FileName; |
#3
|
|||
|
|||
Решение первой проблемы: у тебя есть главная форма, frmMain допустим. Так что тебе мешает ещё сделать форму frmStartup например, бросить на неё кнопку btnOk и в обработчике события CLick написать: FrmMain.Show; frmStartup.Close;
|
#4
|
|||
|
|||
Четвёртая проблема: выполняемый процесс насколько я знаю не может удалить свой executable поэтому можно сделать следующее: сгенерировать batничек типа DEL C:\Program.exe и поставить его в автозагрузку в реге.
|
#5
|
|||
|
|||
Пасиб NT_AUTHORITY .Над самоудалением проги уже работаю.А про первую ты написал немного не то(может я плохо объяснил).Понимаешь, я имею ввиду что когда ты заходишь в прогу(не свою!) и жмёш кнопку (для примера ОК) то эта прога на клик кнопки не срабатывает а открывается моё приложение.Вот.Я думаю это надо через хуки делать а реализовать не могу
|
#6
|
||||
|
||||
Цитата:
еслі первая форма - основная форма проекта, то так делать нельзя Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |
#7
|
|||
|
|||
Цитата:
А что мешает сделать основной формой frmMain? |
#8
|
|||
|
|||
Цитата:
Никаких хуков не надо. ShellExecute тебе в помощь, параметры читай в WinSDK. |
#9
|
||||
|
||||
Цитата:
пардон, я слишком быстро прочитал сначала. Если frmMain основная то всё путем. Тогда при её создании скрываем её, показываем дополнительную, а далее твой код Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |
#10
|
||||
|
||||
NT_AUTHORITY, а при чем здесь ShellExecute, если Aless хочет перехватить нажатие кнопки в чужой проге
|
#11
|
|||
|
|||
Я просто не понимаю задачу. Надо в ЧУЖОЙ программе нажать кнопку и запустить наше приложение?
|
#12
|
|||
|
|||
Да.Надо кнопкой из чужой проги запустить свою!!!Честно говоря,NT_AUTHORITY, я тоже не совсем понимаю задачу,НО ТАК ДОЛЖНА РАБОТАТЬ ПРОГА.Я её по инфе пишу.
|
#13
|
|||
|
|||
Больно у вас сложные задания для информатики. ) Надо сделать вот что. Создать DLL, в неё поместить процедуру хука, а также саму установку ловушки - SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc,hInstance, 0); Далее, CallWndProc не забыть stdcall!!! Единственное я не уверен что надо ставить именно эту ловушку, в общем пробуй. Если будут проблемы с написание DLL-ки обращайся, могу скинуть пример.
PS. Я не знаю чё у вас там за информатика, но задания уровня профессионалов, а не школы. )) |
#14
|
|||
|
|||
Ха!Я в универе учусь поэтому и задания такие... . Ну скинь DLL пожалуйста!
|
#15
|
|||
|
|||
Лови DLL-ку с хуками, правда там хук на клавиатуру, но принцип должен быть понятен.
ЗЫ: Университет он и есть университет, это всё должен был преподаватель объяснить, но почему то этого не наблюдается. |