我一直在研究识别显示设备(在我的情况下是telivisions)的解决方案,以保持主要布局,特别设计为使用多显示器.
假设我连接了6台电视机.(通常其中3个通过HDMI端口,其他3个通过DVI端口(使用DVI到HDMI适配器)),它们的物理位置是3x2,如下所示:
TV1 ... TV2 ... TV3
TV4 ... TV5 ... TV6
我想在每个特定的电视上显示一些全屏内容.Content1必须转到TV1,Content2必须转到TV2等...换句话说:我需要将我的内容推送到DisplayDevice(电视) - 而不是任何位置或屏幕,因为它们可能因Windows行为而改变.(见下文)
您可能知道,Windows不会按照您连接它们的顺序枚举显示设备(或者实际上根本不基于任何规则?).它使用完全不同的方式枚举显示,例如:
\.\ DISPLAY3 ... \.\ DISPLAY6 ... \.\ DISPLAY1
\.\ DISPLAY4 ... \.\ DISPLAY2 ... \.\ DISPLAY5
我做了什么来解决这个问题,当我完成连接所有电视以匹配他们的真实位置时,我手动在显示设置中订购电视.
但有SA问题就在这里:一些电视模型只是假装喜欢他们已经被拔掉时,他们关闭(或设置为待机模式),并且会导致Windows 下降显示设备从系统和重新枚举的再次显示设备.
由于这种行为(某些电视模型和Windows本身),我不能指望Screen.DisplayName属性甚至Screen.Location,因为它们是变量.它们都在重新枚举过程后立即改变.
我试图获取所有显示设备的序列号,认为我可以找到一种方法将这些数字与Screen.DisplayName相关联.好吧,我实际上通过使用SetupAPI的EnumDisplayDevices来管理那里,但是在我意识到大多数电视没有有效的SerialNumber后,这一切都变成了垃圾.即便是三星电视也没有SerialNumber(但三星显示器肯定没有 - 所以我猜这是关于"显示器"和"电视"之间的区别)
我仍在寻找解决这个问题的方法.我想到的另一个想法是,也许我应该停止尝试将内容推送到显示设备(因为它们无法识别)也许我应该尝试将内容推送到显卡的端口,这意味着我必须确定哪些端口图形卡的关联与哪个显示设备(屏幕)有关,但我都在谈论它而不知道它 - 甚至不知道这样的事情是否可能.
我正在寻找你的建议,谢谢你们.
我很抱歉,如果我在错误的地方问这个,但因为它是关于编码IDE我不知道还能去哪里.
我无法在我的全新 Windows 10 Pro安装(仅安装Office 2013)和全新的 Visual Studio 2015 Community Edition 上安装Visual Studio 2015 Update 2 .
错误如下:
一旦发生此错误,Visual Studio将不再起作用.
我可以考虑跳过此更新,但我需要安装Mobile Programming Packs(Xamarin),他们需要先安装Visual Studio 2015 Update 2.
我在网上搜索了错误代码"0x80070490",但没有任何与Visual Studio相关的内容.
由于整个日志文件太大而不适合这里,这些行包含"错误"短语:
[1890:12D0][2016-04-19T12:56:04]i325: Registering dependency: {4f075c79-8ee3-4c85-9408-828736d1f7f3} on package provider: Microsoft.VS.sdk_tools35,v11, package: sdk_tools35
[1890:12D0][2016-04-19T12:56:04]i325: Registering dependency: {4f075c79-8ee3-4c85-9408-828736d1f7f3} on package provider: Microsoft.VS.CodeAnalysis_x86_enu,v14, package: RoslynLanguageServices
[1890:12D0][2016-04-19T12:56:04]i323: Registering package dependency provider: {6C1985E7-E1C5-3A95-86EF-2C62465F15C3}, version: 14.0.23107, package: RoslynLanguageServicesResMsi
[1890:12D0][2016-04-19T12:56:04]i325: Registering dependency: {4f075c79-8ee3-4c85-9408-828736d1f7f3} on package provider: {6C1985E7-E1C5-3A95-86EF-2C62465F15C3}, package: RoslynLanguageServicesResMsi
[1890:1C78][2016-04-19T12:56:04]i304: Verified existing payload: VSSecondaryInstaller_box at path: C:\ProgramData\Package …Run Code Online (Sandbox Code Playgroud) ID | Name
1 Brain
2 Amy
Run Code Online (Sandbox Code Playgroud)
ID | WorkDay | MissionCode
1 2019-01-01 2360
1 2019-02-01 2470
2 2019-01-01 4470
2 2019-02-01 7210
Run Code Online (Sandbox Code Playgroud)
我想要实现的是,我想获取所有表 1 字段并在表 2 上左连接,但只有最新的 WorkDay 值,如下所示:
ID | Name | WorkDay | MissionCode
1 Brain 2019-02-01 2470
2 Amy 2019-02-01 7210
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的是:
SELECT
table1.*, t2.WorkDay, t2.MissionCode
FROM
table1
LEFT JOIN
(SELECT
*
FROM
table2
ORDER BY
WorkDay DESC
LIMIT 0,1) AS t2
ON
t2.id = table1.id
Run Code Online (Sandbox Code Playgroud)
但它从 table2 返回 NULL 值,如下所示: …
这是我的代码,我不知道为什么它会在控制台中生成一个奇怪的代码
(输出是"b5?2 ?????????????????????????????????????????????? _ ??? J·" 没有引号)
Private Sub TestSHA512()
Dim key As String = "635357773463315343"
Dim pass As String = "somepasswd"
Dim enc As System.Text.Encoding = New System.Text.ASCIIEncoding
Dim keyBytes() As Byte = enc.GetBytes(key)
Dim passBytes() As Byte = enc.GetBytes(pass)
Dim SHA As New HMACSHA512(keyBytes)
Dim resultBytes() As Byte = SHA.ComputeHash(passBytes)
Console.WriteLine(enc.GetString(resultBytes))
Console.WriteLine(enc.GetString(SHA.Hash)) 'same...
End Sub
Run Code Online (Sandbox Code Playgroud)