小编Che*_*tah的帖子

如何禁用系统设备?

有没有办法从C#.NET禁用系统设备.

当您转到设备管理器并以此方式禁用设备时,基本上是模拟的吗?

我假设有一个我可以调用的WinAPI函数,但我不知道它是哪一个?

我需要这样做的原因是我需要在再次启用设备后禁用并直接启用.

我需要在Windows XP和Vista(x86和x64)中工作.我看了一下名为"DevCon"的东西,但它似乎不适用于Vista x64.

谢谢.

有关答案,请参阅此处:如何以编程方式禁用系统设备?

.net c# operating-system device

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

用于时区偏移的java.time DateTimeFormatter模式

我正在尝试解析:2014-05-02-10.45.05.993280-5:00-5:00是与UTC的偏移量.DateTimeFormatter在Java 8中使用java.time .

对于第一位,我有以下内容:yyyy-MM-dd-HH.mm.ss.SSSSSS但是,我无法弄清楚解析偏移量的模式应该是什么.

如果我有4位数(-05:00)的偏移量,我可以使用:yyyy-MM-dd-HH.mm.ss.SSSSSSxxx,但这不适用于3位数.

有任何想法吗?

java parsing date formatter java-time

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

C - fork()和共享内存

我需要我的父进程和子进程能够读取和写入相同的变量(类型为int),因此它在两个进程之间是"全局的".

我假设这会使用某种跨进程通信,并且在一个进程上有一个变量正在更新.

我做了一个快速谷歌和IPC和各种技术出现,但我不知道哪个是最适合我的情况.

那么什么技术是最好的,你可以提供一个链接到它的noobs教程.

谢谢.

c fork ipc shared-memory

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

如何以编程方式禁用系统设备?

我正在寻找在C#.NET中禁用系统设备(USB或内部)的方法,给定PID和VID或设备名称.

搜索后,我在CodeProject上找到了C#的硬件助手库.

但我需要能够在XP,Vista和Windows 7(x86和x64操作系统)上运行的东西...... 我链接的项目只适用于XP和Vista x86 ......即使在运行具有管理员权限的应用程序时也是如此.

有谁知道一个适用于所有操作系统的解决方案?

.net c# windows 64-bit device

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

如何避免在RX中使用Subjects

因此,我一直在阅读那些使用Subject<T>"不好"的内容 - 我赞同这种推理.

但是,我试图想出避免使用它的最佳方法并有一个例子.

目前,我有一个持久化配置类的抽象类,它上面有一个受保护的Save()方法,只要更改属性应该保持该类,就会调用该类.此消息将消息泵送到Subject<T>通过IObservable<T>接口公开的消息,该接口由序列化服务侦听并序列化该类.这似乎是当时实现这一目标的最明显,最简单,最快捷的方式.

那么在不使用主题的情况下,RX方式会是什么呢?我是否会公开一个事件并使用Observable.FromEventPattern()订阅它? - 因为这似乎是一种更复杂的方式.

c# subject system.reactive

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

添加log4net配置时出现异常

我在App.cs文件的第一行代码(创建一个只读变量)上收到错误.我得到的错误是:

PresentationFramework.dll中出现类型'System.TypeInitializationException'的第一次机会异常PresentationFramework.dll中出现未处理的类型'System.TypeInitializationException'异常附加信息:'System.Windows.Application'的类型初始化程序引发了异常.

这是我在VS中获得的消息弹出窗口:

PresentationFramework.dll中出现未处理的"System.TypeInitializationException"类型异常

附加信息:'System.Windows.Application'的类型初始化程序引发了异常.

我所做的唯一改变是将此添加到我的app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="ConsoleAppender" />
    </root>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

c# log4net log4net-configuration

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

异步运行进程并从stdout和stderr读取

我有一些代码运行一个进程,并从stdout和stderr异步读取,然后在进程完成时进行处理.它看起来像这样:

Process process = builder.start();

    Thread outThread = new Thread(() -> {
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
            // Read stream here
        } catch (Exception e) {
        }
    });

    Thread errThread = new Thread(() -> {
      try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {
        // Read stream here
      } catch (Exception e) {
      }
    });

    outThread.start();
    errThread.start();

    new Thread(() -> {
      int exitCode = -1;
      try {
        exitCode = process.waitFor();
        outThread.join();
        errThread.join();
      } catch (Exception e) {
      } …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

图论 - 基于力的自动布局算法

我想在开始实施之前检查一下我的理论.

常量:

  • m =顶点质量(全部相同 - 可能将其设置为节点半径)
  • k =恒定边力.
  • l ="能量最小状态"处的边缘长度.

变量:

  • d =两个顶点之间的距离.
  • cl =边缘的当前长度.

理论: 每个顶点在每个其他顶点都有一个排斥力,即:m / (d^2).对于每个边缘,它表现出一个力,两个顶点将它们"拖动"在方向上以使边缘达到"能量最小状态"; 所以每个顶点:-k * ((l - cl) / 2).

伪代码:

until energy minimal state
   for each vertex v1
      for each vertex v2
         if v1 != v2
            v1.velocity += m / square_distance (v1, v2)
         endif
      end
   end
   for each edge e
      e.v1.velocity += -k * (delta_min_energy_len (e) / 2)
      e.v2.velocity += -k * (delta_min_energy_len (e) / 2)
   end
   for each …
Run Code Online (Sandbox Code Playgroud)

algorithm layout graph-theory force-based-algorithm

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

如何在Java中实现优雅终止?

比如我说我的应用程序在Linux终端上运行,我按下键盘上的"CTRL + C"来终止它将终止Java程序的过程.

有没有办法在我的Java应用程序中捕获此"请求",以便我可以正常关闭它并释放所有资源/写入日志.如果它对响应产生影响,我会运行几个不同的线程.

我知道你有一个addShutDownHook,但是在Java文档中写的,在某些情况下不会调用它,比如linux中"CTRL + C"的kill信号......还有其他方法吗?

Runtime.getRuntime().addShutdownHook(new Thread()
{
    public void run ()
    {
        // TODO: implement graceful shutdown here.
    }
});
Run Code Online (Sandbox Code Playgroud)

java terminal termination

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

Spring集成网关"Dispatcher没有订阅者"

我得到了一个例外Dispatcher has no subscribers,outboundChannel无法弄清楚原因.我确信它很简单,我已将我的代码删除到下面的一个非常简单的示例:

我的背景是:

<bean id="requestService"
    class="com.sandpit.RequestService" />

<integration:channel id="inboundChannel" />

<integration:service-activator id="service"
    input-channel="inboundChannel"
    output-channel="outboundChannel"
    ref="requestService"
    method="handleRequest" />

<integration:channel id="outboundChannel" />

<integration:gateway id="gateway"
    service-interface="com.sandpit.Gateway"
    default-request-channel="inboundChannel"
    default-reply-channel="outboundChannel" />

<bean class="com.sandpit.GatewayTester">
    <property name="gateway"
        ref="gateway" />
</bean>
Run Code Online (Sandbox Code Playgroud)

我的Java代码是:

public interface Gateway {

    String receive();
    void send(String message);
}

public class RequestService {

    public String handleRequest(String request) {

        return "Request received: " + request;
    }
}

public class GatewayTester implements ApplicationListener<ContextRefreshedEvent> {

    private Gateway gateway;

    public void setGateway(Gateway gateway) …
Run Code Online (Sandbox Code Playgroud)

spring-integration

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