Tag: c ++

NLog使用NLog.config动态更改文件名

如何使用C#中的变量动态更改FileName? 我的想法是创建一个日志文件,如Log__${date:format=yyyy-MM-dd}.log 。 有任何想法吗?

将HBITMAP句柄从非托管代码传递到托管代码的安全性,以便创建System.Drawing.Bitmap

我是托管/非托管互操作的新手,所以我希望得到一些意见,了解以下过程如何安全地从非托管C ++到托管C#获取位图。 基本思路是: C#调用一个互操作函数FetchImage ,它位于非托管C ++中。 它通过一个out int param。 FetchImage有一个相应的long * param。 在C ++中, FetchImage创建一个安全的CBitmap ,即不是本地的,在其上绘制内容,使用HandleToLong()将位图的HBITMAP句柄转换为long ,将其存储在C#的参数中,然后返回。 回到C#, out int param转换为IntPtr并使用System.Drawing.Image.FromHbitmap复制数据并生成System.Drawing.Bitmap对象。 然后C#调用另一个互操作函数ReleaseImage 。 在C ++中, ReleaseImage释放与之前创建的CBitmap相关联的资源。 这是不耐烦的要点。 下面是更具体的代码示例。 函数的C ++互操作定义: namespace { std::unique_ptr bitty; } HRESULT __stdcall Helper::FetchImage( /*[out]*/ long * hBitmap ) { bitty.reset( new CBitmap ); // call CreateBitmap and then draw something, […]

在Windows Phone 8中使StackPanel可滚动

我有一个控件列表,放入一个stackpanel。 这些控件是Hubtiles,在用户创建后以编程方式添加 – 基本上是一个列表。 我需要创建添加它们的StackPanel,可滚动 – 这对此最好的方法是什么? 我应该将堆栈面板放在ScrollView中,然后使用Hubtile的实际高度增加StackPanels高度 – 使其可滚动,但不是这样,用户可以滚动无限而无需存在任何东西。 因此,只要StackPanel内的控件数达到3,它就会自动增加它的高度,如下所示: 每当StackPanel内的控件数量达到3或更高时: StackPanel.Height = StackPanel.Height + Hubtile.ActualHeight; 非常感谢!

WebSocket读取字符串

我知道所有内容都在websocket中作为字符串传递但我有这两个函数: function read_string(id) { if (recvpos[id][recvbufi[id]] >= recvsize[id][recvbufi[id]]) recvbufi[id]++; if (recvbufi[id] >= recvbuf[id].length) return “”; var str = new String(“”); while(1) { var buf = new Uint8Array(recvbuf[id][recvbufi[id]], recvpos[id][recvbufi[id]]+2, 1); recvpos[id][recvbufi[id]] += 1; if (buf[0] == 0) return str; str += String.fromCharCode(buf[0]); } } function recv(id) { if (sockets[id].readyState == 2 || sockets[id].readyState == 3) return […]

如何使用SendInput发送斯堪的纳维亚字母

我正在尝试创建一个虚拟键盘,它使用SendInput方法模拟键盘,如下所示: public static void SendKeyDown(System.Windows.Forms.Keys key) { INPUT k = new INPUT(); k.type = (int)InputType.INPUT_KEYBOARD; k.ki.wVk = (short)key; k.ki.dwFlags = (int)KEYEVENTF.KEYDOWN; k.ki.dwExtraInfo = GetMessageExtraInfo(); SendInput(1, new INPUT[] { k }, Marshal.SizeOf(k)); } 但我无法从Keys -enumeration中找到斯堪的纳维亚字母Ä,Ö和Å。 如何使用SendInput方法发送这些字母?

在ASP.NET中保留Postback上的水平和垂直ScrollPosition

编码在ASP.NET C#中。 我有一个gridview,说1000条记录,我在内联编辑其中一行。 在点击更新时,我希望我的网格在回发发生之前处于确切的xy位置。 如果您正在考虑使用Page指令, MaintainScrollPositionOnPostback=”true” ,不,它对我没用 什么是最佳方法?

Npgsql / Postgresql:“函数不存在”时出现错误信息

抓住我的头。 有一个类似的问题可能与“函数不存在”有关,但我真的认为它确实 存在并且PostgreSQL函数不存在,但答案似乎并不十分明显。 PostgreSQL 9.5。 我有一个基于Npgsql的成员资格查询,如下所示: using (var conn = new NpgsqlConnection(ConnectionString)) { conn.Open(); using (var comm = new NpgsqlCommand(“get_user_by_username”, conn)) { comm.CommandType = CommandType.StoredProcedure; comm.Parameters.Add(“_user_name”, NpgsqlDbType.Varchar, 250).Value = username; comm.Parameters.Add(“_application_name”, NpgsqlDbType.Varchar, 250).Value = _ApplicationName; comm.Parameters.Add(“_online”, NpgsqlDbType.Boolean).Value = userIsOnline; using (var reader = comm.ExecuteReader()) { return GetUsersFromReader(reader).OfType().FirstOrDefault(); } } } 这个函数存在于我的postgresql数据库中: CREATE OR REPLACE FUNCTION […]

C#中_bstr_t的等价物是什么

我正在开发一个项目,我需要将C ++代码转换为C#。 我在代码中遇到_bstr_t我想知道C#中的等价物。

将CSV导入SQL-Server – 性能

我创建了一个小项目,允许用户通过Entity-Framework将CSV文件导入SQL。 主要程序如下: using (TextFieldParser tx = new TextFieldParser(file, Encoding.UTF8)) { tx.TextFieldType = FieldType.Delimited; tx.SetDelimiters(“;”); tx.ReadLine(); //The First Line are the headers, no need while (!tx.EndOfData) { decimal decTmp; int intTmp; string[] fields = tx.ReadFields(); //Convert every field to the appropriate type, tryparse if nullable ReportInfo(“Verarbeite Nummer: ” + fields[(int)ConnectionEvaluationFileField.PhoneNumber].Trim()); Verbindunganalyse con = new Verbindunganalyse(); con.Auswertungszeitraum […]

要再次显示网页,Web浏览器需要重新发送信息

当我用户Window.Location.reload(true)我收到每个请求的弹出消息。 任何机构都可以建议我如何解决这个问题吗? 要再次显示网页,Web浏览器需要重新发送信息