Увожаемые может ктонить подсказать каким образом добавить свой пункт в контекстное меню вызываемое в Edit'e другой программы?
Вот собственно код того что я делаю...
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Menus;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure WinMSG(var Msg:TMsg;var Handled:Boolean);
procedure DoWhatEver;
Function EnumProc(h:HWND):BOOL; stdcall;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//**********************Моё*********************//
const
ItemID=99;
Procedure TForm1.WinMSG(var Msg:TMsg;var Handled:Boolean);
begin
if
Msg.message=WM_SYSCOMMAND then
if Msg.wParam = ItemID then
DoWhatEver;
end;
//*******************************************//
//***********EnProc**********///
Function TForm1.EnumProc(h:HWND):BOOL;stdcall;
begin
Application.OnMessage:=WinMSG;
AppendMenu(GetSystemMenu(h,false),MF_SEPARATOR,0,'');
AppendMenu(GetSystemMenu(h,False),MF_BYPOSITION,ItemID,'My Menu');
EnumProc:=true;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
EnumWindows(@EnumProc, 0); //<--- вот здесь возникает не ясная ошибка
end;
procedure TForm1.DoWhatEver;
begin
ShowMessage('00000');
end;
end.
lmikle: Хде теги?!!
Незнаю правильно ли я делаю проверить пока не удалось