怎样往打开文件对话框和Explorer(注意不是IE)中添加自己需要的按钮 不想用Hook 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用shell扩展来实现下面是上下文菜单(ContextMenu)的部分内容type TContextMenu = class(TComObject, IContextMenu, IShellExtInit) private FFileList: TStrings; FMenuIndex: UINT; protected { IShellExtInit} { why use keyword-reintroduce here??? } function Initialize(pidlFolder: PItemIDList; lpdobj: IDataObject; hKeyProgID: HKEY): HResult; reintroduce; stdcall; { IContextMenu} function QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast, uFlags: UINT): HResult; stdcall; function InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult; stdcall; function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT; pszName: LPSTR; cchMax: UINT): HResult; stdcall; function DoCheckFile(FileName: string): Boolean; procedure DoCommand(Parent: HWND; Files: TStrings); public destructor Destroy; override; end;type TContextMenuFactory = class(TComObjectFactory) private function SGUID: string; protected procedure DoRegistry(Register: Boolean); public procedure UpdateRegistry(Register: Boolean); override; end; subclass a window(use global hook) 不想用Hook,因为这要另外起一个进程 请问如何设置delphi项目默认存放文件夹路径 怎样在ScrollBox中进行label的拖放操作并取得label的座标值 提问,运行期加载函数 请问怎么在程序里实现OCX控件注册,还有,注册表的修改问题 请问我用什么方法来学Delphi???? 数据传输 请问在delphi中如何使现string到double的转换?答好给100分! 如何做图形统计报表,很急 如何在Delphi中实现注册表的读写啊??? 一个简单问题:speedbutton和普通button有什么区别。 一个关于时间转换的问题!希望高手解答! 请问Delphi中有类似与C中的宏定义吗?谢谢!
下面是上下文菜单(ContextMenu)的部分内容
type
TContextMenu = class(TComObject, IContextMenu, IShellExtInit)
private
FFileList: TStrings;
FMenuIndex: UINT;
protected
{ IShellExtInit}
{ why use keyword-reintroduce here??? }
function Initialize(pidlFolder: PItemIDList; lpdobj: IDataObject; hKeyProgID:
HKEY): HResult; reintroduce; stdcall;
{ IContextMenu}
function QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast, uFlags:
UINT): HResult; stdcall;
function InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult; stdcall;
function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT; pszName: LPSTR;
cchMax: UINT): HResult; stdcall; function DoCheckFile(FileName: string): Boolean;
procedure DoCommand(Parent: HWND; Files: TStrings);
public
destructor Destroy; override;
end;type
TContextMenuFactory = class(TComObjectFactory)
private
function SGUID: string;
protected
procedure DoRegistry(Register: Boolean);
public
procedure UpdateRegistry(Register: Boolean); override;
end;