Форум: "WinAPI";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
ВнизПараметры запуска приложения Найти похожие ветки
← →
Ralf © (2004-11-16 20:58) [0]У меня такой вопрос, если например файлы с определённым расширением открываются каким то приложением, то как перехватить "параметры" и открыть файл не во второй копии этого приложения, а в той, которая запущенна в данный момент. P.S. Я использовал функцию ShellExecute(...., Parameters, ..), где Parameters и есть "параметры", т.е. путь к файлу, который нужно открыть. Если можно поподробнее. Заранее благодарен.
← →
Poirot © (2004-11-16 21:56) [1]Что значит перехватить!?!?
Ты их задаёшь, значит ты и должен их знать:) Или объясняй проблему более точно:)
← →
XProger © (2004-11-17 01:35) [2]hWnd := FindWindow("TMainForm", nil);
if hWnd <> 0 then
begin
if IsIconic(hWnd) then
ShowWindow(hWnd, SW_RESTORE);
SetForegroundWindow(hWnd);
SendMessage(hWnd, WM_USER + 1, 0, LPARAM(PChar(ParamStr(1))));
close;
end;
А в цикле перехвата сообщений пишешь
WM_USER + 1:
OpenFile(PChar(lparam));
Гарантий на правильность не даю... ;)
← →
GuAV © (2004-11-17 01:47) [3]XProger © (17.11.04 1:35) [2]
Гарантий на правильность не даю... ;)
Я гарантирую непраильность ;-)
← →
Тестировщица © (2004-11-17 02:09) [4]XProger © (17.11.04 01:35) [2] Афигеть... Ж%-О
← →
Германн © (2004-11-17 04:28) [5]А я бы еще попросил бы разъяснить - "и открыть файл не во второй копии этого приложения, а в той, которая запущенна в данный момент".
← →
Kair © (2004-11-17 07:04) [6]
> Германн © (17.11.04 04:28) [5]
> А я бы еще попросил бы разъяснить - "и открыть файл не во
> второй копии этого приложения, а в той, которая запущенна
> в данный момент".
Чтобы при запуске второй копии приложения, эта самая копия передавала имя файла первой копии приложения, чтобы уже та (первая) копия обработала файл, запускаемый во-второй копии.
← →
Kair © (2004-11-17 07:10) [7]P.S. Проверка, запущена ли уже программа или нет:
program MyProgram;
uses
Forms, Windows, ...;
var
hMutex: Cardinal;
begin
Application.Initialize;
Mutex := CreateMutex(nil, False, "MyString");
if GetLastError <> 0 then Exit;
Application.CreateForm(TForm1, Form1);
Application.Run;
ReleaseMutex(Mutex);
end.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c