小编Ada*_*ile的帖子

在NAudio中枚举录制设备

如何使用NAudio获取计算机上所有录制设备的列表?当你想要录制时,你必须给它你想要使用的设备的索引,但是没有办法知道它是什么设备.我希望能够选择Mic,Stereo Mix等.

c# naudio

8
推荐指数
1
解决办法
2万
查看次数

如何在详细信息模式下隐藏.NET ListView控件中的垂直滚动条

我在详细信息模式下有一个ListView控件,只有一列.它位于一个仅用于键盘的表格上,主要是用于向上/向下箭头滚动和输入以进行选择.所以我真的不需要滚动条,只是想让它们看起来更干净.但是,当我将ListView.Scrollable属性设置为false时,我仍然可以上下移动所选项目,但只要它移动到当前不在视图中的项目,列表就不会移动以显示该项目.我已经尝试使用EnsureVisible以编程方式滚动列表,但在此模式下它什么都不做.

有没有办法手动移动列表上下滚动,但没有滚动条存在?

c# listview winforms

8
推荐指数
1
解决办法
2万
查看次数

应用程序最小化时捕获媒体密钥

我想提供一个媒体播放器的选项,我正在努力使媒体键工作,即使它被最小化.在没有焦点的情况下,在C#中捕获和处理这些关键事件的最佳方法是什么?它甚至可能吗?

c# media keyboard

8
推荐指数
1
解决办法
4521
查看次数

用户控件属性设计器属性

对于Windows Mobile上的C#UserControl(虽然如果您知道完整的Windows,请回答它可能有效)如何更改Control的公共属性之一的Designer Properties窗口中显示的内容.例如:

private Color blah = Color.Black;

public Color Blah
{
    get { return this.blah; }
    set { this.blah = value; }
}
Run Code Online (Sandbox Code Playgroud)

这显示为控件,但它在"杂项"类别中,没有描述或默认值.我尝试使用System.ComponentModel中的设置,如"DesignerCategory",例如:

[DesignerCategory("Custom")]
Run Code Online (Sandbox Code Playgroud)

但是说这只适用于类声明......可以发誓它是我以前用过的System.ComponentModel项目......

更新:

@John说:

DesignerCatogy用于表示类是表单,组件等.

试试这个:

[类别( "自定义")]

我需要使用特定的命名空间才能获得这些命名空间吗?我已经完全尝试过这些并且编译器无法识别它们.

在.NETCF中,我似乎从System.ComponentModel可用的是:

DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable
Run Code Online (Sandbox Code Playgroud)

它不会尖叫的唯一一个是EditorBrowsable

c# user-controls windows-mobile

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

Win32 rsync端口的技术障碍

尽管主要是Windows用户,但我是rsync的忠实粉丝.现在,我不想争论rsync与任何其他工具的优点......这不是我的观点.

我在Windows上运行rsync的唯一方法是通过一个在Cygwin上运行的版本,并且因为Cygwin存在Unicode问题,所以rsync也是如此.

是否有人熟悉rsync的工作原理,说是否有任何真正的技术编程障碍将rsync移植到本机Win32二进制文件?

或者也许是因为Windows用户从来没有足够的兴趣去关注它?

部分我问,因为我正在考虑尝试开始一个端口的任务,但我想确保没有什么我不知道为什么它可能不可能.

port winapi rsync

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

C#P/Invoke中的Marshal C++"string"类

我在本机DLL中有一个函数,定义如下:

#include <string>
void SetPath(string path);
Run Code Online (Sandbox Code Playgroud)

我试着将它放在微软的P/Invoke Interop助手中,但它在"字符串"类(我认为是来自MFC?)上窒息了.

我已经尝试将它编组为各种不同的类型(C#String,char [],byte []),但每次我得到一个NotSupportedException或一个Native Assembly Exception(取决于我试过的编组).

任何人都曾使用本机字符串类的Native/Managed Interop?有没有办法让这个元帅?我是否必须自己编写Marshaler?

.net c++ string interop marshalling

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

对所有USB设备使用RegisterDeviceNotification()

我目前有一些代码可以在Windows服务(用C++编写)中设置连接的USB HID设备的通知.代码如下:

   GUID hidGuid;
   HidD_GetHidGuid(&hidGuid);

   DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
   ZeroMemory(&NotificationFilter, sizeof(NotificationFilter));
   NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
   NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
   NotificationFilter.dbcc_classguid = hidGuid;
   HDEVNOTIFY deviceNotify = RegisterDeviceNotification(StatusHandle, &NotificationFilter, DEVICE_NOTIFY_SERVICE_HANDLE);
Run Code Online (Sandbox Code Playgroud)

然后通过SERVICE_CONTROL_DEVICEEVENT事件接收通知.(请记住,这是一个服务,所以没有WM_DEVICECHANGE).

我想我可以在RegisterDeviceNotification()调用中指定DEV_BROADCAST_DEVICEINTERFACE标志,这样它就会覆盖dbcc_classguid并获取所有设备,但事实证明Windows 2000不支持该标志,这对我来说是一个破坏者.此外,我猜这将返回的不仅仅是USB设备.

我应该如何修改它以获取所有 USB设备,而不仅仅是USB HID?它应该像提供不同的GUID一样简单吗?所有USB都有GUID吗?

c++ windows usb notifications

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

C#:检索已安装的屏幕保护程序的名称

我希望能够显示与Windows屏幕保护程序对话框显示的基本相同的列表,以及每个屏幕保护程序的名称.然而,我遇到的问题是,对话框下拉列表中显示的名称似乎与文件名,嵌入文件信息,注册表中的任何内容等无关.

例如,3D FlowerBox屏幕保护程序具有Direct3D FlowerBox的文件描述.我无法在任何地方找到"3D FlowerBox".

这些信息存储在哪里?我该如何检索它.

c# fileinfo screensaver

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

通过F#中的公共ID将多个数据列表合并在一起

我有4个不同来源的多个数据列表,其中有一组共同的ID,我希望根据ID合并在一起,基本上以新列表结束,每个ID一个,每个源一个条目.

来自4个源中的每个源的输出列表中的对象看起来像这样:

type data = {ID : int; value : decimal;}
Run Code Online (Sandbox Code Playgroud)

所以,例如我会:

let sourceA = [data1, data2, data3];
let sourceB = [data1, data2, data3];
let sourceC = [data1, data2, data3];
let sourceD = [data1, data2, data3];
Run Code Online (Sandbox Code Playgroud)

(我意识到这段代码无效,只是试图给出一个基本的想法......列表实际上是从数据库中提取和生成的)

然后我想获取sourceA,sourceB,sourceC和sourceD并将它们处理成包含如下对象的列表:

type dataByID = {ID : int; valueA : decimal; valueB : decimal; valueC : decimal; valueD : decimal; }
Run Code Online (Sandbox Code Playgroud)

...然后我可以用CSV打印出来,其中第一列是ID,而coulmns 2-5是源A-D的数据,对应于该行中的ID.

我对F#完全不熟悉,那么处理这些数据的最佳方法是什么,以便我通过ID匹配所有源数据值?

f# f#-data

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

WPF中的Clickable ItemsControl项

我正在使用ItemsControl来显示数据绑定项的列表,因为DataTemplate的每个核心都是一个Grid,我已经放置了所有绑定控件.

我希望能够点击列表中每个项目的整个区域.但我无法弄清楚如何使该区域可点击.

任何关于如何使整个网格区域可点击的建议都会很棒.

wpf grid onclick

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