Windows(see here)定义了许多快æ·æ–¹å¼ï¼ŒåŒ…括WIN + D组åˆåˆ°â€œ 显示和éšè—æ¡Œé¢â€ã€‚
我æ£åœ¨ä½¿ç”¨C#和WPFå¼€å‘的应用程åºï¼Œå¿…须对éšè—æ¡Œé¢åšå‡ºå应,例如用户按下WIN + D。
到目å‰ä¸ºæ¢ï¼Œæˆ‘å°è¯•äº†å‡ ç§æ–¹æ³•ã€‚首先,我注册了Control.VisibleChangedå’ŒWindow.StateChanged事件。ä¸å¹¸çš„是,éšè—æ¡Œé¢ä¸ä¼šè§¦å‘å…¶ä¸ä¹‹ä¸€ï¼Œå³éšè—æ¡Œé¢æ—¶ï¼Œæˆ‘的应用程åºçª—å£æ—¢ä¸ä¼šæœ€å°åŒ–也ä¸ä¼šéšè—。
接下æ¥ï¼Œæˆ‘å°è¯•æŒ‚钩自己的应用程åºä»¥èŽ·å–更多信æ¯ã€‚我为æ¤ä½¿ç”¨äº†SetWinEventHook。在å„ç§æƒ…况下,我都有大é‡çš„事件å‘生,但是没有什么å¯ä»¥è¯´â€œå˜¿ï¼Œæ‚¨çš„æ¡Œé¢çŽ°åœ¨è¢«éšè—了â€ã€‚我希望为我的主窗å£æˆ–EVENT_OBJECT_HIDE或EVENT_OBJECT_CLOAKED之类的东西获得一个EVENT_SYSTEM_DESKTOPSWITCH。
我的想法ä¸å¤šäº†ã€‚您知é“在éšè—æ¡Œé¢æ—¶ï¼ˆä¾‹å¦‚通过按WIN + D)获得通知的任何方法å—?
ç”案 0 :(得分:0)
万一有人é‡åˆ°ç›¸åŒçš„问题,我找到了解决问题的方法。将属性ResizeMode
设置为NoResize
åŽï¼ŒæŒ‰WIN + D最å°åŒ–/æ¢å¤æ¡Œé¢æ—¶ï¼Œå°†ä¸ä¼šèŽ·å¾—WindowState
属性更新。我å¯ä»¥å°†å…¶ä»Žæºä»£ç ä¸åˆ é™¤ï¼Œå› ä¸ºå®ƒæ˜¯åº”ç”¨ç¨‹åºæ—©æœŸçš„é—物。