我读了各种方式如何检测Windows 10设备是否在平板模式下,最显着的是下面的主题;
如何检测Windows 10在Windows窗体应用程序中进入平板电脑模式的时间?
我想通过代码(.Net C#)启用/禁用平板电脑模式,但我找不到任何资源来实现这一点。 我曾尝试更改registry项并发送已发生更改的HWND_broADCAST,但这不会启动对平板电脑模式的更改。
我也尝试使用Spy ++风格的应用程序,但不能看到正在发送的消息。
如何在PowerShell中使用HTML Tidy .NET DLL封装器?
MEF不适用于Windows 8.1或更高版本的设备
Visual Basic:重新启动桌面Windowspipe理器(DWM)
如何通过键查找/检查字典值
在列表中find一个项目的特定关键字
有一种方法可以做到这一点?
Onenote开发
如何devise具有相同结构的窗体?
在.NET中的任务栏中右键单击应用程序菜单
以编程方式创build和启动RDP会话(不含gui)
在C#中没有真正的方法来做到这一点。 当然,您可以更改注册表项,但是您需要注销/打开才能从平板模式切换到平板模式。
HKEY_CURRENT_USERSOFTWAREMicrosoftwindowsCurrentVersionImmersiveShellTabletMode
启用:1或禁用0
由于我有一个问题,我的WPF应用程序不会出现在启动平板模式,我用了一个AutoHotKey脚本。 你也可以创建一个.exe文件。 来源: https : //autohotkey.com/boards/viewtopic.PHP?t = 15619
#NoEnv SetBatchLines -1 ListLines Off #NoTrayIcon TABLETMODESTATE_DESKTOPMODE := 0x0 TABLETMODESTATE_TABLETMODE := 0x1 TabletModeController_GetMode(TabletModeController,ByRef mode) { return DllCall(NumGet(NumGet(TabletModeController+0),3*A_PtrSize),"Ptr",TabletModeController,"UInt*",mode) } TabletModeController_SetMode(TabletModeController,_TABLETMODESTATE,_TMCTRIGGER := 4) { return DllCall(NumGet(NumGet(TabletModeController+0),4*A_PtrSize),"UInt",_TMCTRIGGER) } ImmersiveShell := ComObjCreate("{C2F03A33-21F5-47FA-B4BB-156362A2F239}","{00000000-0000-0000-C000-000000000046}") TabletModeController := ComObjQuery(ImmersiveShell,"{4fda780a-acd2-41f7-b4f2-ebe674c9bf2a}","{4fda780a-acd2-41f7-b4f2-ebe674c9bf2a}") if (TabletModeController_GetMode(TabletModeController,mode) == 0) TabletModeController_SetMode(TabletModeController,mode == TABLETMODESTATE_DESKTOPMODE ? TABLETMODESTATE_TABLETMODE : TABLETMODESTATE_DESKTOPMODE) ObjRelease(TabletModeController),TabletModeController := 0 ObjRelease(ImmersiveShell),ImmersiveShell := 0 ; Can be freed after TabletModeController is created,instead
注意:这是针对UWP(通用Windows平台)(又称为Windows 10+)的,如果不针对Win 10,则需要其他版本的Windows的代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。