L lixx Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-12 #1 我想在我自己的程序中修改别的程序的系统菜单。 (当然前提是我已经启动了这个外部程序) 比如: 我先启动计算器程序calc.exe,然后再修改它的系统菜单。 我该怎么做?
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-12 #2 procedure TForm1.Button1Click(Sender: TObject); var hSysMenu: hMENU; hWindow : THandle; begin hWindow := FindWindow(nil, '计算器'); hSysMenu:=GetSystemMenu(hWindow,False);//得到系统菜单句柄 AppendMenu(hSysMenu,MF_SEPARATOR,0,'');//添加一个分隔符 AppendMenu(hSysMenu,MF_STRING,3,'关于(&A)'); end;
procedure TForm1.Button1Click(Sender: TObject); var hSysMenu: hMENU; hWindow : THandle; begin hWindow := FindWindow(nil, '计算器'); hSysMenu:=GetSystemMenu(hWindow,False);//得到系统菜单句柄 AppendMenu(hSysMenu,MF_SEPARATOR,0,'');//添加一个分隔符 AppendMenu(hSysMenu,MF_STRING,3,'关于(&A)'); end;
L lixx Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-13 #3 如何让外部程序的最大化最小化按钮不能用(即变灰)? 我用 EnableMenuItem(hSysMenu,'SC_CLOSE',MF_COMMAND|MF_GRAYED); 实现了让外部程序的关闭按钮变灰,可是实现不了让最大化最小化按钮变灰? 为什么?有没有帮助一下?
如何让外部程序的最大化最小化按钮不能用(即变灰)? 我用 EnableMenuItem(hSysMenu,'SC_CLOSE',MF_COMMAND|MF_GRAYED); 实现了让外部程序的关闭按钮变灰,可是实现不了让最大化最小化按钮变灰? 为什么?有没有帮助一下?
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-13 #4 最小化好像不行, EnableMenuItem(hSysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED); EnableMenuItem(hSysMenu,SC_MINIMIZE,MF_DISABLED or MF_GRAYED); EnableMenuItem(hSysMenu,SC_MAXIMIZE,MF_DISABLED or MF_GRAYED);
最小化好像不行, EnableMenuItem(hSysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED); EnableMenuItem(hSysMenu,SC_MINIMIZE,MF_DISABLED or MF_GRAYED); EnableMenuItem(hSysMenu,SC_MAXIMIZE,MF_DISABLED or MF_GRAYED);
L lixx Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-13 #5 > EnableMenuItem(hSysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED); > EnableMenuItem(hSysMenu,SC_MINIMIZE,MF_DISABLED or MF_GRAYED); > EnableMenuItem(hSysMenu,SC_MAXIMIZE,MF_DISABLED or MF_GRAYED); 后面两个不行! 第一个关闭按钮却可以,这挺怪的!!
> EnableMenuItem(hSysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED); > EnableMenuItem(hSysMenu,SC_MINIMIZE,MF_DISABLED or MF_GRAYED); > EnableMenuItem(hSysMenu,SC_MAXIMIZE,MF_DISABLED or MF_GRAYED); 后面两个不行! 第一个关闭按钮却可以,这挺怪的!!
L lixx Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-14 #6 另外我发现 让关闭按钮变灰之后,再也变不回来了! 比如下面这句是不行的 EnableMenuItem(hSysMenu,SC_CLOSE,MF_COMMAND|MF_ENABLE);