相关疑难解决方法(0)

多个键盘和低级挂钩

我有一个系统,我有多个键盘,真的需要知道键击来自哪个键盘.解释设置:

  1. 我有一个普通的PC和USB键盘
  2. 我有一个带有一些硬键的外部VGA屏幕
  3. 硬键映射为标准USB键盘,发送有限数量的键码(F1,F2,Return,+和 - )

我有一个低级钩子(在C#中,但实际上调用了Win32功能),即使我的应用程序没有聚焦,它也能够处理输入.

问题是当使用普通键盘时,应用程序拾取的一些映射键码在外部屏幕上被驱动.外部屏幕发送并用于确认的其中一个按键是VK_RETURN.除非我能够识别"设备"并对其进行过滤,否则用户可能正在执行操作并在甚至不看的屏幕上确认它们.

我怎么知道哪个键盘负责按键?

c# hardware keyboard hook winapi

14
推荐指数
1
解决办法
2万
查看次数

C#中的BringToFront()

我在这里为一个客户制作了一个应用程序,但有时他不知道订单是否已经到达,因为他以最大音量播放魔兽世界.但他表示,如果新订单到货,他希望我的小通知窗口显示在他的游戏的顶部.

所以,我认为我可以使用BringToFront();哪个似乎在全屏应用程序最大化时起作用.但是,我注意到,在全屏播放V8超级跑车的同时,BringToFront();并未将通知窗口带到游戏顶部,因此我认为某些游戏有另一种方式可以确保它们保持在其他所有位置.

我怎样才能确保每当我需要看到我的表格时,它总会显示出其他任何东西?

.net c# winforms

12
推荐指数
2
解决办法
1万
查看次数

在启动屏幕关闭后将主窗口置于前面

我遇到了自定义wpf启动画面实现的问题.问题是在加载完成并且应该显示MainWindow之后,它有时不会被带到前面,即Activate()调用失败.它可能发生1/10倍.应用程序在Windows7/64上运行.

这是实施(完整源样本)

public partial class App : Application
{
    private Splash _splash;
    private SplashVM _viewModel;

    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        // starts splash in separate GUI thread
        StartSplash();

        // continues on loading main application in main gui thread
        LoadMainAppFakeSteps(1000, 3);

        // tells splash screen to start shutting down
        Stop();

        // Creates mainwindow for application
        // The problem is that the mainwindow sometimes fails to activate, 
        // even when user has not touched mouse or keyboard (i.e …
Run Code Online (Sandbox Code Playgroud)

wpf splash-screen

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

标签 统计

c# ×2

.net ×1

hardware ×1

hook ×1

keyboard ×1

splash-screen ×1

winapi ×1

winforms ×1

wpf ×1