Tag: c ++

简单应用程序切换主要显示

我目前为我的电脑设置的是我桌上的17英寸显示器和几英尺外的高清电视。 每隔一段时间(通常在玩游戏时),当我将主显示屏切换到高清电视时,事情会更好。 我正在运行远景,所以事情会变得非常痛苦,因为我必须经过几个窗口才能切换。 我正在考虑制作一个简单的应用程序,只需切换我的主要和辅助监视器。 我在这里看过,codeprojects和MSDN库并没有得到任何结果。 有人知道在C ++ / C#中切换显示器的基本算法吗?

什么是CultureInfo.CurrentCulture

如果我做了 Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.ToString()); 得到”en-US” 我应该在控制面板设置(区域和语言?)中更改什么来获取其他内容,例如”en-CA” 。

在dataGridView中更改垂直滚动条的宽度

我正在为触摸屏开发应用程序。 我被要求使滚动条的大小更大,以便用户可以使用它们。 到目前为止,我还没有能够对此进行排序。 我读到如果你增加MainForm窗口滚动条的宽度,那么dataGridView将inheritance它。 我尝试过一些东西,但到目前为止还没有让它发挥作用。 我尝试的两种最接近的方式是 1)当我构建网格时,我添加以下内容 foreach (Control ctrl in dataGridView1.Controls) if (ctrl.GetType() == typeof(VScrollBar)) ctrl.Width = 86; 不幸的是,这似乎得到宽度为17但不能用这个86的新值覆盖它。 接下来我把它放到我构建MainForm的地方仍然没有好处,垂直滚动条仍然看起来一样。 2)我发现我可以从工具箱中添加滚动条。 这里有一点进展,直到我尝试连接到dataGridView。 这个我做不到。 我有一个事件所以每次移动我都应该能够移动网格。 下面注释掉的是我用来确保获得价值的一些项目。 private void vScrollBar1_Scroll(object sender, ScrollEventArgs e) { //MessageBox.Show(vScrollBar1.Value.ToString()); // MessageBox.Show(SystemInformation.VerticalScrollBarWidth.ToString()); // CalculateVerticalScrollbarWidth() * 4; } 所以我想我会问比我更高智商的观众,因为有人可能已经解决了这个问题,并会与我分享答案。

将javascript变量传递给服务器端C#逻辑

有没有办法将一个javascript变量分配/传递/复制到C#中的服务器端变量? 为了论证,让我们说我能够为我想要存储的变量解析一些JSON并在客户端上分配它们(即var = FirstName和var = 25以及var = someDateTime等)。

从数据表绘制图表

我正在尝试绘制一个包含多个系列的图表。 它的数据来自数据库,通过DataAdapter进入DataTable ,就像这样; public DataTable deaths_per_reason_per_year(string farmerid) { dt = new DataTable(); try { conn.Open(); // (select formatted to fit SO lines) SqlCommand cmd = new SqlCommand(“SELECT DATEPART(yyyy, DeathDate) AS ‘Year’, Reason, COUNT(DeathID) AS ‘Number of Deaths’ FROM [Farmstat_V1.0].[dbo].[Death] WHERE FarmerID = ‘” + farmerid + “‘ GROUP BY Reason, YEAR(DeathDate);”, conn); SqlDataReader reader = […]

与dllimport的多个参数的不同的charset

是否可以为单独的参数声明不同的charset选项? inheritance人的意思是: [dllimport(“my.dll”, charset = charset.Ansi)] void myfunc(string CharPtrInCPP, StringBuilder WCharPtrInCPP); 问题是c ++函数为文件名采用char *,为收到的数据采用wchar * … 在c ++中: void myfuncImpl(char *filename, WCHAR *buffer, int len); //another method, myfunc, wraps this

以编程方式运行NUnit测试夹具

我经常想要进行快速测试,并在LINQPad中进行编码。 所以我有一个Main()入口点。 我可以从那里以编程方式让NUnit“运行”一个夹具吗? using NUnit.Framework; public class Runner { public static void Main() { //what do I do here? } [TestFixture] public class Foo { [Test] public void TestSomething() { // test something } } }

将IUnknowns的SAFEARRAY转换/转换为可迭代的接口指针数组

我在C#中有以下接口,其中一个具有相同名称的类(没有我)实现它。 [ComVisible(true)] [Guid(“B2B134CC-70A6-43CD-9E1E-B3A3D9992C3E”)] public interface IOrder { long GetQuantity(); long GetOrderType(); long GetPositionType(); } 公共类Order的实现:IOrder只有三个私有字段和一个带有3个参数的构造函数。 在其他地方,我有以下方法,结果我想在C ++非托管代码中工作,通过COM和.tlb / .tlh文件传输。 public ScOrder[] GetOrders() { //constant return value for simplicity return new Order[] { new Order(1, 2, 3), new Order(4, 5, 6) }; } 我已经设法使用C#托管代码在C ++非托管代码之间进行基础工作。 但是类arrays被certificate是一个不同的挑战…… 我承认,对我来说,COM是新的,残酷的混淆和C ++很久以前被遗忘……但是我正在开发这两个库,所以我不放弃; 我希望C ++ DLL作为一些程序和我的C#代码之间的代理。 澄清:我既不使用MFC也不使用ATL。 我在C ++代码中使用#import来获取C#生成的接口和类指针以及其他我还不太了解的COM内容。 经过一个小时的研究,我只是去这里寻求帮助>。< 以下是我想要实现的C […]

C#app将C ++ dll通过回调返回到C#app

我正在编写一个调用C ++ DLL的C#应用​​程序。 这个dll是成像系统的设备驱动程序; 当获取图像时,可以从库中逐行地获得图像的预览。 C ++ dll采用回调来填充预览,该回调基本上由最终图像的大小,当前扫描的行和数据本身组成。 问题是,从扫描停止和C#回调停止获取信息时起,存在相当严重的延迟。 该程序的流程如下: 从C#中分配回调到C ++ dll 用户开始获取数据 设备启动 几秒后dll开始调用回调(正常) 设备完成图像形成 dll仍在调用回调的时间是图像形成的两倍。 这个dll适用于C ++应用程序就好了; 似乎没有最后一步延迟。 但是,在C#中,如果我立即返回回调,则延迟仍然存在; 无论我在回调中做什么,它都在那里。 这种延迟是否是从非托管代码调用托管代码的固有限制,或者是否有任何一方可以做到这一点以使其更快? 我与C ++库编写器有联系,因此可以从C ++端实现修复。 编辑:可以做一些像命名管道一样简单的工作吗? 应用程序可以从自己的管道中读取吗?

使用C#将值写入注册表

我正在创建一个C#应用程序,它将监视对注册表所做的更改,并在用户登录时将它们写回注册表。 到目前为止,我已经监控变化,报告它们,将文件夹,密钥和值写入文本文件。 我现在正处于需要从文件中取出值并将它们放回注册表的位置。 现在我看了各种教程,但没有一个能够回答我的问题/问题,所以例如我希望改变的注册表项是: HKEY_USERS \ S-1-5-21-2055990625-1247778217-514451997-41655 \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows Messaging Subsystem \ Profiles \ Outlook \ 0a0d020000000000c000000000000046 01020402的值及其中包含的内容 我想要做的就是回写它并根据需要更改值。 我目前有3个字符串,一个包含键位置,一个包含值,最后一个是值的内容,尽管我可以轻松地更改字符串操作以获取并且不能获得我需要或不需要的任何内容。 因此,如果有人可以为我提供一种写作的方式,那将是值得赞赏的。 PS所以你知道,该特定值是一个二进制值,我转换为字符串进行存储。 如果您需要任何进一步的信息,请告诉我。 任何帮助将不胜感激….谢谢 我正在使用的编辑代码: public class reg { public void write(string key, string valueName, string value) { Byte[] byteValue = System.Text.Encoding.UTF8.GetBytes(value); Registry.SetValue(key, valueName, value, RegistryValueKind.Binary); […]