问题标签 [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.
c# - WinForms:如何确定窗口是否不再活动(没有子窗口有焦点)?
我的应用程序使用多个窗口
我想隐藏一个特定的窗口以防应用程序失去焦点(当活动窗口不是应用程序窗口时)源
我正在处理Deactivate
我的主要形式的事件。
输出总是
如果我的应用程序中的一个新窗口获得焦点并且如果我单击另一个应用程序,我观察到了相同的行为。
当从处理程序调用时,我希望GetActiveWindow
返回新活动窗口的Deactivate
句柄。相反,它总是返回我的应用程序窗口的句柄。
这怎么可能?Deactivate 事件是否“过早”处理?(而主窗体仍然处于活动状态?)。
如何检测我的应用程序失去焦点(我的应用程序窗口不是活动窗口)并且另一个应用程序在没有在计时器上运行 GetActiveWindow 的情况下获得它?
c# - 使用 C# 确定窗口是否可见
我在 C# 中有一个控制台/表单混合应用程序,目前,我必须依靠 user32.dll 来显示/隐藏控制台窗口。但我似乎无法找到一种方法来确定控制台窗口是隐藏还是可见(不自己存储值)
c# - Capture Highlighted Text from any window using C#
How to read the highlighted/Selected Text from any window using c#.
i tried 2 approaches.
- Send "^c" whenever user selects some thing. But in this case my clipboard is flooded with lots of unnecessary data. Sometime it copied passwords also.
so i switched my approach to 2nd method, send message method.
see this sample code
this code working fine in Notepad. But if i try to capture from another applications like Mozilla firefox, or Visual Studio IDE, it's not returning the text.
Can anybody please help me, where i am doing wrong? First of all, i have chosen the right approach?
c# - 获取鼠标事件
我正在使用 C# 并希望获取所有鼠标事件。为什么这样做最好。我试过:
我无法使其工作,并且仅限于单个模块,我想获取所有鼠标事件。
c# - 在 C# 中重置任务栏 Flash
我有一个应用程序,如果发生事件,任务栏会闪烁。这是完美的工作,并且使用下面描述的 Win32 API 相对容易实现:http: //blogs.x2line.com/al/archive/2008/04/19/3392.aspx
但是,当我停止闪烁时,有时应用程序会卡在任务栏中的“突出显示”状态。这只能通过单击任务栏中的应用程序,最小化它,然后重新最大化它来重置。有没有办法在没有任何用户交互的情况下将其从突出显示中清除?
c# - 是否有本地 .NET 方法或等效于 user32.dll 的 GetKeyboardState?
解答:此方法没有本机管理的等效项。但是,可以在pinvoke.net上找到一个很好的托管代码 API 示例。
大家好
我有一个接受“跟踪模式”标志的应用程序。跟踪模式打开包含文本框的表单。文本框通过自定义 TraceListener 对象显示输出。如果命令行中存在 -t,则跟踪窗口将从其自己的低优先级线程中打开。对于在出现问题时尝试诊断应用程序的顾问来说,这很方便。
一些顾问要求在启动过程中按一些不起眼的组合键应该打开跟踪模式,这样他们就不必每次都去命令行激活它。这是一个合理的要求。
我不想为此给他们一个按钮或菜单项,因为顾问们关心的许多关键信息会在启动时在创建主窗体之前显示给 Trace,因为各种组件被实例化和初始化。
我认为它应该足够简单以检测 .NET 中的当前键盘状态 - 但似乎在我所看到的任何地方,建议是使用 [DllImport("user32.dll", EntryPoint = "GetKeyboardState", SetLastError = true) ] 作为检测正在发生的事情的方法。
这一切都很好——我对此很满意。但是,作为一般经验法则,我会尝试确保在尝试自行开发之前使用本地 .NET 托管代码来实现 Windows 功能。
是否有本地 .NET 方法或等效于 user32.dll 的 GetKeyboardState?
windows-7 - 使用 rundll32 user32.dll 表示用户的环境发生了变化
我无法在 Windows 7 中修改环境变量。但是我已被授予修改注册表设置的权限。例如,我可以修改:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Key: BPATH,它附加到我的系统 pathEnv 的末尾。
但是当我进行更改时,更改在下次重新启动之前不会生效。
我想找到一个“始终安装”的命令行,它可以发出 BPATH 更改的信号,以便始终为后续程序和窗口更新“PATH”。
条件:
- 我只能通过注册表编辑路径和 bpath,而不是从系统,高级选项卡...
- 我不想安装任何不属于开箱即用 Windows 7 安装标准的软件。
- 通常,这应该只在 PowerShell 提示符的 CMD 提示符下完成。
c# - 是否正在拖动外部窗口?
我有一个程序可以使窗口卡入指定位置和大小的插槽。您可以拖动一个窗口,然后当您完成拖动时它将捕捉到最近的插槽。我要添加的是在拖动发生时窗口将移动到的插槽的叠加层。
捕捉和覆盖工作正常。我的问题是我需要一种更好的方法来了解窗口是否被拖动。我阻止窗口在拖动时捕捉到插槽的方法是在单击鼠标时不做任何事情。在单击鼠标时绘制覆盖是有效的,但会导致在单击鼠标时显示覆盖,即使正在拖动窗口也是如此。
有没有一种方法可以使用 hwnd 并告诉我该窗口是否被拖动?或者有没有更好的方法来处理这个过程?
winapi - p/invoke 和 EnumDisplaySettingsEx 的困难
我正在尝试检索系统上存在的所有各种监视器(及其适配器)的信息。到目前为止,我使用EnumDisplayDevices
列出所有监视器的尝试效果很好 - 它找到了两个,第一个是"\\.\DISPLAY1\Monitor0"
(第二个分别只是 2 和 1,但这与这个问题无关)。无论如何,然后我尝试调用EnumDisplaySettingsEx
它,如上所述传递监视器的名称,但它总是失败。带有空名称参数的调用成功,但DEVMODE
返回的结构说dmDeviceName
是“cdd”,我非常怀疑它是否准确。我究竟做错了什么?
哦,我已经尝试过使用EnumDisplaySettings
(非 Ex 的),但它甚至不适用于 null name 参数。
P/Invoke 签名(Ex 对 pinvoke.net 上的签名稍作修改,试图让它工作):
DEVMODE
在http://www.pinvoke.net/default.aspx/Structures/DEVMODE.html中定义。EdsDwFlags
因为现在总是零。iModeNum
为 -1(对于当前设置)。
由于某种原因,StackOveflow 不允许我在这篇文章中附加 C# 标签。
winapi - Win32API 在 Python 中复制 Spy++ 窗口信息功能
我有一个用 Python 类(使用 ctypes)包装的第三方 GUI 程序。
是否有可以执行以下操作的 Win32 API 函数?
1) 获取给定屏幕位置的窗口的窗口句柄。
2) 获取带有给定标题的按钮或静态窗口的窗口句柄。
3) 将文本发送到编辑窗口。
4) 从 RICHEDIT 实例中提取文本。
我有 WinSpy(一个 Spy++ 类型的应用程序)并且知道可以使用该工具获取窗口句柄和标题,但我需要在 Python 中工作的东西。
我假设 Python 的 ctypes 让我可以访问 Win32 API 中的任何函数,所以我一直在扫描 MSDN(尤其是这个 windows/messages 部分)。我似乎找不到任何有用的东西。
谢谢,
麦克风