相关疑难解决方法(0)

PHP 类到 C# 类?

我在一家使用 C# 制作应用程序的公司工作。最近,一位客户要求我们重建一个用 PHP 编写的应用程序。该应用程序从车载盒子接收 GPS 数据,并将其处理成可用的信息。

GPS 设备的制造商有一个 PHP 类,可以解析接收到的信息并提取坐标。我们正在考虑将 PHP 类重写为 C# 类,以便我们可以使用它并对其进行调整。来了,在制造商的网站上有一行文字让我毛骨悚然:

“传输数据的编码格式和内容会不断变化。这是由于新模块固件版本实现了附加功能而导致的,这使得您几乎不可能对其进行记录并自行正确解码。”

所以我现在正在寻找一个选项来使用“不断变化的”PHP 类并在 C# 中访问它。有些东西链接了一个外壳,只暴露了我需要的一些功能。但我不知道该怎么做。任何人都可以帮我找到解决方案吗?

php c#

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

如何使用c#轻松运行shell命令?

如何使用 C# 运行命令提示符命令?假设我想按顺序运行这些命令:

cd F:/File/File2/...FileX/
ipconfig
ping google.com
Run Code Online (Sandbox Code Playgroud)

或类似的东西......有人可以做这个方法:

void runCommands(String[] commands) 
{
    //method guts...
}
Run Code Online (Sandbox Code Playgroud)

这样您的输入是一系列字符串命令(即[“ipconfig”,“ping 192.168.192.168”,“ping google.com”,“nslookup facebook.com”),应在特定的单个命令提示符下执行它们放入数组的顺序。谢谢。

c# command-line command-line-arguments

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

如何在 C# 中执行 Go 函数

有没有办法从 C# 执行 Go 函数?例如,对于 Python,我会使用 Ironpython。

我知道我可以生成一个进程来执行 Go 脚本,但如果可能的话,我真的不想回退到这样的解决方案。

谷歌搜索没有显示任何内容,那么有没有办法使用 API 来做到这一点?还是我必须回退流程?

c# go

5
推荐指数
2
解决办法
7710
查看次数

将cmd中的数据写入内存而不是文件,用C#捕获

对于C#项目,我正在尝试使用ffmpeg从视频文件中提取.wav文件(在Windows中).您可以通过在命令行上运行它来执行此操作:"ffmpeg -i inputvid.avi +'extra parameters'+ extracted.wav".这显然会将输入.avi文件中的音频提取到指定的.wav文件中.

现在,我可以在C#中轻松运行此命令,以便创建所需的.wav文件.但是,我不需要这个wav文件留在硬盘上.出于性能原因,如果ffmpeg可以暂时将此文件保存到内存中,那将会好得多,这可以在我的C#程序中使用.执行我的程序后,不再需要.wav文件.

所以实际问题是:我可以将输出文件从程序重定向到内存吗?如果这是可能的,我怎么能在C#中读到这个?

我知道这是一个很长的镜头我很怀疑它是否可能,但我总是可以问......

提前致谢.

c# memory command-line ffmpeg

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

如何创建一个watcherprocess来检测可移动的USB设备?

我构建了一个小脚本,用于检查具有给定名称的USB Stick是否已插入计算机,但现在我想围绕此脚本构建一个服务,以观察Stick是否插入.起初我尝试用filewatcher执行此操作并在Stick上创建一个文件,但是如果从PC上取下棒并重新插入filewatcher dosent意识到它.以下脚本检查Stick是否插入,但我需要一个脚本来循环此DriveInfo.GetDrive函数.我不知道最好的方法是在这个函数周围建立一个10秒的定时器循环,或者.NET Framework中是否有可移动设备的观察者类.脚本来了:

public static void Main()
{
    Run();
}

public static void Run()
{                     
    var drives = DriveInfo.GetDrives()
        .Where(drive => drive.IsReady && drive.DriveType == DriveType.Removable);
    if (drives.Count() > 0)
    {
        foreach (var drive in drives)
        {
           if (drive.VolumeLabel == "TESTLABEL") Console.WriteLine("USB Stick is plugged in");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# winapi

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

从ASP.NET页启动/停止窗口服务

有没有一种方法可以启动/停止其他网络中服务器的Windows服务

(不是\\<server name>)来自asp.net页面?

我尝试使用ServiceController,但只有在同一网络中才可以使用。

asp.net security impersonation windows-services

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

C#执行外部程序并捕获(流)输出

我正在制作一个程序来处理一些视频文件.

我正在使用ffmpeg可执行文件将多个文件合并到一个文件中.此命令需要几分钟才能完成,因此,我需要一种方法来"监视"输出,并在GUI上显示进度条.

查看以下stackoverflow主题:

我做了这个代码:

Process ffmpeg = new Process
{
  StartInfo = 
  {
    FileName = @"d:\tmp\ffmpeg.exe",
    Arguments = "-f concat -safe 0 -i __sync.txt -c copy output.mp4",
    UseShellExecute = false,
    RedirectStandardOutput = true,
    CreateNoWindow = true,
    WorkingDirectory = @"d:\tmp"
  }
}

ffmpeg.EnableRaisingEvents = true;
ffmpeg.OutputDataReceived += (s, e) => Debug.WriteLine(e.Data);
ffmpeg.ErrorDataReceived += (s, e) => Debug.WriteLine($@"Error: {e.Data}");
ffmpeg.Start();
ffmpeg.BeginOutputReadLine();
ffmpeg.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,ffmpeg开始合并文件,我可以在Windows任务管理器上看到ffmpeg进程,如果我等待足够长时间,ffmpeg完成作业没有任何错误.但是,Debug.WriteLine(e.Data)永远不会调用它(Debug窗口上没有输出).试图改为Console.WriteLine(再次,没有输出).

那么,在此之后,我尝试了另一个版本:

Process ffmpeg = new Process
{
  StartInfo = 
  {
    FileName …
Run Code Online (Sandbox Code Playgroud)

c# ffmpeg

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

从C sharp代码执行Jar文件并获取返回值

我只想从C sharp代码执行Jar文件并从jar获取返回值.可能吗?

如果是这样,请给我示例代码.

我试过跟随的事情,

            string path = "C:\\Documents and Settings\\Desktop";
            Process process = new Process();
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
            process.StartInfo.CreateNoWindow = false;
            process.StartInfo.FileName = "C:\\Program Files\\Java\\jre6\\bin\\java.exe";
            process.StartInfo.Arguments = "-jar \"" + path + "\\simple.jar\"";
            process.Start();
            String s = process.StandardOutput.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

这里simple.jar有一个主要的方法,它将采用争论并在控制台中打印传递的arguemnets,否则它在控制台中不打印任何争论.我试过上面的代码(String s = process.StandardOutput.ReadToEnd();)能够读取控制台值.

但是我想通过在jar中传递值来执行一个方法,并且方法会返回我的hashmap(集合)值(我不知道它是否可能).请给我一些建议.

c# java

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

如何执行命令并获取其输出

这几天我学习了一些关于 ASP 的知识。我想将此 PHP 代码行转换为 ASP,但我有点坚持:

$online = exec('netstat -a -n |find "5816" |find "ESTABLISHED" /c') +1;
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个变量来存储数据,但无法弄清楚如何检查端口 5816 并计算连接数。感谢帮助!

它基本上应该是在 cmd 中运行的命令来检查端口和否。由它建立的连接!

php c# asp.net asp.net-mvc visual-studio

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

在c ++中是否有任何函数像'int system("cmd")'<stdlib.h>在cmd提示符中执行命令?

我是c#programing的新手.我想在c#中使用c ++的int system("command string")这样的函数.

例如:我们可以使用system("winrm") in c++"winrm"命令的函数在命令提示符下执行命令.system()functon在stdlib.h头文件中.我想知道c#中是否有这种功能.如果有,请告诉我.或者我可以在c#中使用相同的system()方法吗?如果是,那么告诉我如何使用?谢谢 !!

.net c#

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

在没有窗口的情况下从C#运行命令行并获取输出

我正在尝试从C#运行命令行脚本。我希望它在没有外壳的情况下运行并将输出放入我的字符串输出中。它不喜欢p.StartInfo行。我究竟做错了什么?我没有运行p.StartInfo.FileName =“ YOURBATCHFILE.bat”之类的文件,如How To:在C#中执行命令行,获取STD OUT结果。我需要设置“ CMD.exe”和命令行字符串。我已经尝试过p.Start(“ CMD.exe”,strCmdText); 但这给了我错误:“无法使用实例引用访问Memer'System.Diagnostics.Process.Start(string,string)';而应使用类型名称对其进行限定。”

    string ipAddress;
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardOutput = true;
    string strCmdText;
    strCmdText = "tracert -d " + ipAdress;
    p.StartInfo("CMD.exe", strCmdText);
    string output = p.StandardOutput.ReadToEnd();
    p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

c# cmd

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