我正在尝试找到一种方法来使用C#以编程方式更改Windows 10中的显示比例。
我也要说的是,我并不是要创建一个自动强制用户屏幕更改分辨率/缩放比例的应用程序。它只是我可以从托盘切换秤的工具,这是我经常需要做的测试。因此专门为此动作而设计。
因此,当用户通过如下所示的官方对话框手动执行此操作时,我能够跟踪设置了哪些注册表项(HKEY_CURRENT_USER \ Control Panel \ Desktop):
但是,显然直接使用注册表意味着我需要重新启动计算机才能生效。
我知道您可以使用Pinvoke更改屏幕分辨率: 设置我的显示分辨率
我想知道是否也可以为给定的屏幕更改此“%”?即。我上面的屏幕显示150%,我希望能够以编程方式在100-500%的整个范围内进行更改。
我正在尝试编写一个Xpath语句(1.0),它可以从"搜索"节点读取信息并使用它执行搜索.
我正在取得一些不错的进展,但偶然发现了一个问题,即如果某个属性(用于搜索中的值)为空或不存在,则会失败.
代码编辑简化示例:
这是我的示例XML:
<xml>
<files>
<file name="foo" description="" rating="4"/>
<file name="food" description="" rating="4"/>
<file name="foobar" description="" rating="3"/>
<file name="bar" description="" rating="3"/>
<file name="barter" description="" rating="3"/>
<file name="barterer" description="" rating="2"/>
</files>
<searches>
<search id="1">
<exclude>
<file term="foo"/>
</exclude>
</search>
</searches>
</xml>
Run Code Online (Sandbox Code Playgroud)
和XPATH一起工作:
//files/file[
not(contains(@name, //search[@id='1']/exclude/file/@term))
]
Run Code Online (Sandbox Code Playgroud)
它按预期工作......
但是,如果期望的属性丢失或为空,则无法工作.我认为因为:contains(@attrib,"")因某种原因匹配所有内容,因此如果属性为""或不存在,则not()将始终不匹配.
例如,如果我将XML的排除片段更改为此,则会失败:
<exclude>
<file term=""/>
</exclude>
Run Code Online (Sandbox Code Playgroud)
这也是:
<exclude></exclude>
Run Code Online (Sandbox Code Playgroud)
有没有办法检查空值而不执行选择?或者是否有更好的结构逻辑方法.请记住,我不能在Xpath2.0中使用Conditionals或其他函数.
过去几天我一直在玩Docker-Compose,看看它是否会简化我的Docker容器和网络构建过程.
我对此感到非常满意,但是当我想创建一些未被任何"服务"使用的"网络"时遇到了问题.
我想要这种行为的原因是有一个Docker-Compose文件来创建我的本地"私人"网络和"公共"网络结构.还有一个单独的Docker-Compose,用于我的每个项目,利用那些已经创建的"外部"网络.
我注意到我只能指定一个虚拟容器来初始化网络的创建,但似乎没必要.例如.
version: '2'
services:
# Dummy Service
dummy:
image: busybox
container_name: dummy
hostname: dummy
networks:
private:
networks:
# Private Network for all Services (across Projects)
private:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.18.0.0/24
gateway: 172.18.0.1
Run Code Online (Sandbox Code Playgroud)
是否有我忽略的设置/标志,或者目前没有办法使用Docker-Compose创建没有容器的网络.
另外,我刚接近这个错误吗?
从本质上讲,我希望有一个网络可以存在,无论哪个容器加入/离开它.