小编Viv*_*ard的帖子

线程安全是什么意思?

最近我尝试从一个线程(UI线程除外)访问一个文本框,并抛出异常.它说了一些关于"代码不是线程安全的",所以我最终编写了一个代表(来自MSDN的示例帮助),然后调用它.

但即便如此,我也不太明白为什么所有额外的代码都是必要的.

更新:如果我检查,我会遇到任何严重的问题

Controls.CheckForIllegalCrossThread..blah =true
Run Code Online (Sandbox Code Playgroud)

multithreading definition thread-safety

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

C#索引器的真实世界用例?

我已经看过很多关于c#Indexers的例子,但它在现实生活中会以什么方式帮助我.

我知道如果它不是一个严肃的功能,C#guru就不会添加它,但我不能想到使用索引器的真实世界情况(不是foo bar的东西).

注意:我意识到存在一个相关的问题,但它对我没有多大帮助.

c# indexer

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

一个驱逐蚊子的计划?

不,我认真的.

最近,我读到当PC的压电蜂鸣器以一定的频率振动时,声音会击退蚊子.

真的吗?

如何在C#中以编程方式访问PC蜂鸣器(而不是扬声器)?

我不知道蚊子,但我的头疼得像疯了似的.啊...!

c#

27
推荐指数
1
解决办法
1905
查看次数

如何将Perl解释器嵌入到C#程序中

我意识到我必须DllImport使用perlembed方法

perl_parse
perl_alloc
perl_free
Run Code Online (Sandbox Code Playgroud)

等等.,

但不确定如何使用函数参数来DLLImport特别使用perl_parse方法.

我也意识到一个相关的问题已经存在,几乎存在,但OP仍然通过创建一个C包装器然后在C#中使用它来解决.

他说他无法DLLimport PERL_SYS_INIT3.

所以我的问题是如何只使用C#正确包装它们并使用它?

c# perl interop dllimport

16
推荐指数
1
解决办法
1738
查看次数

.Net的免费/开源应用程序换肤解决方案?

什么是可用于皮肤化/在.Net Winforms中创建应用程序的开源替代品

我已经阅读过有关使用UXTheme库的内容(我不知道如何去da :) :)但是这对Win XP到Win7有效

.net c# winforms

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

使用C#从USB读取数据?

我不想读串口或其他可能的简单快捷方式.我想知道如何使用C#读取笔记本电脑中的USB端口.无论您是建议网站还是解释流程,我都将非常感谢您的帮助

c# usb

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

杀死Windows资源管理器的问题?

我需要杀死Windows资源管理器的进程(explorer.exe)

让我说我使用本机NT方法TerminateProcess

它的工作原理,但问题是探险家再次启动,无论如何,可能是Windows正在这样做.当我用Windows任务管理器杀死explorer.exe时,它不会回来,它会被杀死.

我想做任务管理员通过我的申请做的事情.

编辑:
感谢@sblom我解决了它,在注册表中快速调整诀窍.虽然它是一个聪明的黑客,显然有任务的人有一个更干净的方式,这就是说,我决定现在用@ sblom的方式.

c# windows explorer process

5
推荐指数
3
解决办法
6170
查看次数

当/为什么Marshal.GetLastWin32Error()返回负的错误代码?

当调用特定的Win32 API函数(从C#到Interop)时,它会失败并返回负的错误代码

背景:

我在TAB内运行的Windows 8操作系统上执行此操作.

功能签名

[DllImport("dxva2.dll", EntryPoint = "GetMonitorCapabilities", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetMonitorCapabilities(
            IntPtr hMonitor, ref uint pdwMonitorCapabilities, ref uint pdwSupportedColorTemperatures);




Console.WriteLine(Marshal.GetLastWin32Error());
NativeMethods.GetMonitorCapabilities(hnd,ref x,ref y);
Console.WriteLine(Marshal.GetLastWin32Error());
Run Code Online (Sandbox Code Playgroud)

以上代码报告

0-1071241844

根据此链接,我认为错误代码范围在0到15999之间

c# winapi interop

0
推荐指数
1
解决办法
1340
查看次数