Tag: C#的

C# – 检测上次用户与操作系统交互的时间

我正在写一个小的托盘应用程序,需要检测用户上次与他们的机器进行交互以确定它们是否空闲。 有什么方法可以检索用户上次移动鼠标,敲击键或以任何方式与其机器进行交互的时间? 我认为Windows显然跟踪这个来决定什么时候显示一个屏幕保护程序或关机等,所以我假设有一个Windows API来检索这个自己?

__init在Linux内核代码中意味着什么?

在Linux内核源代码中我find了这个函数: static int __init clk_disable_unused(void) { // some code } 在这里我不明白__init含义。

如何将颜色“自然地”与C#混合?

我必须以自然的方式混合一些颜色。 意即 blue + yellow = green blue + red = purple 等等。 我得到了RGB值的颜色。 当我尝试混合他们时,我得到了正确的“RGB” – 结果 green + red = yellow yellow + blue = white 但不是正确的“天然湿漆”的结果。 任何好主意如何自然地混合RGB? 如果有人知道Microsoft.Xna.Framework.Graphics命名空间中的解决scheme,但是一个通用的解决scheme也将有助于:) @Jaz Bazuzi: 请发布一个代码示例,显示您正在尝试执行的操作。 当然 – 这是我混合两种RGB颜色的function。 public Color colorMixer(Color c1, Color c2) { int _r = Math.Min((c1.R + c2.R),255); int _g = Math.Min((c1.G + c2.G),255); […]

为什么要使用函子而不是函数?

比较 double average = CalculateAverage(values.begin(), values.end()); 同 double average = std::for_each(values.begin(), values.end(), CalculateAverage()); 在函数中使用函子有什么好处? 是不是第一个更容易阅读(甚至在添加实现之前)? 假设仿函数是这样定义的: class CalculateAverage { private: std::size_t num; double sum; public: CalculateAverage() : num (0) , sum (0) { } void operator () (double elem) { num++; sum += elem; } operator double() const { return sum / num; } };

如何从asp.net中使用c#中的查询string中删除项目?

我想从我的url中删除“语言”查询string。 我怎样才能做到这一点? (使用Asp.net 3.5,C#) Default.aspx?Agent=10&Language=2 我想删除“语言= 2”,但语言将是第一个,中间或最后一个。 所以我会有这个 Default.aspx?Agent=20

初始化/重置结构为零/ null

struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; 我正在填充此结构,然后使用值。 在下一次迭代中,我想重置所有的字段为0或null然后再开始重用它。 我怎样才能做到这一点? 我可以使用memset或者我必须通过所有的成员,然后单独做?

在GCC / G ++编译器中使用-pedantic的目的是什么?

这个笔记说: -ansi :告诉编译器实现ANSI语言选项。 这closures了与ANSI标准不兼容的GCC的某些“特征”。 -pedantic :与-ansi一起使用,这告诉编译器严格遵守ANSI标准,拒绝任何不合规的代码。 首先要做的事情 GCC / G ++编译器的-pedantic和-ansi选项的目的是什么(我无法理解上面的描述)? 任何人都可以告诉我使用这两个选项的正确的情况吗? 我应该什么时候使用它们? 他们重要吗?

打破.NET 4.0的变化

新4.0中有很多关于新function和类的信息,但是也有一些可能影响现有应用程序的更改 Timespan现在实现IFormattable和旧的string.Format()与无效的选项将抛出exception,而不是调用简单的ToString()。 但是,CLR团队提供了一个很好的function,可以使用configuration设置 – TimeSpan_LegacyFormatMode从以前的版本启用行为。 CLR里面 在使用+ =或 – =声明的类中访问事件将导致调用add / remove生成的访问器返回void。 一些代码甚至不会在4.0中编译。 克里斯·伯罗斯博客 CAS已弃用,为了使其仍然需要在configuration中使用特殊设置 – NetFx40_LegacySecurityPolicy 所以我想知道还有什么其他的变化,是否有可能find至less初步的变化列表,可能会或可能会打破现有的function与.NET 4.0的发布?

简单的定制事件

我试图学习自定义事件,我试图创build一个,但似乎我有一个问题 我已经创build了一个Form,静态类和自定义事件。 我想要实现的是当我按下button时,Form将会调用静态类的function,然后func会不时地上传一个事件来报告当前状态。 如果事件发生,Form1将会侦听,如果是,则会改变label1的Text 这是我到目前为止 public partial class Form1 : Form { public EventHandler<Progress> progress; public Form1() { InitializeComponent(); progress += SetStatus; } private void SetStatus(object sender, Progress e) { label1.Text = e.Status; } private void button1_Click_1(object sender, EventArgs e) { TestClass.Func(); } } 文件2 class TestClass { public static void Func() { //time consuming […]

从UI线程强制GUI更新

在WinForms中,如何强制从UI线程立即进行UI更新? 我所做的大致是: label.Text = "Please Wait…" try { SomewhatLongRunningOperation(); } catch(Exception e) { label.Text = "Error: " + e.Message; return; } label.Text = "Success!"; 在操作之前,标签文本不会设置为“请稍候…”。 我解决了这个使用另一个线程的操作,但它变得毛茸茸的,我想简化代码。