![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Как не допустить открытия второй копии программы, и при этом, если
в ней paramcount > 0, то ети файлы запустились в уже открытой проге. |
|
#2
|
||||
|
||||
|
Зайди в Project->>View Source и пропиши там:
Код:
в uses
Forms,
Windows,
SysUtils;
...
const
MemFileSize = 1024;
MemFileName = 'Имя твоей проги полностью';
var
MemHnd : HWND;
{$R *.RES}
begin
MemHnd := CreateFileMapping(HWND($FFFFFFFF), nil, PAGE_READWRITE, 0, MemFileSize, MemFileName);
if GetLastError <> ERROR_ALREADY_EXISTS
then begin
Application.Initialize
end
else begin
Application.MessageBox('Данная программа уже выполняется.', 'Ошибка');
halt;
end;Последний раз редактировалось moo2k, 08.11.2007 в 06:42. |
|
#3
|
||||
|
||||
|
Да Спасибо ОГРОМНОЕ Тебе.
Я Добавил тебе отзыв.А вот как еще файлы перекачивать на открытую? ![]() |
|
#4
|
||||
|
||||
|
Уточни свой вопрос.
Последний раз редактировалось moo2k, 01.10.2007 в 18:17. |
|
#5
|
||||
|
||||
|
if FileExists(ParamStr(1)) then ListBox1.Items.Add(ParamStr(1));
|
|
#6
|
||||
|
||||
|
Не нето. Знаешь как в винампе: Кликаешь 2раза по файлу в Тотале и, если винамп уже открыт, то открывается в етом же винампе.
|