Articles of .net

如何扫描networking上存在的无线设备

现在我的团队在使用Windows应用程序c#的networking项目中工作。 如何扫描networking上存在的无线设备。function与您在Windows操作系统中的现有Windows实用程序中看到的function完全相同。 我确信你在插入无线笔记本电脑卡时有经验,它会打开一个窗口,显示它检测到连接的所有接入点。 如何捕获下面列出的这些信息 MAC地址 IP地址 SSID 渠道 时间戳 密码types encryption级别 信号强度 我用过Kismet或NetStumbler吗? 请build议好的图书馆/代码

列出可以访问NetFrameworkConfigurationKey ACL的用户

我已经使用“ aspnet_regiis -pa” NetFrameworkConfigurationKey “”USER“将一些用户添加到RSA密钥容器的访问控制列表(ACL)中。 我如何列出所有已经被授权访问NetFrameworkConfigurationKey的用户? 可以通过aspnet_regiis命令吗?

在资源pipe理器中的文件图标上添加状态图标,如Dropbox或.NET中的SVN

我正在用FileSystemWatcher在C#中编写Windows服务应用程序。 如何在Windows资源pipe理器中将状态图标添加到文件和文件夹,类似于Dropbox或SVN的操作方式?

SlimDX:Joystick.Poll()成功断开游戏手柄

我对SlimDX有一个好奇的问题:我们已经在Windows 7上看到了这个问题,并且还没有testing其他版本:我正在使用一捆便宜的USB游戏手柄(没有序列号),有时候一个物理游戏手柄结束向多个Joystick对象提供input。 该场景是: 将游戏手柄1插入到集线器插槽1. Pad在DirectInput.GetDevices显示为GUID f17b2d30。 为平板创buildJoystick对象。 将游戏手柄2插入到插槽2中。Pad作为GUID 5187d2d0出现在DirectInput.GetDevices中。 为平板创buildJoystick对象。 按下游戏手柄2上的button。不改变状态。 按下游戏手柄1上的button。在两个对象上的Poll()之后,button出现在GetCurrentState() 。 拔下游戏手柄2.其对象上的Poll()方法继续无误地返回,但不再出现在DirectInput.GetDevices 。 按下游戏手柄1上的button。在两个对象上的Poll()之后,button出现在GetCurrentState() 。 我已经在debugging器中检查了对象。 每个Joystick通过Information.InstanceGUID引用正确的GUID,但在Properties.InterfacePath每个都有相同的USBpath。 游戏手柄硬件似乎正常工作 – 如果我使用控制面板游戏手柄testing仪执行相同的操作,游戏手柄保持不同。 DirectInput GUID似乎是基于USB PID和VID分配的,然后是相同的游戏手柄插入的顺序,而不是它们插入的USB端口的物理path。 如果我混合使用不同型号的游戏手柄,问题就会消失。 这感觉就像一个SlimDX甚至是一个DirectInput的错误 – 有没有解决这个问题的方法?

正确的方法提前中止BeginRead和BeginWrite?

我有一个用C#编写的实用程序来与我们的USB设备进行通信。 我们使用通用的HID驱动程序,并将一个句柄包装到FileStream对象中的设备中。 我使用它的BeginRead和BeginWrite方法来读/写数据,这不是因为我需要asynchronousIO,而只是为了在设备进入非通信状态(有意或无意)时超时。 所有的读写操作都是在我自己的专用IO线程中完成的。 我担心我没有做好正确的事情,因为我已经看到了一些我怀疑是线程死锁的情况。 这是我的相关Read方法(这似乎工作得很好)的精简版本。 if (_readResult == null) { _readResult = _deviceStream.BeginRead(_readBuffer, 0, _readBuffer.Length, null, null); } if (_readResult.AsyncWaitHandle.WaitOne(IOTimeout, true)) { int bytesRead = _deviceStream.EndRead(_readResult); _readResult.AsyncWaitHandle.Close(); _readResult= null; // … Copy bytes to another buffer } else { // … Timeout, so retry again in a bit } 我的主要问题是如何正确地停止未完成的BeginRead或BeginWrite调用,如果我需要终止我的IO线程和我的设备不再通信。 我不能只是叫EndRead因为它会坐在那里永远阻止。 读/写操作挂起时调用Filestream.Close是否安全? 我也必须问,是否有挂起的读写操作同时运行是安全的? 例如,如果我的读取方法超时,我仍然可以继续尝试写一些东西吗? […]

在使用C#/ .Net时,只读如何影响目录?

我发现我可以写(即复制一个文件)到一个只读目录。 也就是说,一个具有…Attributes = FileAttributes.ReadOnly的目录。我甚至可以改变它的名字。 我发现唯一不能做的就是删除它。 这是ReadOnly防止的唯一事情吗? 编辑: 这是代码:(目录是空的。) (new DirectoryInfo(path)).Attributes = FileAttributes.ReadOnly; Directory.Delete(path); 它抛出一个Access to the path 'c:\… is denied. 例外。 但更改ReadOnly , Normal工作正常。 那么ReadOnly是什么防止,什么不能防止? (当然编程, 不是 :通过Windows资源pipe理器。) 编辑2: 我收到了链接到文档的答案,说ReadOnly在目录上是不被尊重的,而且可能是.Net ,它负责删除的失败。 所以我将重新修改这个问题:“ 使用C#/ .Net时 ,只读如何影响目录?

Win32 vs .Net

.NET比Win32更好吗? 这两者的利弊,在哪些情况下会比另一方好。 微软是否发布.Net作为Win32的替代品? 我不是在问需要维护的项目的数量,而是关于正在开发的新项目,哪个会更好。 你觉得.Net从win32(缺less使用dllImport)缺乏重要的东西? 你认为Win32将被.Net所取代 我在问这个问题,因为我和我的一个朋友发生了争执,因为我们都同意这两个问题都必须深入研究。我的朋友认为.Net是不完整的,我说它几乎可以pipe理任何非驱动任务有关。 .Net在哪里失败?

在C#/ VB.NET或C ++ Win32中启用/禁用Aero

如何在C#.NET或C ++ Win32中禁用航空效果? 这是我在C / C ++中的testing代码,但只适用于我的应用程序是runnig #include <dwmapi.h> int main() { DwmEnableComposition(DWM_EC_DISABLECOMPOSITION); while(true); //… return 0; } //LINK dwmapi.lib 谢谢 编辑:我想通了 #include <Windows.h> #include <dwmapi.h> int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, PSTR str, int c) { DwmEnableComposition(DWM_EC_DISABLECOMPOSITION); MSG msg; ZeroMemory(&msg, sizeof(MSG)); while(GetMessage(&msg, 0, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } //Memory: 314KB […]

以编程方式中断活动屏幕保护程序?

原因:我正在开发一个需要在桌面上显示信息的紧急警报应用程序。 当客户端收到警报时,会popup一个窗口。 如果屏幕保护程序处于活动状态,或者显示器处于待机状态,则警报将不可见。 我想知道是否有可能通过某种程序化的鼠标移动或系统调用唤醒计算机,以便警报可见。 我认为鼠标移动或按键唤醒的原因是因为硬件中断,所以它可能是不可能的。 目前,该项目正在C#中实施。 我很想听听有关Windows,MAC和Linux的解决scheme。 这是客户的要求。 我已经考虑了以下几点: 在大多数电脑闲置后,用户必须login。 那些电脑不会得到警报 如果屏幕保护程序处于活动状态,那么很可能无论如何都没有人在电脑上。 我不是试图: 防止屏幕保护程序或节能模式一起启动。

什么时候我的进程被杀死了?

在Windows Server 2003上运行本机和托pipe代码的混合进程。 当我在进程资源pipe理器中杀死进程时,它会进入100%cpu状态,并在离开之前保持一段时间(有时甚至是10分钟)。 在这段时间里,我不能“杀”它或做任何事情。 当我通过进程pipe理器杀死进程来杀死进程时会发生什么样的情况? 我相信这不会调用任何析构函数,那么可能会导致这样的CPU使用? 谢谢,丹