问题标签 [win32gui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
430 浏览

winapi - 为什么 GetWindowLong 有 ANSI 和 Unicode 变体?

我今天发现GetWindowLong(and GetWindowLongPtr) 有 'ANSI' (A) 和 'Unicode' (W) 风格,即使它们没有TSTR参数。上的MSDN 页面GetWindowLong仅表明存在这些变体,但没有提及原因。

我可以想象它必须与CreateWindowEx(也有 A/W 风格)或的编码相匹配RegisterClass,但由于许多原因,我认为这没有意义。显然,这很重要,因为有人报告说 Unicode 版本在 XP 上可能会失败(即使 XP 是 NT 并且据我所知,所有 Unicode 都在引擎盖下)。我还尝试反汇编 32 位版本USER32.DLL(其中包含 的两种风格GetWindowLong),并且基于一些明显的编码差异做了额外的工作*。

我应该选择哪个功能?


GetWindowLong*除了传递给其他函数的布尔值外,它们的风格是相同的。这个布尔值与内存结构中的标志位进行比较,我懒得使用静态代码分析来追踪。

0 投票
1 回答
858 浏览

c# - 通过 .NET GDI 类使用 Win32 API 调用

我有一个用 C# 开发的 winforms 应用程序,其中涉及很多屏幕绘制。绘画涉及自定义控件和其他 2D 对象的渲染。现在的问题是,绘制整个屏幕大约需要 4 到 5 秒。我已将代码优化到一个级别,所有需要的数据都在内存中可用,而不是从磁盘或网络中读取。

为了进一步减少渲染时间,我打算选择以下选项

  1. 直接调用 Win32API 公开的 GDI 函数,而不是使用 .NET 提供的 GDI 类

  2. 使用 DirectX,因为我听说它在渲染方面非常有效。我的应用程序不涉及任何类型的 3D 渲染。

请帮我决定选择哪个选项?除此之外还有其他选择,例如任何高性能第三方组件或库。

0 投票
1 回答
846 浏览

windows - 如何在不关闭主对话框(父)的情况下关闭对话框(子)

我有一个父对话框,这个对话框有菜单,在这个菜单中(Help->about)。
当我单击关于选择时,显示关于对话框。
我想如果我点击确定或关闭(X)按钮,只关闭这个对话框而不是主对话框。

这是我的尝试:

0 投票
0 回答
368 浏览

python - 如何在 python 的 windows xp 任务栏中获取正在运行的程序?

我已经使用此代码来获取顶级窗口。有没有办法让任务栏中只运行程序?对不起格式。谢谢

0 投票
2 回答
1223 浏览

winapi - 我在 Qt Creator 中的第一个 WinAPI 程序不显示窗口?

在使用 WinAPI 时,我是一个新手。我正在关注一个教程,在那里我找到了一个代码片段。该片段演示了一个基本程序。我在下面发布我的完整代码:

从 Qt Creator 运行代码时,我没有收到任何错误。但是,运行它时不会出现任何窗口,但输出控制台会显示:

“MyProgram.exe 以代码 0 退出”

什么可能导致这种情况?

0 投票
1 回答
1210 浏览

perl - Progress Bar step up Perl Win32::GUI

I am developing a desktop application using perl Win32::GUI. In that I am using Progress Bar for status identification. I have set maximum level of progress bar as 100. In that I am step up the value as per the length. I have written the sample code below. I am calculating the step up value by dividing 100 to the input length. In that, if the input length is odd number the step value will be float. Hence the progress bar not completed its maximum level completely. For an example, if the length is 11, the step up value will be 9.09. The progress bar takes it as 9 only. So, the progress level completing only 99 segments. Not 100. please share your suggestions.

0 投票
1 回答
1174 浏览

c - Win32 C/C++ 向桌面添加按钮

嗨,很久以前我看到一个用 C++ 制作的程序,它创建了一个按钮并停靠在桌面的左上角,以便重新调整桌面本身的大小以适应新控件。但是我忘记了那个人使用的是哪个 API。

有人知道我在说什么,或者有在桌面上绘制控件的经验吗?

谢谢。

PS:我只需要 API

0 投票
1 回答
208 浏览

menu - 使用 wxWidgets 或 Win32 在面板中嵌入菜单

我需要创建一个具有与菜单相同的行为但嵌入在面板中并始终保持打开状态的控件。它应该看起来与上下文菜单完全一样,但嵌入在面板中而不是浮动的。我尝试在 wxWidgets 中以几种不同的方式执行此操作,但是除了 wxMenuBar 或弹出菜单之外,无法将 wxMenu 添加到窗口中。有人知道这样做的方法吗?如果无法使用 wxWidgets,也可以选择直接使用 Win32。

0 投票
1 回答
386 浏览

windows - 即使插入耳机也可以通过扬声器创建输出?

使用 MMSystem API 或 waveOut,即使插入耳机,如何让扬声器产生声音输出?

换句话说,如何让两个设备同时输出声音?

谢谢克里斯

0 投票
1 回答
133 浏览

c++ - 在工具栏上过度绘制?另类的想法?

主要目的是希望在应用程序工具栏的绘图区域内绘制选项卡,以便笔记本或选项卡使用上述空间而不是在工具栏下方。

我们使用的框架是 WxWidgets、C++/C。我环顾四周,但未能找到解决方案,或者是否有人对工具栏本身内部的绘图选项卡进行了类似的处理。

我阅读了一些 Microsoft MSDN 文章,他们建议不要将控件绘制在控件之上。

我今天做了一些测试,并认为我想出了一个解决方案。我的解决方案是像正常一样绘制窗口,但在子窗口的右侧放置 NoteBook,该子窗口会动态调整大小和重新定位,以便它的选项卡覆盖在工具栏的顶部,以最有效地利用该区域。我将不得不处理焦点和失去焦点窗口消息,但这是我能想到的完成任务的最优雅的方式。

您可以推荐的任何想法或我在遵循这种方法时可能遇到的问题。

小样