Работа с реестром Windows
98 повідомлень
#18 років тому
Доброе время суток. Подскажите пожалуйста, давно хотел реализоваь в ХРюше такую вещь - в контекстном меню, (кликая правой кнопкой по папке), добавить новый элемент - и назвате его что нить типа "Лом". В итоге получается, вставляю я какую нить флешку, или иду на фтп сервак - кликаю правой кнопкой по нужной мне папки, вылазит контекст меню - там выбираю - Лом, и папка копируеться в определённую директорию на моём харде. Думаю что это можно реализовать через реестр, но как? Может кто знает, какие ключи, куда добавлять.. :shok: Зарание спасибо.
55 повідомлень
#18 років тому
Unit OhYeah;
Interface
Uses SysUtils, WinTypes, WinProcs, Messages, 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 DoWhatEever;
End;
Var Form1 : TForm1;
Implementation
{$R *.DFM}
Const ItemID = 99; // ID номер для пункта меню. Может быть любым
Procedure Tform1.WinMsg (Var Msg : TMsg; Var Handled : Boolean);
Begin
If Msg.Message = WM_SYSCOMMAND Then
If Msg.WParam = ItemID Then DoWhatEver;
End;
Procedure TForm1.FormCreate (Sender : TObject);
Begin
Application.OnMessage := WinMsg;
AppendMenu (GetSystemMenu (Form1.Handle, False), MF_SEPARATOR, 0, '');
AppendMenu (GetSystemMenu (Form1.Handle, False), MF_BYPOSITION, ItemID, '&My menu');
AppendMenu (GetSystemMenu (Application.Handle, False), MF_SEPARATOR, 0, '');
AppendMenu (GetSystemMenu (Application.Handle, False), MF_BYPOSITION, ItemID,'&My menu minimized');
End;
Procedure TForm1.DoWhatEver;
Begin
Exit; // Вы можете добавить здесь всё, что угодно
End;
End.
Чтобы отловить клик
private
procedure WhetherUserPressesHelp(var Msg: TMessage); message WM_SYSCOMMAND;
....
procedure TForm1.WhetherUserPressesHelp(var Msg: TMessage);
begin
if Msg.WParam = 1001 then
HelpForm.ShowModal
else
inherited; // к примеру вызываем форму на которой будет помощь
end;
23 повідомлення
#18 років тому
По моему, всё таки можно.Можно прописать в реестре добавление пункта в контекстное меню и программу, которая будет при выборе меню открываться.
А вот где именно прописывать в реестре, не помню. Ищи help по реестру windows.
98 повідомлень
#18 років тому
Мне кажется, что тоже можно через реестр. Поэтому тему так и обозвал..