小编use*_*293的帖子

C#将对象写入二进制文件

我必须将对象写入二进制文件.我的结构看起来像这样.

   Struct Company
    {
       int numberofemployees
       list of Struct Employee.
    }

    Struct Employee
    {
       string EmployeeName;
       string Designation;
    }
Run Code Online (Sandbox Code Playgroud)

进行上述操作的最佳方法是什么?问候Raju

.net c#

7
推荐指数
3
解决办法
2万
查看次数

.NET线程同步

我打算使用自动重置事件句柄进行线程间通信.

EventWaitHandle handle = new EventWaitHandle(false, EventResetMode.AutoReset); 
Run Code Online (Sandbox Code Playgroud)

我的生产者线程代码如下所示

produceSomething(); 
handle.Set();
Run Code Online (Sandbox Code Playgroud)

在消费者线程中,我必须每隔一分钟或当生产者被称为Set方法时下载数据

try 
{ 
    while(true) 
    { 
        handle.WaitOne(60000, false); 
        doSomething();  // Downloads data from Internet.
                        // Takes lot of time to complete it.
    } 
} 
catch(ThreadAbortException) 
{ 
    cleanup(); 
} 
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果消费者线程正在运行doSomething函数和生成器调用设置函数,那么自动重置事件对象的状态是什么?

我的要求是,一旦生成器调用设置方法,我必须从Internet下载新数据.如果doSomething函数正在运行,当Producer调用set方法时,我必须打断它并再次调用.

.net c#

6
推荐指数
1
解决办法
509
查看次数

检测Windows错误/弹出窗口

我的应用程序未涵盖所有异常情况.在运行时,有时会弹出一个窗口,显示ex:"System Null reference exception"或"文件或目录已损坏且无法读取"的错误.一旦出现错误窗口,它就不会消失,直到用户用按钮响应.

我想捕获这些异常,并且不希望向用户显示这些错误窗口.

.net c# exception-handling

6
推荐指数
1
解决办法
1210
查看次数

c#通过程序在启动时添加应用程序

想要在Windows->所有程序 - > StartUp到c#程序下添加/删除应用程序.

将欣赏上述代码/方向.

问候Raju

c#

5
推荐指数
1
解决办法
2606
查看次数

c#usb检测

我们在当前的应用程序中有几个进程.一个过程处理USB加载程序的检测和删除.处理检测和删除的代码如下.

protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
                case Win32.WM_DEVICECHANGE: OnDeviceChange(ref m);
                    break;
            }
            base.WndProc(ref m);
        }

private void OnDeviceChange(ref Message msg)
        {
            int wParam = (int)msg.WParam;
            Win32.DEV_BROADCAST_VOLUME dbVol = new Win32.DEV_BROADCAST_VOLUME();
            Win32.DEV_BROADCAST_HDR msgDevHeader = new Win32.DEV_BROADCAST_HDR();
            const int DBT_DEVTYP_VOLUME = 0x00000002;
            string loaderUpdates;

            switch (wParam)
            {
                case Win32.DBT_DEVICEARRIVAL:
                    int devType = Marshal.ReadInt32(msg.LParam, 4);

                    if (devType == DBT_DEVTYP_VOLUME)
                    {
                    }
                    break;

                case Win32.DBT_DEVICEREMOVECOMPLETE:

                                     break;
            }
        }
Run Code Online (Sandbox Code Playgroud)

当我在visual studio环境中运行以调试模式处理USB加载程序的过程时,它会正确检测USB.但我仍然会收到多条消息.接收wparam值为"7"3次的消息,然后接收wparam值为"32768(0x8000/DBT_DEVICEARRIVAL)".这是正常的吗?

当我运行所有其他进程以及检测USB的进程时,似乎始终是仅接收到wparam值为"7"的消息.用wparam作为"7"5次接收meesage.没有wparam值为"(0x8000/DBT_DEVICEARRIVAL)"的消息.可能是什么问题呢?

感谢任何输入/解决方案.

问候Raju

.net c# usb

5
推荐指数
1
解决办法
4733
查看次数

WPF文本块灰色文本

我想在WPF文本块中灰显文本.我怎么做到的?

问候Raju

wpf textblock

4
推荐指数
4
解决办法
1万
查看次数

C#检测哪个显卡驱动视频

我的C#应用​​程序位于具有Intel主板和图形芯片组的嵌入式盒子上.ATI显卡放在PCI Express上.通常显卡驱动视频,但如果ATI卡出现故障,则视频会从图形芯片组中传出.

我必须检测ATI显卡的故障以进行诊断.

有关如何执行此操作的任何想法/示例代码.

在此先感谢Raju

.net c#

4
推荐指数
2
解决办法
2万
查看次数

wpf阿拉伯语文本无法正确显示

我想从右到左显示一些阿拉伯文字.所以我将流向设置为RightToLeft.以下是我的计划:

<Grid x:Name="LayoutRoot" HorizontalAlignment="Left" VerticalAlignment="Top" >
    <TextBlock Margin="104,96,0,0" VerticalAlignment="Top" Height="Auto" Text="(??? ??????? ???????? 1 (?????? 12 ????"  HorizontalAlignment="Left" FontSize="20" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

输出似乎不正确.紧密括号出现在不同的位置.输出结果为وقتالقاعدةالرئيسية1(بتوقيت12ساعة)

请提出建议/解决方案.

c# wpf

3
推荐指数
1
解决办法
2226
查看次数

C#串口数据丢失

我编写了一个 C# 程序来接收 COM2 端口上的数据。波特率设置为115200。发送方以115200bps 的速率发送数据。我的程序偶尔会丢失几个字节。我正在调用方法从 com 端口循环ReadByte读取数据。while(true)

我有几个问题:

  • 当波特率设置为高时,我是否会丢失数据?如果是,为什么?
  • 我将读取缓冲区大小设置为 100*1024*1024。这是否将串行驱动程序缓冲区大小设置为 100*1024*1024?

关于如何调试这个问题有什么想法吗?

c# serial-port data-loss

1
推荐指数
1
解决办法
5409
查看次数

C#IO异常文件或目录已损坏且不可读

有时我的应用程序抛出一个异常,说文件已损坏或不可恢复.基本上这个文件是一个日志文件.我的应用程序将事件和一些数据写入日志文件.

我的应用程序被放置在运行Windows XP操作系统的嵌入式盒子中.关闭应用程序的唯一方法是关闭嵌入盒子的电源.由于Windows没有正常关闭,因此文件有时会损坏(这就是我的想法).

我使用英特尔SSD作为驱动器.我已在磁盘上启用写入缓存.这会导致文件损坏吗?

如果我捕获异常,那么我可以使用c#文件函数(file.delete)删除此文件吗?

问候

.net c#

0
推荐指数
1
解决办法
3564
查看次数

如何在C#中将二进制数组写入文件?

我必须将下面的二进制数组写入文件:

byte[] data = new byte[] { 0x55, 0xAA, 0x02};
Run Code Online (Sandbox Code Playgroud)

我想将确切的数据放入文件(55,AA,02).请让我知道怎么做.

.net c# arrays file-io

-3
推荐指数
1
解决办法
3593
查看次数

标签 统计

c# ×10

.net ×7

wpf ×2

arrays ×1

data-loss ×1

exception-handling ×1

file-io ×1

serial-port ×1

textblock ×1

usb ×1