小编Jos*_*ved的帖子

从磁盘编号中检索虚拟磁盘文件名

当我在diskpart中列出虚拟磁盘时:

DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
  VDisk 0    Disk 2    Attached not open     Fixed       C:\Disk.vhd
Run Code Online (Sandbox Code Playgroud)

对我来说有趣的部分是文件名.如果我知道磁盘号,我试图找到相应的函数,它会给我文件名(在File列下).

理想情况下,我会给" \\?\ PhysicalDrive2 ",我会得到" C:\ Disk.vhd "作为结果.

我已经尝试过:

  1. 使用diskpart和解析输出 - 因为它是未记录的格式,它可以随时更改.这不是我所依赖的.
  2. 常规VHD API - 没有函数将磁盘号作为参数.
  3. Microsoft.Storage.Vds.dll - 有一些枚举遍历每个驱动器(例如Service.Providers),但是没有属性/函数可以为我提供源文件的名称.虽然我现在可以确定例如驱动器D:是虚拟驱动器,但我仍然无法知道连接了哪个.vhd文件.

知道哪个功能可能是什么?

c# pinvoke winapi virtual-disk

7
推荐指数
1
解决办法
8138
查看次数

在.NET中注册文件类型和自定义文档图标

我有生成文件的应用程序。我想将这些文件与应用程序连接,以便双击文件启动我的应用程序。

一切正常,除了烦人的是,该图标看起来像我的应用程序的图标一样。我想要一个图标用于应用程序,一个图标用于文档。

注册表中的DefaultIcon值要求使用“ app.exe,1”语法,其中1是图标索引。似乎.NET资源不是Win32资源。

我尝试了以下但没有成功:

  1. 选择“嵌入式资源”作为文件的生成操作。
  2. 将图标添加到资源文件。

唯一有效的方法是将图标文件与可执行文件分开并指向该文件。但是,在我看来这就像投降。

任何想法如何解决这个问题?

.net c# icons file-type

5
推荐指数
1
解决办法
2658
查看次数

在TextBox / RichTextBox中获取文本的XY位置

如何获取TextBox和/或RichTextBox中某些字符的坐标?

我将尝试通过功能解释这一点:

Point GetXY(int characterIndex) {
    //do some magic
    return new Point(x, y);
}
Run Code Online (Sandbox Code Playgroud)

想法是找到所选文本的位置,这样“查找”对话框将不会在该位置上方显示,而是会移到侧面(就像Word那样)。

.net c#

5
推荐指数
1
解决办法
3015
查看次数

确保WPF窗口在屏幕范围内

我在应用程序启动时恢复Window的坐标.在Good-old-Windows-Forms中我使用了System.Windows.Forms.Screen集合.WPF世界中有类似的东西吗?

我也注意到PrimaryScreen*,VirtualScreen*参数System.Windows.SystemParameters.然而,他们让我不知所措,因为在监视器尺寸不同的情况下,似乎无法检测Window是否在内边界.

wpf

5
推荐指数
1
解决办法
2171
查看次数

使用 jq,将名称/值对数组转换为具有命名键的对象

给定格式如下的 json 文件:

[
  {
    "name" : "A",
    "value" : "4"
  },
  {
    "name" : "B",
    "value" : "2"
  },
  {
    "name" : "C",
    "value" : {
      "X": "Something",
      "Y": "Else"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

我将如何使用 jq 将其转换为这样的内容:

{
  "A": "4",
  "B": "2",
  "C": {
    "X": "Something",
    "Y": "Else"
  }
}
Run Code Online (Sandbox Code Playgroud)

我确实接近使用,jq 'map( { (.name): .value } )但仍然将每个对象留在单独的大括号中,而不是将它们放在一起。

json key object command-line-interface jq

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

标签 统计

c# ×3

.net ×2

command-line-interface ×1

file-type ×1

icons ×1

jq ×1

json ×1

key ×1

object ×1

pinvoke ×1

virtual-disk ×1

winapi ×1

wpf ×1