小编luk*_*kew的帖子

通过C#弹出USB设备

我正在寻找一种通过C#-code弹出USB设备的简短方法,所以我自己编写了一个小类,但它根本不起作用.因为没有弹出窗口说"锁定成功!" 我认为问题依赖于"LockVolume"函数,但我不知道在哪里.

有人看到我犯的错误吗?

class USBEject
{
    [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern IntPtr CreateFile(
         string lpFileName,
         uint dwDesiredAccess,
         uint dwShareMode,
         IntPtr SecurityAttributes,
         uint dwCreationDisposition,
         uint dwFlagsAndAttributes,
         IntPtr hTemplateFile
    );

    [DllImport("kernel32.dll", ExactSpelling = true, SetLastError = true, CharSet = CharSet.Auto)]
    private static extern bool DeviceIoControl(
        IntPtr hDevice, 
        uint dwIoControlCode,
        IntPtr lpInBuffer, 
        uint nInBufferSize,
        IntPtr lpOutBuffer, 
        uint nOutBufferSize,
        out uint lpBytesReturned, 
        IntPtr lpOverlapped
    );

    [DllImport("kernel32.dll", ExactSpelling = true, SetLastError = true, CharSet = CharSet.Auto)]
    private static extern bool …
Run Code Online (Sandbox Code Playgroud)

c# usb

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

KeyDown事件未被触发

我有一个表格,要求用户Q按键3次.当他这样做时,表格将消失(这就是为什么我使用无边框形式来防止击中X-Button).表单本身不是模态的.

这是我用来处理KeyDown事件的代码:

private void ConfirmForm_KeyDown_1(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Q)
    {
        if (++count == 3)
            this.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我不想在任务栏中为此表单添加额外的项目,因此我将ShowInTaskbar属性设置为false.问题是,KeyDown当表单没有显示在任务栏中时,事件不再被触发 - 当它完成时,everthing工作得很好.

有谁知道如何修复这个bug?

c# events taskbar keydown

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

使用PHP的Websocket服务器

我目前正在开发一个PHP应用程序,它将使用websockets进行客户端 - 服务器通信.我曾多次听说PHP不应该用于服务器应用程序,因为缺少线程机制,内存管理(循环引用)或unhandy套接字库.

到目前为止,一切都运作良好.我使用phpws作为websocket库和Doctrine DBAL来访问不同的数据库系统; PHP是版本5.3.8.服务器最多应该服务30个客户端.然而,特别是在最后几天,我读过几篇文章,说明PHP对于长期运行的应用程序的无效性.

现在我不知道是否应继续使用带有PHP的websockets或重建整个服务器端应用程序.我用Socket.IO尝试过Python,虽然我没有得到我预期的结果.

我想我有以下选择:

  • 保持一切不变.
  • 使应用程序将Ajax与Socket.IO结合使用 - 例如,运行一个服务器端脚本,在将数据提交给服务器时调用客户端的ajax调用.

最后一点听起来很有意思,虽然它需要一些工作..服务器一次执行所有客户端请求会有问题吗?

你会推荐什么?PHP的内存管理问题(我每次客户端向服务器发送数据时都使用gc_collect)仍然有效吗?除了使用PHP作为服务器的明显原因(没有线程,......)之外还有其他原因吗?

php ajax websocket socket.io

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

标签 统计

c# ×2

ajax ×1

events ×1

keydown ×1

php ×1

socket.io ×1

taskbar ×1

usb ×1

websocket ×1