小编Fut*_*e32的帖子

如何使用C#以编程方式更改Windows 10 Display Scaling

我正在尝试找到一种方法来使用C#以编程方式更改Windows 10中的显示比例。

我也要说的是,我并不是要创建一个自动强制用户屏幕更改分辨率/缩放比例的应用程序。它只是我可以从托盘切换秤的工具,这是我经常需要做的测试。因此专门为此动作而设计。

因此,当用户通过如下所示的官方对话框手动执行此操作时,我能够跟踪设置了哪些注册表项(HKEY_CURRENT_USER \ Control Panel \ Desktop):

Windows 10显示缩放对话框

但是,显然直接使用注册表意味着我需要重新启动计算机才能生效。

我知道您可以使用Pinvoke更改屏幕分辨率: 设置我的显示分辨率

我想知道是否也可以为给定的屏幕更改此“%”?即。我上面的屏幕显示150%,我希望能够以编程方式在100-500%的整个范围内进行更改。

c# dpi screen-resolution

7
推荐指数
4
解决办法
6424
查看次数

如果搜索参数为空或缺少/ false,我如何使用Xpath函数'contains()'返回任何内容?

我正在尝试编写一个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或其他函数.

search xpath contains include match

6
推荐指数
1
解决办法
878
查看次数

我可以使用Docker-Compose创建没有容器的网络

过去几天我一直在玩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创建没有容器的网络.

另外,我刚接近这个错误吗?

从本质上讲,我希望有一个网络可以存在,无论哪个容器加入/离开它.

networking docker docker-compose

5
推荐指数
2
解决办法
4701
查看次数