我见过一些在C++控制台应用程序中使用Windows.Gaming.Input的例子,但是有没有办法在非UWP C#项目中也访问它呢?谢谢你,
rqdpfwrv1#
我通过以下方法做到了这一点:1.确保VisualStudio未运行。1.在文本编辑器(如记事本)中打开项目*.csproj文件。1.将<TargetPlatformVersion>10.0</TargetPlatformVersion>添加到*.csproj文件中。您可以将其放在<TargetFrameworkVersion/>条目之后。1.在Visual Studio中打开项目。1.使用nuget添加System.Runtime.WindowsRuntime引用(我使用的是v4.7.0,当时最新的稳定版本),或者手动浏览系统上的DLL文件。1.在解决方案/项目资源管理器中,右键单击引用-〉添加引用...1.你现在应该可以在侧面看到“通用窗口”作为一个选项。1.添加Windows.Gaming引用。1.在你的*.cs文件中,你会希望使用using Windows.Gaming.Input;的引用。如果没有找到引用,尝试将它包含在命名空间之外。或者你也可以尝试using global::Windows.Gaming.Input;。
*.csproj
<TargetPlatformVersion>10.0</TargetPlatformVersion>
<TargetFrameworkVersion/>
System.Runtime.WindowsRuntime
Windows.Gaming
*.cs
using Windows.Gaming.Input;
using global::Windows.Gaming.Input;
wixjitnu2#
但是有没有办法在C#中使用UWP来访问它呢?当然,你可以在UWP平台下用C#访问Windows.Gaming.Input。
Windows.Gaming.Input
var controllers = RawGameController.RawGameControllers; foreach (var item in controllers) { var name = item.DisplayName; }
不幸的是,没有C#项目可以参考,如果你想C#项目,请随时发布您的要求与Windows反馈中枢应用程序。
kfgdxczn3#
我一直在乔的方法工作了几天,但我不能添加Windows.Gaming.我已经在Microsoft Visual Studio 2022(. Net 5.0)中创建了一个项目,然后我创建并更改为. Net Framework 4.8文件. csproj
<?xml version="1.0" encoding="utf-8"?> <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net48</TargetFramework> <TargetPlatformVersion>10.0</TargetPlatformVersion> <SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion> <UseWpf>False</UseWpf> <UseWindowsForms>True</UseWindowsForms> <ImplicitUsings>enable</ImplicitUsings> <StartupObject>Service.App</StartupObject> <PlatformTarget>x64</PlatformTarget> <Prefer32Bit>False</Prefer32Bit> <Title>IO Service</Title> <Description>Assembly providing.</Description> <RootNamespace>Service</RootNamespace> <AssemblyTitle>Service</AssemblyTitle> <AssemblyName>Service</AssemblyName> <LangVersion>10.0</LangVersion> <GeneratePackageOnBuild>False</GeneratePackageOnBuild> <UserSecretsId>e6074671-c86e-45e7-9fe9-7081c2cae035</UserSecretsId> <Optimize>False</Optimize> <FileAlignment>512</FileAlignment> <AllowUnsafeBlocks>True</AllowUnsafeBlocks> <ApplicationRevision>0</ApplicationRevision> <ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationIcon>Resources\Icon\App.ico</ApplicationIcon> <UseApplicationTrust>False</UseApplicationTrust> <!-- for .Net --> <ApplicationVisualStyles>True</ApplicationVisualStyles> <ApplicationHighDpiMode>SystemAware</ApplicationHighDpiMode> <ApplicationUseCompatibleTextRendering>False</ApplicationUseCompatibleTextRendering> <ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont> <AutoGenerateBindingRedirects>False</AutoGenerateBindingRedirects> <UseVSHostingProcess>False</UseVSHostingProcess> <ErrorReport>none</ErrorReport> <WarningLevel>4</WarningLevel> <Deterministic>True</Deterministic> <DebugType>portable</DebugType> <NeutralLanguage>en-US</NeutralLanguage> <IsWebBootstrapper>False</IsWebBootstrapper> </PropertyGroup> <ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="13.0.2" /> <PackageReference Include="SharpCompress" Version="0.32.2" /> <PackageReference Include="StackExchange.Redis" Version="2.2.88" /> <PackageReference Include="System.Runtime.WindowsRuntime" Version="4.7.0" /> <PackageReference Include="websocketsharp.core" Version="1.0.0" /> </ItemGroup> <ItemGroup> <Reference Include="Accessibility" /> <Reference Include="PresentationCore" /> <Reference Include="PresentationFramework" /> <Reference Include="System.Net.Http" /> <Reference Include="UIAutomationClient" /> <Reference Include="UIAutomationTypes" /> <Reference Include="WindowsBase" /> </ItemGroup> <ItemGroup> <Using Include="Windows.Gaming" /> </ItemGroup> </Project>
我安装了System.Runtime.WindowsRuntime,但是通用Windows没有添加到引用中。image1image2在项目属性中添加<TargetPlatformVersion>10.0</TargetPlatformVersion>全局使用显示后,我添加了Windows.Gaming,但它不工作。image"请救救我"
3条答案
按热度按时间rqdpfwrv1#
我通过以下方法做到了这一点:
1.确保VisualStudio未运行。
1.在文本编辑器(如记事本)中打开项目
*.csproj
文件。1.将
<TargetPlatformVersion>10.0</TargetPlatformVersion>
添加到*.csproj
文件中。您可以将其放在<TargetFrameworkVersion/>
条目之后。1.在Visual Studio中打开项目。
1.使用nuget添加
System.Runtime.WindowsRuntime
引用(我使用的是v4.7.0,当时最新的稳定版本),或者手动浏览系统上的DLL文件。1.在解决方案/项目资源管理器中,右键单击引用-〉添加引用...
1.你现在应该可以在侧面看到“通用窗口”作为一个选项。
1.添加
Windows.Gaming
引用。1.在你的
*.cs
文件中,你会希望使用using Windows.Gaming.Input;
的引用。如果没有找到引用,尝试将它包含在命名空间之外。或者你也可以尝试using global::Windows.Gaming.Input;
。wixjitnu2#
但是有没有办法在C#中使用UWP来访问它呢?
当然,你可以在UWP平台下用C#访问
Windows.Gaming.Input
。不幸的是,没有C#项目可以参考,如果你想C#项目,请随时发布您的要求与Windows反馈中枢应用程序。
kfgdxczn3#
我一直在乔的方法工作了几天,但我不能添加Windows.Gaming.
我已经在Microsoft Visual Studio 2022(. Net 5.0)中创建了一个项目,然后我创建并更改为. Net Framework 4.8
文件. csproj
我安装了System.Runtime.WindowsRuntime,但是通用Windows没有添加到引用中。
image1image2
在项目属性中添加
<TargetPlatformVersion>10.0</TargetPlatformVersion>
全局使用显示后,我添加了Windows.Gaming,但它不工作。image
"请救救我"