一个比较难的问题,关于给POP MENU增加菜单(100分)

  • 主题发起人 主题发起人 白河愁
  • 开始时间 开始时间
如果驻留还用弄到Ring0?<br>加一个MouseHook不就行了
 
LRESULT (CALLBACK* oldProc)(HWND, UINT, WPARAM, LPARAM);<br>定义了一个函数指针。<br>返回值是LRESULT,也就是LONG。<br>CALLBACK就是__stdcall也就是delphi中的stdcall。<br>参数HWND = THandle(delphi中也应该有定义),<br>&nbsp; &nbsp; UINT = unsigned int(delphi中也应该有定义)<br>&nbsp; &nbsp; WPARAM = unsigned int = WORD(delphi中也应该有定义)<br>&nbsp; &nbsp; LPARAM = unsigned long = DWORD(就是无符号长整型) <br>其实WPARAM和LPARAM长度不同是win16的产物,在win32下都是DWORD.<br>函数指针名称就是oldProc :)<br>理论上Delphi中定义了所有window的数据类型,这样兼容性好。
 
Function oldProc(HWND,LONGWORD,WORD,LONGWORD):LongInt;stdcall;<br>总不能这样吧?
 
你用Hook其实也是很不错的,只是要用到Shell的扩展Hook吧!<br>有时我有c时间长了对pascal有点看法,不好意思。<br>其实我Pascal也用了好几年,在dos下一直用pascal的,<br>现在也经常混合编程,经常用c写算法和核心,封装成dll或com什么的,<br>再用delphi或bcb写界面。至于用delphi还是bcb主要看<br>同事用什么,我都是先满足别人的。哈哈。
 
问题是.....HOOK消息我也不知道怎么用.......
 
我很想写出来,但是你查一下delphi中也就是<br>object pascal语法中如何定义函数的指针可能更好。
 
yyii_yyii大侠有没有ICQ MSN之类,能否请教一下呢?
 
几年前有一个icq号码,多年不用,已经记不起来了。
 
没有别的办法了?
 
其实编程最重要的是一种思路而不是具体的技术问题。<br>我的经验是查msdn(如果你在windows下开发的话),<br>msdn几乎可以解决我的一切问题。
 
procedure TForm1.Button2Click(Sender: TObject);<br>var a :TMenuItem ;<br>begin<br>&nbsp; a:=TMenuItem.Create(self);<br>&nbsp; a.Caption:='新增';<br>&nbsp; a.tag:=2;<br>&nbsp; a.OnClick:=myclickproc;<br>&nbsp; PopupMenu1.Items.Add(a);<br>end;<br><br>procedure TForm1.myclickproc(Sender: Tobject);<br>begin<br>&nbsp; showmessage('菜单增加成功') ;<br>end;<br>
 
为什么就是不肯看清楚题目要求
 
to yyii_yyii:<br>现在思路不是有了吗?<br>就是不知道如何 具体 实现
 
改天我有时间写一分给你:)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部