64位窗口上的P / Invoke是否需要与32位不同的签名?

当我创建一个引用user32.dll的签名时,如果目标是64位计算机,我应该用user64.dll构建它吗? [DllImport(“user32.dll”, CharSet = CharSet.Auto)] public static extern bool ChangeClipboardChain( IntPtr hWndRemove, IntPtr hWndNewNext); 目前这不是问题,因为我的目标只是32位,因为来自供应商(Progress OpenEdge)的库只提供32位库来访问他们的数据库。 我目前没有64位Windows计算机,看看是否是这种情况。

System.Uri和编码冒号(:)

在.Net 4.5之前,似乎System.Uri会对编码的斜杠进行编码,但此后已经修复。 参考: https : //stackoverflow.com/a/20733619/188740 我遇到了与冒号相同的问题。 System.Uri仍然编码冒号。 例: var uri = new Uri(“http://www.example.com/?foo=http%3A%2F%2Fwww.example.com”); var s = uri.ToString(); //http://www.example.com/?foo=http:%2F%2Fwww.example.com 注意%3A如何切换回:由System.Uri。 这是一个错误吗? 什么是最好的解决方法?

单个Windows线程的内存开销是多少?

每个线程的堆栈是1 Mb吗? 或者只是CLR线程? 我想通过任务管理器了解本机Windows线程(c ++)和CLR线程作为视图的内存。 谢谢

json newtonsoft:反序列化包含字符串列表的Object

我对这个json有以下问题: { “EVTS”: { “EVT”: [ { “ID”: “123456”, “KEY1” : “somekey”, “CATEG”: [ “cat1”, “cat2”, “cat3” ] } ]} } 这个c#类: public class myClass{ public string ID { get; set; } public string KEY1 { get; set; } public list CATEG { get; set; } } public class ESObject1 { [JsonProperty(“EVT”)] public List EVT […]

检查在上下文菜单条中单击了哪个子菜单项

网格控件中有ContextMenuStrip。 我把它命名为GridContextMenu。 GridContextMenu使用以下代码填充4-5个项目: gridcontextMenu.Items.Add(new ToolStripMenuItem { Name = Plants, Text = Plants, Tag = Plants, Width = 100, Image = }); gridcontextMenu.Items.Add(new ToolStripMenuItem { Name = Animals, Text = Animals, Tag = Animals, Width = 100, Image = }); 对于工具条中的动物菜单,我按以下方式添加子菜单 (gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add(“Tiger”, image_source, new EventHandler(SubmenuItem_Click)); (gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add(“Lion”, image_source, new EventHandler(SubmenuItem_Click)); (gridcontextMenu.Items[1] as ToolStripMenuItem).DropDownItems.Add(“Elephant”, […]

如何使用C#/ .NET在Windows中使用拨号(RAS)连接?

我需要能够在C#.NET Framework应用程序中连接,断开连接并重新连接拨号网络连接。 在电话簿中创建连接可能也是有用/必要的。 是否有任何为C#或.NET编写的类或库可以很好地为我提供所有这些function? 任何人都有一些他们愿意分享的代码? 注意 :应用程序是无人值守的 ,就像Kiosk一样,因此要求用户操作是不可接受的。

如何使用SharePoint Copy Web服务的CopyIntoItems方法?

我正在尝试使用SharePoint Copy Web服务的CopyIntoItems方法将文档文件加载到SharePoint中的文档库中。 下面的代码执行并返回0(成功)。 此外,CopyResult []数组返回带有“Success”结果的1值。 但是,我无法在库中的任何位置找到该文档。 我有两个问题: 任何人都可以看到我的代码有什么问题或建议更改? 任何人都可以建议我如何在服务器端调试它。 我没有大量的SharePoint经验。 如果我可以通过日志记录或服务器端的其他方法跟踪正在发生的事情,它可以帮助我弄清楚发生了什么。 代码示例: string[] destinationUrls = { Uri.EscapeDataString(“https://someaddress.com/Reports/Temp”) }; SPCopyWebService.FieldInformation i1 = new SPCopyWebService.FieldInformation { DisplayName = “Name”, InternalName = “Name”, Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = “Test1Name” }; SPCopyWebService.FieldInformation i2 = new SPCopyWebService.FieldInformation { DisplayName = “Title”, InternalName = “Title”, Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = […]

如何在C#中生成随机深色?

我这样生成一个随机颜色: var random = new Random(); var color = String.Format(“#{0:X6}”, random.Next(0x1000000)); 如何排除比某个值更亮的颜色?

C ++中字符串的L前缀

我有一个静态库。 该库定义了以下function int WriteData(LPTSTR s) 调用该函数的示例是 LPTSTR s = (LPTSTR) L”Test Data”; int n = WriteData(s); WriteData在成功时返回0,在失败时返回-1。 我正在编写动态DLL来导出此函数。 int TestFun(LPTSTR lpData) { return WriteData(lpData); } C ++测试应用程序结果 LPTSTR s = (LPTSTR) L”Test Data”; TestFun(s); //OK return 0 LPTSTR s = (LPTSTR) “Test Data”; TestFun(s); //Fail return -1 我必须从ac#应用程序调用它。 我假设我的DLL-Import签名是: [DllImport(“Test.dll”)] private static extern int TestFun(String […]

编译Release和Debug会生成不同的IL代码+不同的机器代码吗?

我听说在Release模式下编译生成的优化代码比在Debug模式下生成,这很好。 但这是IL的优化吗? 一旦CLR运行它,它在机器代码中吗? 是否与在Release和Debug中编译的PE不同的元数据结构? 谢谢