小编use*_*697的帖子

Spy ++在Qt应用程序中没有到达按钮

我正在尝试获取按钮的属性,但是当我拖动间谍++的查找窗口工具时,它没有到达按钮(在这种情况下为标题"iniciarnravação"),而是按钮网格父级,如下所示:

在此输入图像描述

为什么这样,我如何获得按钮属性?我尝试使用auto it info工具,但我得到了相同的行为.

我尝试从C#代码中获取该按钮属性,如下所示:

    public class WindowHandleInfo
    {
        private delegate bool EnumWindowProc(IntPtr hwnd, IntPtr lParam);

        [DllImport("user32")]
        [return: MarshalAs(UnmanagedType.Bool)]
        private static extern bool EnumChildWindows(IntPtr window, EnumWindowProc callback, IntPtr lParam);

        private IntPtr _MainHandle;

        public WindowHandleInfo(IntPtr handle)
        {
            this._MainHandle = handle;
        }

        public List<IntPtr> GetAllChildHandles()
        {
            List<IntPtr> childHandles = new List<IntPtr>();

            GCHandle gcChildhandlesList = GCHandle.Alloc(childHandles);
            IntPtr pointerChildHandlesList = GCHandle.ToIntPtr(gcChildhandlesList);

            try
            {
                EnumWindowProc childProc = new EnumWindowProc(EnumWindow);
                EnumChildWindows(this._MainHandle, childProc, pointerChildHandlesList);
            }
            finally
            {
                gcChildhandlesList.Free();
            }

            return childHandles;
        }

        private bool EnumWindow(IntPtr hWnd, IntPtr …
Run Code Online (Sandbox Code Playgroud)

c# winapi qt spy++ findwindow

3
推荐指数
1
解决办法
1340
查看次数

使用位运算符分割两个数字

假设我有一个变量,如:

int n = 23;
Run Code Online (Sandbox Code Playgroud)

它可以拆分,并转换为:

int x = n ?? ??; //2
int y = n ?? ??; //3
Run Code Online (Sandbox Code Playgroud)

不知道该怎么做.非常感谢任何帮助.提前致谢.

c bit-manipulation

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

标记“(”之前缺少二元运算符

错误:

cxx.cpp:5:13: error: missing binary operator before token "("
cxx.cpp:7:15: error: missing binary operator before token "("
Run Code Online (Sandbox Code Playgroud)

代码:

  #if definied(_WIN32) || definied(_WIN64) || definied(__WIN32__)
        const char * PORT = "COM1";
    #elif definied(__linux) || definied(__linux__) || definied(linux)
        const char * PORT = "dev/ttyS1";
    #else 
        const char * PORT = NULL;
    #endif
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 编译器正在等待新的defined()调用?
  2. 它可以检测到任何 linux(和变体)或 windows 版本?

提前致谢。

c++ g++ preprocessor-directive

-7
推荐指数
1
解决办法
5810
查看次数

标签 统计

bit-manipulation ×1

c ×1

c# ×1

c++ ×1

findwindow ×1

g++ ×1

preprocessor-directive ×1

qt ×1

spy++ ×1

winapi ×1