小编Har*_*ton的帖子

如何在 C# 中执行 cmd,然后在同一窗口中执行后面的另一个命令?

我想要完成的是一个基本上一键设置活动分区的程序,节省了使用 cmd 提示符等的时间和技巧。

我已经研究了 System.Management 名称空间,但无法弄清楚如何使用它:(

所以我求助于使用 CMD,我有一个用 C# 编写的模块应用程序,基本上我想运行“DISKPART”,然后在 cmd 窗口中启动 diskpart,然后我想要求它“选择磁盘 0”,然后是“选择分区 1”最后跟随“活动”。

自己在 CMD 中执行此操作效果很好,但事实证明对于应用程序来说很尴尬:( 我设法让它做的是在一个窗口中使用 Process.Start 很好地运行 DiskPart,然后让它打开一个新窗口并运行下一个窗口一段代码,但因为新窗口没有运行 diskpart cmd,所以它不起作用 >:(

有什么建议么?

谢谢!

c# cmd process

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

使用python解析CSV文件(稍后制作决策树)

首先,完全披露:这是一个 uni 分配,所以我不想收到代码。:)。我更在寻找方法;我对 python陌生,读过一本书但还没有写任何代码。

整个任务是导入 CSV 文件的内容,根据 CSV 文件的内容创建决策树(使用ID3 算法),然后解析第二个 CSV 文件以针对该树运行。有一个很大的(可以理解的)偏好让它能够处理不同的 CSV 文件(我问我们是否被允许对列名进行硬编码,主要是为了消除它的可能性,答案是否定的)。

CSV 文件采用相当标准的格式;标题行用# 标记,然后显示列名,之后的每一行都是一系列简单的值。例子:

# Column1, Column2, Column3, Column4
Value01, Value02, Value03, Value04
Value11, Value12, Value13, Value14
Run Code Online (Sandbox Code Playgroud)

目前,我正在尝试解决第一部分:解析 CSV。要为决策树做出决策,字典结构似乎是最合乎逻辑的;所以我想沿着这些方向做一些事情:

Read in each line, character by character
If the character is not a comma or a space
    Append character to temporary string
If the character is a comma
    Append the temporary string to a list
    Empty string
Once a line has been read
    Create …
Run Code Online (Sandbox Code Playgroud)

python csv decision-tree

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

C#靠近托盘(如msn messenger)

我有#.net应用程序.所以我创建了一个位于托盘中的notifyIcon.我想要做的是当用户点击表单上的"x"按钮时,我希望它靠近托盘.他们应该只能使用托盘图标中的上下文菜单退出程序.

所以我所做的是,在表单关闭事件中,我检查表单是否可见.如果它的可见的,我把它设置为不可见,并设置showInTaskbar为假(模拟最小化到托盘),如果表单是不可见已经,那么他们可能从托盘关闭,所以我将退出在这种情况下的程序.

不过,我的问题是,如果窗口是可见的,但他们右键单击托盘图标,并创下出口的上下文菜单上,我需要退出程序,而不是减少.

我该如何解决这个问题?

c# minimize tray

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

单元测试后无法删除数据库

答案:我没有清理我的ConnectionPools.

解决的方案是:

建立:

  1. 检查本地实例上是否存在"TEMP_NUnit"数据库(SQL Server 2005)
  2. 如果存在,请将其丢弃.
  3. 创建一个名为"TEMP_NUnit"的新空白数据库.

测试:

  1. 实例化"升级数据库"组件.
  2. 检查组件的基本属性是否正确默认.
  3. 将组件指向空白数据库并调用.Upgrade()
  4. 检查升级是否真的有效

拆除:

  1. SqlConnection.ClearAllPools();
  2. 删除'TEMP_NUnit'数据库.

原始问题在首页.


大家好

测试场景是:

建立:

  1. 检查本地实例上是否存在"TEMP_NUnit"数据库(SQL Server 2005)
  2. 如果存在,请将其丢弃.
  3. 创建一个名为"TEMP_NUnit"的新空白数据库.

测试:

  1. 实例化"升级数据库"组件.
  2. 检查组件的基本属性是否正确默认.
  3. 将组件指向空白数据库并调用.Upgrade()
  4. 检查升级是否真的有效

拆除:

  1. 删除'TEMP_NUnit'数据库.

一切都很顺利,直到我进入TearDown阶段.我总是得到以下错误:

无法删除数据库"TEMP_NUnit",因为它当前正在使用中.

这让我感到困惑,因为我正在关闭(在finally语句中显式调用conn.Close)并正确地处理(通过using语句)我的所有DbConnection对象.在TearDown到来之前,"TEMP_NUnit"数据库中不应该有任何运行.

如果我关闭NUnit然后重新打开它,SetUp的第2步总是先行.

我不确定我在这里做错了什么.任何指向正确的方向将不胜感激.

database connection nunit

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

在C中关闭侦听TCP套接字

假设您有一个侦听TCP端口的套接字,并且某些客户端已连接.当在C中发出sock_close(fd)并尝试在同一端口再次绑定时,绑定失败.在"netstat -plutnoa"上可以看到一些TIME_WAIT状态,例如:

tcp        0      0 127.0.0.1:4567          127.0.0.1:32977         TIME_WAIT   -                timewait (17.12/0/0)
Run Code Online (Sandbox Code Playgroud)

那么如何才能正确断开服务器套接字并立即在同一端口重新连接?

sockets linux timeout tcp

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

算法的大O表示法

我无法解决问题; 有人能帮我吗?

以下声明的Big O表示法是什么: -

for (int i=2;i<=n;i=i*4)
    sum++;
Run Code Online (Sandbox Code Playgroud)

c++ big-o

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

如何阻止用户关闭我的C#应用​​程序?

如何在C#中使用unclosed应用程序?我想禁用表单的"X"按钮,并阻止Windows任务管理器关闭它.

我知道阻止表单关闭的一种方法是处理FormClosing事件,但是如何阻止任务管理器关闭它?

.net c# winforms formclosing

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

是否可以在C#中在运行时创建/执行代码?

我知道您可以使用Emit,System.Reflection和手动创建的IL代码动态创建.NET程序集,如下所示.

但我想知道是否有可能在正在运行的应用程序中实时动态创建和执行C#代码块.感谢您的任何意见或建议.

编辑: 据我所知,CodeDOM允许您将C#代码编译为EXE文件,而不是"只是"执行它.这里有一些背景信息以及为什么(据我所知)这对我来说不是最好的选择.我正在创建一个应用程序,必须执行这么多动态创建的代码[用于记录 - 它用于学术研究,而不是真实世界的应用程序,因此无法避免].因此,创建/执行数千个动态创建的EXE并不是非常有效.其次 - 所有动态代码片段都会返回一些难以从单独运行的EXE中读取的数据.如果我遗失了什么,请告诉我.

至于Jon Skeet指出的DynamicMethod方法,如果有一种更简单的方法来编写代码本身而不是低级IL代码,那么一切都会像魅力一样.

换句话说(非常严厉地说)我需要这样的东西:

string x = "_some c# code here_";
var result = Exec(x);
Run Code Online (Sandbox Code Playgroud)

.net c# runtime

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

启动新进程时绕过高程

好的,这是我的问题:我正在尝试启动第三方应用程序.该应用程序显然被配置为需要提升,可能是通过嵌入式清单.我的程序在非管理用户的上下文中运行,我希望第三方应用程序在相同的上下文中运行.

当我调用CreateProcess时,它返回错误代码740,"请求的操作需要提升."

我已经尝试了CREATE_PRESERVE_CODE_AUTHZ_LEVEL标志,这听起来很相关,但没有任何区别.

第三方应用程序在没有管理员权限的情况下工作,例如,如果我禁用UAC然后以非管理员身份运行它.

提前感谢您提供的任何提示/想法.

windows uac windows-7

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

在批处理脚本中打开新的CMD窗口

我发誓这个任务将是我的结束,我一直在研究这个新问题,并在一天的大部分时间里陷入困境.问题如下:我们的任务是找到一个命令,打开一个新的cmd窗口并改变颜色(前景和背景)和提示.讲师指定使用'cmd'命令但是:我找不到开关(如果这是正确的术语)或要使用的参数.我确实发现 -

START COLOR A4
Run Code Online (Sandbox Code Playgroud)

做了正确的事情,但这是使用不正确的命令,并在尝试添加第二个参数时:

START COLOR A4 PROMPT $V
Run Code Online (Sandbox Code Playgroud)

它无法正常工作.这可能部分是由于我对分隔符的使用缺乏了解以及如何将多个参数发送到命令.

在此先感谢您的帮助.JohnW.

windows batch-file

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