我想写一个Windows服务(在c#中)或一个powershell脚本,它将我的笔记本电脑自动连接(在启动或组合键)到我的MS无线显示适配器进行屏幕镜像.在Windows 10中,我只能通过转到通知手动完成,然后单击连接> MS无线适配器>连接.
我发现有一个Miracast API(https://msdn.microsoft.com/en-us/library/windows/hardware/dn265515 ( v= vs.85 ) .aspx )但没有太多关于如何使用它.
我还发现了这个http://filelog.net/file/MiraDisp.dll/2c279c8d57a47a9ca06aa279bd9e0e8e22c7c1c1,它有两个函数OpenMiracastSession和CloseMiracastSession.
问题是我不知道如何在c#中使用这些函数.我知道我可能不得不使用pInvoke.谁能指出我正确的方向?
我想在我自己的应用程序中获取Microsoft Groove应用程序中当前播放曲目的跟踪信息.我在谈论Groove APP而不是REST Api.
我的第一种方法是尝试Windows.Media.Playback.BackgroundMediaPlayer
从我自己的进程(app)获取(现在过时的)信息.有关开发中心文档Windows.Media.Playback.BackgroundMediaPlayer
中的更多信息
我们的想法是从中获取信息,BackgroundMediaPlayer.Current
但这仅适用于同一过程.而且,无论如何,这已经过时了,现在MS建议使用Windows.Media.Playback.MediaPlayer
该类,但这也只能在使用MediaPlayer的同一过程中访问.
第二种方法是从系统媒体传输控制中获取信息.
对于那些不熟悉SMTC的人来说,这就是我所说的(例如,当您从键盘跳过/播放/暂停时的小弹出窗口):
上面关于SMTC的文章展示了如何在你的应用程序中使用这些控件,我想要做的事情基本上完全相反.
有没有人有你认为可行的其他方法?
编辑
所以我发现通过使用本机ISystemMediaTransportControlsInterop
接口可能是这样:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn892315(v=vs.85).aspx
更准确的ISystemMediaTransportControlsInterop::GetForWindow
方法:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn892316(v=vs.85).aspx
但我不知道如何调用这个方法,使用什么库(DLL)所以我可以(也许)在我的C#应用程序中调用它.
文档说这包含在Windows 10 SDK中,但我无法找到它的位置.
也许我完全错了,也许我不能在C#中使用它(因为它是一个C++接口).但我的想法是,这必须编译成一个库,我可以使用pInvoke来使用它.
如果有人能向我解释这一点,我将不胜感激.
我有一个带参数的路由,当进入页面/ users/123时,123是调用ngOnInit的参数,我得到我的参数,我调用我的方法来获取用户.
但是,当我在该页面上并单击第二个链接/ users/456时,不再调用ngOnInit(因为该页面已经实例化).因此,如果没有ngOnInit,我无法获取route参数,也无法调用我的方法来获取用户.
如果我转到/ users/123,然后转到/ home,然后转到/ users/456,它显然可行.
即使我已经在同一页面上,我还必须使用什么来确保获取参数并获取用户的函数始终被调用?
当我在MS Edge中加载我的应用程序时出现脚本错误.但是Firefox,Chrome,IE11都可以工作,除了Edge ...
这是控制台的屏幕截图:
看这里:
HTML1300: Navigation occurred.
localhost:23752
SCRIPT65535: Argument not optional
zone.js (556,13)
SCRIPT257: Could not complete the operation due to error 80020101.
localhost:23752 (1,1)
Unhandled Promise rejection: 'Zone' is undefined ; Zone: <root> ; Task: Promise.then ; Value: ReferenceError: 'Zone' is undefined ReferenceError: 'Zone' is undefined
at NgZoneImpl (eval code:8749:13)
at NgZone (eval code:8902:13)
at PlatformRef_.prototype._bootstrapModuleFactoryWithZone (eval code:9447:17)
at Anonymous function (eval code:9489:50)
at ZoneDelegate.prototype.invoke (http://localhost:23752/node_modules/zone.js/dist/zone.js:190:13)
at Zone.prototype.run (http://localhost:23752/node_modules/zone.js/dist/zone.js:85:17)
at Anonymous function (http://localhost:23752/node_modules/zone.js/dist/zone.js:451:17)
at ZoneDelegate.prototype.invokeTask (http://localhost:23752/node_modules/zone.js/dist/zone.js:223:17)
at …
Run Code Online (Sandbox Code Playgroud) 我有一个视图模型,那里有扩展为使用验证的属性。我调用 ko.validation.group(self) 但这不会将 isValid() 方法添加到视图模型。
所以我得到一个错误,即 isValid() 未定义。
这是我的代码:
var brechtbaekelandt = brechtbaekelandt || {};
brechtbaekelandt.login = (function ($, jQuery, ko, undefined) {
"use strict";
function LoginViewModel() {
var self = this;
self.userName = ko.observable();
self.password = ko.observable();
self.rememberMe = ko.observable();
self.errorMessage = ko.observable();
self.userName.extend({ required: { message: 'Please enter your username' } });
self.password.extend({ required: { message: 'Please enter your password' } });
self.errors = ko.validation.group(self);
};
LoginViewModel.prototype.login = function () {
var self = this;
self.errorMessage(null);
alert('entering login'); …
Run Code Online (Sandbox Code Playgroud) angular ×2
c# ×2
audio-player ×1
groove ×1
javascript ×1
knockout.js ×1
miracast ×1
validation ×1