小编Kat*_*uva的帖子

如何使用C#自动右键单击系统托盘中的图标

我想为.NET应用程序编写自动化框架.要启动应用程序,用户应右键单击系统托盘中的图标,然后从上下文菜单中选择选项.我做了一些resaerch,发现了如何知道托盘中图标的工具提示的唯一方法:

    [DllImport("user32.dll", SetLastError = true)]
    static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr hWndChildAfter, string lpClassName, string lpWindowName);

    [DllImport("user32.dll", SetLastError = true)]
    static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    [DllImport("user32.dll", SetLastError = true)]
    static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);


    [DllImport("kernel32.dll")]
    static extern IntPtr OpenProcess(ProcessAccessFlags dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, int dwProcessId);

    [Flags]
    enum ProcessAccessFlags : uint
    {
        All = 0x001F0FFF,
        Terminate = 0x00000001,
        CreateThread = 0x00000002,
        VMOperation = 0x00000008,
        VMRead = 0x00000010,
        VMWrite = 0x00000020,
        DupHandle = 0x00000040,
        SetInformation = 0x00000200, …
Run Code Online (Sandbox Code Playgroud)

c# contextmenu

5
推荐指数
1
解决办法
2522
查看次数

标签 统计

c# ×1

contextmenu ×1