Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Контекстное меню Проводника и передача данных   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.04 c
15-1155565213
PSPF2003
2006-08-14 18:20
2006.09.10
Российский сайт


2-1155897270
Voit
2006-08-18 14:34
2006.09.10
как скопировать выделенную строчку из DBgrid в листбокс!!! help!!


15-1155822658
Get
2006-08-17 17:50
2006.09.10
Поставить сеть...


2-1155826848
K_Lock
2006-08-17 19:00
2006.09.10
помогите с запросом


6-1145614013
TEXHAPb
2006-04-21 14:06
2006.09.10
WakeOnLan - удаленное ВКЛЮЧЕНИЕ компьютеров в сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский