NetAutoGUI.Windows/DynamicMainMenu.cs

(完整代码) 770B

using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using Vanara.PInvoke;
using static Vanara.PInvoke.User32;

namespace NetAutoGUI.Windows;
public class DynamicMainMenu : DynamicObject
{
	private HWND hwnd;
	public DynamicMainMenu(HWND hwnd)
	{
		this.hwnd = hwnd;
	}
	public override bool TryGetMember(GetMemberBinder binder, out object? result)
	{
		HMENU menu = GetMenu(hwnd);
		DynamicMenuItem? menuItem = MenuHelpers.FindMenuItem(hwnd, menu, binder.Name);
		if (menuItem != null)
		{
			result = menuItem;
			return true;
		}
		return base.TryGetMember(binder, out result);
	}

	public override IEnumerable<string> GetDynamicMemberNames()
	{
		var menu = GetMenu(hwnd);
		return MenuHelpers.GetSubMenuItems(menu).Select(e => e.Text);
	}
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。