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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.04.2008, 08:16
Чипырик Чипырик вне форума
Прохожий
 
Регистрация: 14.04.2008
Сообщения: 22
Репутация: 10
По умолчанию Запуск чужого приложения, поверх своево

Здраствуйте!
У меня следующий вопрос:
Я запускаю чужое приложение, с помощью этого кода:
var w1: Word;
p1: array[0..255] of Char;
i:integer;
begin
i:=Form1.ListBox1.ItemIndex;
StrPcopy(p1, Form1.Memo1.Lines[(i*2)+1]);
w1 := WinExec(p1, SW_Restore);
end;


Свойство моей формы FormStyle=fsStayOnTop
Как сделать так, чтобы то приложение, которое я запускаю вышеуказанным кодом, было поверх моей главной формы???
А то получается при запуске приложения, оно остается за моим окном.

Последний раз редактировалось Чипырик, 22.04.2008 в 08:20.
Ответить с цитированием
  #2  
Старый 22.04.2008, 08:24
Чипырик Чипырик вне форума
Прохожий
 
Регистрация: 14.04.2008
Сообщения: 22
Репутация: 10
По умолчанию

Я так понимаю, что в строке w1 := WinExec(p1, SW_Restore);
вместо "SW_Restore", нужно вставить какой-то другой ключ, но перепробовал все, результат неудовлетварительный.
Ответить с цитированием
  #3  
Старый 22.04.2008, 09:50
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Всё намного проще

В своем коде присвой свойству формы FormStyle значение fsNormal
Ответить с цитированием
  #4  
Старый 22.04.2008, 14:25
Чипырик Чипырик вне форума
Прохожий
 
Регистрация: 14.04.2008
Сообщения: 22
Репутация: 10
По умолчанию

Цитата:
Сообщение от Неподарок
Всё намного проще
В своем коде присвой свойству формы FormStyle значение fsNormal

В том то и дело, что нужно, чтобы моя форма была всегда впереди, кроме приложений запускающихся ею.
Т.е. все, что прога запускает, становится выше ее
Ответить с цитированием
  #5  
Старый 23.04.2008, 07:43
Чипырик Чипырик вне форума
Прохожий
 
Регистрация: 14.04.2008
Сообщения: 22
Репутация: 10
По умолчанию

Такое ощущение, что мой вопрос поставил в тупик профи.
Или они сюда просто не заглядывают?

Последний раз редактировалось Чипырик, 23.04.2008 в 07:46.
Ответить с цитированием
  #6  
Старый 23.04.2008, 12:49
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Код:
1
2
3
4
5
6
7
8
function Start(AppName:string):boolean;
var
wnd:HWND;
begin
if Form1.FormStyle=fsStayOnTop then Form1.FormStyle:=fsNormal;
ShellExecute(wnd, 'open', PChar(AppName), nil, nil, SW_RESTORE);
Form1.FormStyle:=fsStayOnTop;
end;
__________________
Программирование - это искусство и наш смысл жизни.

Последний раз редактировалось moo2k, 23.04.2008 в 13:28.
Ответить с цитированием
  #7  
Старый 23.04.2008, 14:28
Чипырик Чипырик вне форума
Прохожий
 
Регистрация: 14.04.2008
Сообщения: 22
Репутация: 10
По умолчанию

Не получается...
Происходит следующее.
Перед запуском проги, форма становится Form1.FormStyle:=fsNormal
затем запускается приложение поверх моего окна, но после этого, оно сново закрывает приложение Form1.FormStyle:=fsStayOnTop;

А нужно, чтобы запущенное приложение было сверху, до тех пор, пока оно не отработает

Последний раз редактировалось Чипырик, 23.04.2008 в 14:38.
Ответить с цитированием
  #8  
Старый 25.04.2008, 09:49
xchrom xchrom вне форума
Начинающий
 
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
По умолчанию

тогда тебе придеться использовать такой запуск к примеру
Код:
1
2
3
4
5
6
7
8
9
10
11
12
var
  stin: STARTUPINFO;
  prin: PROCESS_INFORMATION;  
==================================================
//убираем стейонтоп
  Form1.FormStyle:=fsNormal
 stin.wShowWindow := SW_SHOW;
 stin.dwFlags := STARTF_USESHOWWINDOW;
 CreateProcess(nil,{строка запуска},nil,nil,false,0,nil,{путь},stin,prin);
    WaitForSingleObject(prin.hProcess,INFINITE); //ждем пока отработает
//а потом снова
Form1.FormStyle:=fsStayOnTop
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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