PDA

View Full Version : حرفه ای: تغییر متن آیتمهای یک منو با گرفتن هندل آن



roox_3000
جمعه 21 تیر 1392, 01:11 صبح
با سلام خدمت دوستان

1_ منو در برنامه دیگر است و با getmenu() و getsubmenu() هندل آیتمهای مورد نظر از منو را میگیرم


مشکل :

برای تغییر متن (caption) آیتمها از چه تابعی استفاده میشود؟؟؟

با تشکر

roox_3000
جمعه 21 تیر 1392, 03:39 صبح
با استفاده از تابع ای پی آی ModifyMenu تونستم تکست یکی از آیتمارو عوض کنم اما کار باهاشو دقیق بلد نیستم و نمیتونم آیتم مورد نظرمو عوض کنم

از اساتید تقاضای راهنمایی در این مورد و دارم

اینم تعریف تابع اونه :




[DllImport("user32.dll")]
static extern bool ModifyMenu(IntPtr hMnu, uint uPosition, uint uFlags,
uint uIDNewItem, string lpNewItem);




با تشکر

roox_3000
جمعه 21 تیر 1392, 04:05 صبح
مشکل حل شد :




uint MF_BYCOMMAND = Convert.ToUInt32(0x00000000L);


IntPtr ee = FindWindowByCaption(IntPtr.Zero, "window title");


IntPtr df = GetMenu(ee);


IntPtr er = GetSubMenu(df, 0);//choice the submenu


uint POS = GetMenuItemID(er, 0);//choice the item of submenu


ModifyMenu(er,POS,MF_BYCOMMAND,POS, "wwwwwwwwwww");