c#中的窗口挂钩

我试图从csharp连接到其他窗口。 我使用SetWindowsHookEx ,但没有运气转换它fom c ++ tc#。 我在这里找到了这个post,但它没有解决。 问题是SetWindowsHookEx返回0.它包括我发现的最佳代码samle: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowDrawer { public partial class Form1 : Form { private delegate int HookProc(int code, IntPtr wParam, IntPtr lParam); static IntPtr hHook; IntPtr windowHandle; uint processHandle; HookProc PaintHookProcedure; [System.Runtime.InteropServices.DllImport(“user32.dll”, EntryPoint = […]

C#Interlocked Exchange

我的游戏有点像这样: public static float Time; float someValue = 123; Interlocked.Exchange(ref Time, someValue); 我想把时间改成Uint32; 但是,当我尝试使用UInt32而不是float值时,它会抗议该类型必须是引用类型。 Float不是引用类型,因此我知道在技术上可以使用非引用类型执行此操作。 是否有任何实用的方法可以使用UInt32 ?

如何自定义日期时间格式或将DateTime转换为具有所需格式的String

我有24小时格式的DateTime字符串..“2009-12-31T23:59:59” 我想要这种格式..“12/31/2009 23:59:59”即:“MM / DD / YYYY HH:MM:SS” 当我试图将它转换为字符串时,我得到“12/31/2009 11:59:59 PM”..虽然我可以编写一个字符串操作的代码..它似乎不是有效的..而且当我有像“2009-1-1T1:19:15”这样的dateTime值时,情况变得最糟..这里,由于字符串长度不同 ,我甚至无法使用substring()跟踪小时和月的值并转换.ToInt().. 我正在使用visual studio 2005,当我写这个语句时,它抛出错误说“不能隐式地将DateTime转换为String”: result = Convert.ToString(dateValue); 我简化了我的问题:是否有任何方法可以将“yyyy-mm-ddThh:mm:ss”格式转换为“mm / dd / yyyy hh:mm:ss”..它必须在visual studio 2005中工作..

Microsoft.AspNet.Identity.EntityFramework.IdentityUser的外键?

我在VS 2013,刚刚创建了一个MVC应用程序。 我正在创建一个对象,我打算在结果数据库中有一个AspNetUsers表的外键。 该项目确实有一个ApplicationUser(派生自IdentityUser),看起来像是与AspNetUsers表的属性列匹配。 我们如何正确地为此声明外键? public MyObject { public string UserId { get; set; } [ForeignKey(“UserId”)] public ApplicationUser User { get; set;} // other properties } 现在,我修改ApplicationUser以获得MyObjects的集合: public ApplicationUser : IdentityUser { public virtual ICollection MyObjects { get; set; } } 这似乎是如何在EF Code First中进行一对多操作。 但是,当我更新数据库时,我收到的错误表明身份成员(IdentityUserLogin,IdentityUserRole等)没有定义键。 也许那些课程不打算参加EF Code First Migrations? 我可以“到后面”并通过SQL语句添加外键,但如果我想从Code First再次更新,我可能会收到错误(数据库当前不匹配旧的迁移或类似的东西)。 我们如何正确地使用外键参考这些会员表? 我还尝试使用AspNetUsers表的匹配属性创建一个AspNetUser类。 我没有在Client类上使用“public ApplicationUser”,而是声明了“public […]

C# – 查找Active Directory用户的所有电子邮件地址

我正在尝试获取与给定AD用户关联的所有电子邮件地址。 对于用户,我有域名和登录名(例如DOMAIN \ UserName),而AD则将电子邮件地址存储在: 邮件属性。 在proxyAddresses属性中。 到目前为止,我不知道用于连接AD的C#API,以及如何正确地过滤用户以获取所有电子邮件地址。 我正在使用.NET 3.5。 谢谢。

在C#中的托盘中拖放NotifyIcon

我正在尝试创建一个在托盘中运行的C#应用​​程序,我可以将文件放在它的图标上。 有没有办法在System Tray图标上删除文件的路径? System.Windows.Forms.NotifyIcon没有任何与拖放相关的事件。

如何将进程输出(控制台)重定向到richtextbox?

有什么问题,为什么richtextbox没有获得Process输出流? 在richtextbox中没有文本显示.. private void button1_Click(object sender, EventArgs e) { Process sortProcess; sortProcess = new Process(); sortProcess.StartInfo.FileName = “sort.exe”; sortProcess.StartInfo.Arguments = this.comboBox1.SelectedItem.ToString(); // Set UseShellExecute to false for redirection. sortProcess.StartInfo.CreateNoWindow = true; sortProcess.StartInfo.UseShellExecute = false; // Redirect the standard output of the sort command. // This stream is read asynchronously using an event handler. sortProcess.StartInfo.RedirectStandardOutput = […]

C#:管理多个App.config文件

我遇到了一个问题。 我有一个与web服务交互的DLL,它将端点配置保存在app.config文件中。 我想在我的宿主应用程序中使用这个dll。 主机应用程序有自己的配置文件。 每次更改服务端点时,我都必须将dll配置的内容合并到主机的配置中。 有没有办法可以使用两个配置文件。 所以dll使用自己的配置,而主机应用程序使用自己的配置。

何时在.net中使用预处理程序指令?

我认为这是一个简单的问题所以我认为我错过了一些明显的东西。 我真的没有使用预处理器指令,但我正在查看某人的代码,并且认为这是我应该熟悉的东西。 所以我看了msdn示例,它有代码: #define DEBUG // … #if DEBUG Console.WriteLine(“Debug version”); #endif 我的两个问题是: 在上面的例子中,为什么他们定义DEBUG? 如果你在debug v。发布模式下编译,我的印象是设置的? 查看具有#define MYTEST的另一个示例,然后根据它是否“定义”写入控制台,但这与仅使用变量有何不同? 我在这里想念的是什么?

消息队列错误:找不到能够读取消息的格式化程序

我正在使用C#将消息写入消息队列,如下所示: queue.Send(new Message(“message”)); 我正在尝试阅读如下消息: Messages messages = queue.GetAllMessages(); foreach(Message m in messages) { String message = m.Body; //do something with string } 但是我收到一条错误消息,上面写着:“找不到能够读取此消息的格式化程序。” 我究竟做错了什么?