Форум: "WinAPI";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизКонтекстное меню Проводника и передача данных Найти похожие ветки
← →
MikeZ (2006-05-14 13:25) [0]Добрый день.
Есть желание вставить свой пункт в контекстное меню. Вставить - вставил (contmenu.dpr в демках). Но возник косяк при передаче даннх: если программа запущена, то данные передаем по WM_COPYDATA и нет проблем. Но если НЕ запущена, то надо ее (программу) запустить и передать строку. COPYDATA не подходит (некуда пересылать - программа может не быть еще запущена или еще не готова к приему).
Поэтому надо строку (любой длины) поместить в память и передать как параметр адрес памяти (другие варианты типа сохранить в файл и передать имя файла не рассматриваем).
Тут и косяк.
Функции (взял с этого же сайта)Function StrToMem(Const inStr: String): Integer;
Var
F, S : Integer;
P : PChar;
Begin
S := Length(inStr);
GetMem(P, S + 1);
For F := 0 To S - 1 Do
P[F] := inStr[F + 1];
P[S] := #0;
Result := Integer(P);
End;
Function MemToStr(Const inAddr: Integer): String;
Var
P : PChar;
Begin
Try
P := PChar(inAddr);
Result := P;
Finally
If Assigned(P) Then
Begin
Freemem(P);
P := Nil;
End;
End;
End;
работают в пределах 1-го приложения.
Хочу попросить помощи в плане переделки их для передачи в другое приложение (даже если первое будет закрыто)
Заранее спасибо!
← →
MikeZ (2006-05-14 20:41) [1]Опечатка:
"для передачи данных в другое приложение (даже если первое будет закрыто)
:)
← →
Slym © (2006-05-15 06:31) [2]Создай COM объект и не парься система сама запустит если не запущено и сообщений не надо
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c