草庐IT

winning_numbers

全部标签

C# 短错误 : Negating the minimum value of a twos complement number is invalid

我在我的项目中遇到过这个错误,该项目涉及使用数字音频信号。所以我一直在获取振幅值,最近遇到了这个错误。调试时遇到的振幅值为“-32768”时会出现这种情况。我将这些值存储在一个short[]数组中。我有一种预感,它与最大值/最小值有关(我使用Math.Abs​​),但我不确定如何处理它。有人可以帮忙吗?谢谢! 最佳答案 16位有符号整数(short)取值介于-32,768和32,767之间。在16位有符号整数中不可能对-32768求反或获取绝对值。该值(32,768)大于最大可能的正值(32,767)。在不了解您正在使用的算法的更多

c# - 状态条标签中的 String.format() 值在 Win 7 和 Win XP 上显示不同

我正在使用以下代码在我的应用程序的状态栏中显示任务的运行时间。publicvoidDisplayDuration(TimeSpanduration){stringformattedDuration;if(duration.TotalMillisecondsthis.TimingLabel是winform底部的statusStrip控件中的一个标签。但我在WindowsXP和Windows7上得到的结果完全不同WindowsXP:window7为什么单位在Windows7中出现在时间之前?我检查了区域设置,两台机器都设置为美国,日期时间格式相同。非常确定它是在两台机器上运行的相同代码。在

c# - 使用 C#/Win32 将文本写入记事本

我正在弄乱Win32API和Windows消息传递,试图弄清楚它们是如何工作的,我发现了这个questionveryhelpful.我想改进那里提供的解决方案,以便它附加文本,而不是仅仅通过WM_SETTEXT替换记事本中的文本。我的问题是,我将如何使用WM_GETTEXTLENGHT,然后使用WM_GETTEXT来获取记事本窗口中的当前文本,以便我可以在使用WM_SETTEXT之前向其追加新文本?在32位和64位机器上使用WM_XXXTEXT是否都有效?如果记事本中有很多文本,建议的获取/设置算法是否仍然有效,或者它会占用大量资源吗?如果是这样,是否有另一种方法可以将文本附加到记事本

c# - Console/Win 服务应用程序不需要 ConfigureAwait(false),对吗?

我使用async/await有一段时间了,但最近深入研究,并阅读了很多最佳实践提示,默认总是使用ConfigureAwait(false)防止死锁,提高性能。我只是想确保我没有遗漏任何东西,因为我认为这仅适用于实际当前SynchronizationContext或TaskScheduler正在运行的情况,对吗?如果我有一个正在响应消息/命令/等的Windows服务应用程序。异步地,它总是只使用默认的调度程序=可能等待完成的线程池线程将执行延续,因此没有死锁,使用ConfigureAwait(false)也不会产生性能差异,正确?不是我不能把它放在那里,而是我非常讨厌嘈杂的代码.....

c# - 系统.ComponentModel.Win32Exception : Access is denied Error

我正在使用C#代码启动和停止窗口服务,但出现此错误。System.ComponentModel.Win32Exception:Accessisdenied我的代码:publicvoidStartService(stringserviceName,inttimeoutMilliseconds){ServiceControllerservice=newServiceController(serviceName);try{TimeSpantimeout=TimeSpan.FromMilliseconds(timeoutMilliseconds);service.Start();service

c# - Win32Exception: 目录名无效

我正在尝试以不同的用户身份运行一个进程,该用户在2台运行Vista且启用了UAC的不同计算机中具有管理员权限,但在其中一台计算机中我收到Win32Exception,提示“目录名称无效”谁能告诉我我的代码有什么问题?varmyFile="D:\\SomeFolder\\MyExecutable.exe";varworkingFolder="D:\\SomeFolder";varpInfo=newSystem.Diagnostics.ProcessStartInfo();pInfo.FileName=myFile;pInfo.WorkingDirectory=workingFolder;

c# - 如何将凭据传递到计算机以便我可以在其上使用 Microsoft.Win32.RegistryKey.OpenRemoteBaseKey()?

This.NETAPI如果我尝试在与我位于同一域中的计算机中打开注册表,则工作正常(并且我的登录用户在目标计算机上具有管理员权限)。如果它是具有不同本地管理用户(我确实知道其密码)的域外计算机,那就很棘手了。我尝试使用WNetUseConnection()(在过去我想要读取远程磁盘文件的情况下,这对我很有帮助)在调用OpenRemoteBaseKey()之前,但没有成功——我收到拒绝访问异常。显然,我必须以其他方式传递凭据,但如何传递? 最佳答案 我成功地使用了以下代码来访问计算机上的文件:#regionimports[DllImp

c# - 如何在 C# 中模仿 Number.intBitsToFloat()?

我一直在疯狂地尝试读取使用Java程序编写的二进制文件(我正在将Java库移植到C#并希望保持与Java版本的兼容性)。Java库组件的作者选择使用float和乘法来确定一段数据的开始/结束偏移量。不幸的是,它在.NET中的工作方式与在Java中的工作方式有所不同。在Java中,该库使用Float.intBitsToFloat(someInt),其中someInt的值为1080001175。intsomeInt=1080001175;floatresult=Float.intBitsToFloat(someInt);//result(asviewedinEclipse):3.49234

电脑技巧:教你关闭Win11内存压缩,解决电脑卡顿的问题

很多朋友都注意到,Win11默认开启了内存压缩功能。内存压缩顾名思义,可以压缩内存中的数据,让内存占用更少,同时减少Swap频次,带来更高的I/O效率。但与此同时,压缩数据需要耗费CPU资源,一些朋友使用的是CPU性能较弱的设备,例如轻薄本,开启内存压缩可能会造成卡顿缓慢。同时,内存压缩需要消耗额外的CPU资源,带来更多耗电发热,这对注重续航的设备来说也是不合适的。实际上,微软在Win10中就已经启用了内存压缩机制,在Win11当中继续了这一设定。那么问题来了,如果你不缺内存,但CPU性能较弱,而且需要更长的续航,要如何关闭内存压缩?一起来看看吧!确认内存压缩的开启状态首先,我们要确认内存压缩

c# - 为什么win32异常没有被c#异常处理机制捕获

我有一个winforms应用程序。Winforms从Program.cs开始,我们在其中定义了main()。我已将这段代码放在try-catchblock中。[STAThread]staticvoidMain(){try{Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newfrmSplash());}catch(Exceptionex){MessageBox.Show(ex.Message);if(ex.InnerExceptio