问题标签 [user32]

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 投票
4 回答
13937 浏览

c# - 如何在 .NET c# 中使用 Win32 GetMonitorInfo()?

我必须实现一个保存窗口最后位置的功能。当应用程序启动时,需要获取并恢复该位置。

现在可能是第二台显示器被拆除了。如果最后一个位置在现在不可见的监视器上(换句话说,保存的坐标在可见坐标之外),则应捕获这种情况并将坐标设置为默认值而不是最后一个位置。

为了检索有关监视器的信息,我需要使用 Win32。完成这项工作对我来说并不容易。

我创建了一个助手类:

这些是我创建 MonitorInfo 和 Rect 类的尝试:

我正在使用这样的代码来获取可见的监视器:

最后一个方法在尝试执行时抛出异常

有什么建议我需要做些什么来解决这个问题?

0 投票
1 回答
666 浏览

vb.net - 我可以从系统服务中检索 user32.dll getlastinputtime

我正在尝试编写一个系统服务,它可以检测用户是否处于活动状态,如果没有,则启动一个进程。我正在使用一项服务,因为无论用户是否登录,我都希望它能够工作。我一直在尝试连接 user32.dll API 并检索自上次用户输入以来的时间。但是,返回的整数始终为 0,所以我认为它不能正常工作。作为系统服务运行时这是不可能的吗?

0 投票
4 回答
48426 浏览

c# - C# 使用 PostMessage

我正在尝试向应用程序发送密钥。我测试了使用断点的 Handlewindow 值以了解我在做什么,但我找不到解决方案。更详细地说,它是一个小游戏,当我激活游戏中的聊天栏时,我要发送的密钥将写在那里,但我想让它在我玩游戏时使用命令。游戏没有后卫或一些保护措施。

这是我的代码:

就像我说的,它可以成功发送 1000000 次,但没有任何反应。是否有另一种方法可以将密钥发送到最小化甚至隐藏的 Windows 应用程序?它应该只发送到我的应用程序。

0 投票
1 回答
1091 浏览

c# - c#最大化系统托盘窗口

我在尝试将我的应用程序窗口置于最前面(即在所有其他窗口之上)时遇到了麻烦。我希望用户能够双击系统托盘中的 notifyIcon,并且如果应用程序已经打开了一个窗口,可以将其购买到前面。我曾尝试使用以下两个 P/inovkes,但似乎都无法始终如一地工作。有人知道如何将窗户放在前面/顶部吗?

0 投票
1 回答
4507 浏览

winapi - 使用窗口句柄作为 VB6 窗体的所有者

什么是 Win32 等效项,Form2.Show vbModeless, Form1它允许我将所有者(而不是父级)设置为任意 hWnd 并设置默认位置等?
据我所知,这只能在创建窗口时设置。

0 投票
2 回答
1813 浏览

c# - 如何检查窗口是否为 MDI 窗口?

我想有一些 user32.dll 调用可以用来验证窗口是否是 MDI 窗口,例如使用 DefMDIChildProc 并查看它是否失败,但我想知道这是否有任何限制,或者是否有更好的方法来做到这一点? 检查父母是否足够?

为简单起见,我最终希望的是一种 IsMDI(IntPtr ptr) 类型的调用......

想法?建议?

0 投票
1 回答
1169 浏览

c# - PostMessage to Current Active Process 不适用于所有进程?

我有这个代码:

当我调用 KeyUp/KeyDown 时,它仅适用于某些进程,如文本编辑、视觉工作室等进程。

但不适用于 Explorer.exe、iTunes.exe、Chrome.exe、Outlook.exe、FileZilla.exe 等。

我在控制台上运行调试:

这是我从一些应用程序中得到的:

在 Explorer.exe 上我得到空行..

0 投票
2 回答
1241 浏览

c# - 在 IE 中查找 ActiveX 用户控件的句柄

如何以编程方式在 IE 上运行的网页中找到用户控件的句柄?

我可以使用 Spy++ 找到它,但由于句柄不断变化,我被卡住了。

我一直在尝试使用 FindWindow() 但没有运气:( 我也想知道我做错了什么或者它只适用于 Windows...

提前致谢,

祖布罗卡

0 投票
2 回答
2443 浏览

c# - 从其他应用程序 C# 中获取按键

我想让用户在其他应用程序上按下键。例如,在记事本中,而不是程序本身。这是我使用PostMessage方法将密钥连续发送到记事本的编码,但是,我希望在按下某个键时停止它。

因此,我的想法是设置ControlKeyDownfalse当用户X在记事本中按下键时。通过互联网研究后,我发现了这段代码并进行了编辑:

是的,通过这个,它肯定会停止循环,但这不是我想要的,因为当用户按下X程序上的键而不是记事本时它会停止循环。这是因为KeyEventArgsSystem.Windows.Forms.KeyEventArgs而不是记事本。

需要帮忙 :(

0 投票
1 回答
519 浏览

vb.net - 获取第二个活动窗口 vb.net

我需要创建一个表单,AlwaysOnTop = True当浏览器可见时。这会创建某种“覆盖”。逻辑是这样工作的:

  • 程序检查哪个窗口处于活动状态。
  • 如果活动窗口是某个进程,我的表单将初始化 TopMost 实用程序,并成为活动窗口本身。
  • 当某个进程不再是活动窗口时,我的表单将消失。

我是怎么做到的:

  • 我的程序检查浏览器是否是活动窗口,如果是:表单位于最顶层,程序停止检查活动窗口是什么。(因为我最上面的表单现在是活动窗口)。
  • 现在程序需要检查我的窗体下的窗口是什么,第二个活动窗口。
  • 如果不再是浏览器,表单需要隐藏,程序将再次检查活动窗口是什么。

我已经完成了检查第一个活动窗口是什么的功能,

我一直在获取检查第二个活动窗口是什么的功能。