小编Ars*_*ray的帖子

防止子进程在c#中显示shell窗口

我正在使用ffmpeg编译视频,我想阻止它在执行操作时显示控制台.

这是我开始ffmpeg的方式:

ProcessStartInfo si = new ProcessStartInfo();
si.Arguments = string.Format("-y -loop 1 -t " + DucationToString(frameDuration) + " -r 25 -f image2 -i \"{0}\" \"{1}\"",
                             item.Value, otpt);
si.FileName = "ffmpeg";
si.UseShellExecute = false;

Process.Start(si).WaitForExit();
Run Code Online (Sandbox Code Playgroud)

无论我尝试的设置如何ProcessStartInfo,控制台总会出现.

如何在创建子进程时阻止显示控制台?

c# windows process processstartinfo

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

如何在java中加载和使用本机库?

我有一个java类,调用本机方法并尝试加载库:

import java.io.UnsupportedEncodingException;

public class Main {

    public static native String getMyString(String s);

    /**
     * @param args
     * @throws UnsupportedEncodingException
     */
    public static void main(String[] args) throws UnsupportedEncodingException {
        // TODO Auto-generated method stub
        // System.out.println("here!");

        String s2 = getMyString("string text");
        for (Byte b : s2.getBytes("UTF-8")) {
            System.out.print(b);
            System.out.print(",");
        }

    }

    static {
        System.loadLibrary("mylib.so");
    }

}
Run Code Online (Sandbox Code Playgroud)

"mylib.so"位于Main.class所在的目录中.

当我跑步时,java Main我得到以下异常:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no mylib.so in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        at Main.<clinit>(Main.java:24)
Run Code Online (Sandbox Code Playgroud)

我应该为此改变什么呢?

我试过设置库完整路径但没有成功

java native

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

如何在DataGridRow模板中覆盖AlternatingRowBackground?

我正在创建一个包含AlternatingRowBackground属性的DataGrid.但是,必须修改行中的数据,这需要一些时间.

我正在尝试使行的背景颜色在初始化时显示为浅灰色.这是我在RowTemplate中所做的事情:

<ControlTemplate.Triggers>
    <DataTrigger Binding="{Binding Initialized}" Value="False">
        <Setter Property="Background" Value="LightGray"/>
    </DataTrigger>
</ControlTemplate.Triggers>
Run Code Online (Sandbox Code Playgroud)

但这对于仍具有AlternatingRowBackground中指定颜色的奇数行不起作用.

如何覆盖这个,以便所有未初始化的行显示为浅灰色?

c# wpf xaml datagrid

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

TCP PSH如何工作?

PSH是一种通过TCP发送数据的方法.除此之外,我可以找到关于如何正确实现它的信息.

以下是我感兴趣的内容:

  1. 假设服务器窗口是8000字节,我发送2个150和600字节的请求.我是否收到某些确认数据已收到?我可以以某种方式触发确认吗?

  2. 我见过一些ACK数据包,它不包含PSH,但确实包含某种有效载荷数据(Wireshark将其标记为"TCP段数据").这些数据是否传递给用户,如果是,为什么我们需要PSH标志?

networking tcp tcp-ip

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

在c#中实现大规模并行应用程序的最佳方法

我正在研究一个网络绑定的应用程序,它应该有很多(数百个,可能是数千个)并行进程.

我正在寻找实现它的最佳方法.

当我尝试设置时

ThreadPool.SetMaxThreads(int.MaxValue, int.MaxValue);
Run Code Online (Sandbox Code Playgroud)

而且创建1000个线程并使这些线程并行执行,应用程序的执行变得非常激动.

我听说某个地方delegate.BeginInvoke有点好new Thread(...),所以我试过了,而不是在调试器中打开应用程序,我看到的是并行线程.

如果我必须创建大量的线程,那么确保应用程序顺利运行的最佳方法是什么?

.net c# multithreading

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

如何在c#中创建skype类的实例?

我正在努力利用SKYPE4COMLib.dll.

我已经过去引用了库(呵呵),现在我正在尝试创建一个skype实例:

Skype s=new SkypeClass();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

The type 'SKYPE4COMLib.SkypeClass' has no constructors defined
Run Code Online (Sandbox Code Playgroud)

Interop type 'SKYPE4COMLib.SkypeClass' cannot be embedded. Use the applicable interface instead.    
Run Code Online (Sandbox Code Playgroud)

我见过的样本都在VB中,他们使用

Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")
Run Code Online (Sandbox Code Playgroud)

我不知道如何翻译.

另外,我发现了以下问题,这似乎是相关的,但答案似乎并不适用于c#.

如何在c#中创建Skype课程?

c# com skype skype4com

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

如何告诉MapReduce使用多少个映射器?

我正在尝试加速优化MapReduce作业.

有什么办法可以告诉hadoop使用特定数量的mapper/reducer进程吗?或者,至少是最少数量的映射器进程?

在文档中,指定了您可以使用该方法执行此操作

public void setNumMapTasks(int n)
Run Code Online (Sandbox Code Playgroud)

JobConf类.

这种方式并没有过时,所以我开始使用Job类的Job.这样做的正确方法是什么?

java hadoop mapreduce

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

GLSurfaceView无法解析为某种类型

我正试图在android上开始使用opengl.

我发现的所有教程都假设GLSurfaceView可用.我正在尝试编译我的项目,我得到了

GLSurfaceView cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)

我假设这是因为一个丢失的罐子,但我找不到,哪个罐子必须包括在内.

有人能指点我吗?

android opengl-es

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

如何编辑jar内的代码?

可能的重复:
从 jar 文件更改类的代码

我从 .Net 那里得到了这个,那里有 Reflector 和 Reflexil,使我能够打开程序集并编辑其代码,而无需重新编译它。我做了一些研究,发现了 jd-gui,它可以让我查看 jar 内的 java 代码,但我找不到任何类似于 reflexil 的东西。

有没有什么软件可以让我修改 jar 而不必重新编译它们?

java reflector decompiling jar reflexil

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

为什么擦除其他字符时最后一个字符会加倍,如何防止?

我有以下代码:

auto rrr="my mixed string"s;
rrr.erase(std::remove_if(std::begin(rrr), std::end(rrr), [](char const c) { return c == 'm'; }));
std::cout<<rrr<<std::endl;
Run Code Online (Sandbox Code Playgroud)

输出是 y ixed stringg

我希望代码只删除m字符串中的每个,而是g在末尾添加了一个

为什么会发生这种情况,我该如何解决?

c++ stl

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