C#等价物

时间:2011-08-11 11:58:39

标签: c#

我正在尝试关闭程序:HHTCntrl.exe,好像用户单击该程序上的退出一样。我有以下Borland C ++代码。什么是C#等价物?

FILE *sf;
AnsiString ClosePollControl = AnsiString("HHT")+cbHHTNo->Text+AnsiString(".cls");
sf = fopen(ClosePollControl.c_str(),"w");
fclose(sf);

3 个答案:

答案 0 :(得分:2)

您正在打开文件进行写作。假设cbHHTNo是包含文件名的string,在C#中它将是这样的:

var path = "HHT" + cbHHTNo + ".cls";
using (var file = File.OpenWrite(path))
{
    // do sth with the open file stream here
}

答案 1 :(得分:0)

嗯,实际上非常简单。

C#中没有AnsiString的概念,因此您必须使用string

string ClosePollControl = "HHT" + cbHHTNo->Text + ".cls";
// Open the stream and write to it.
using (FileStream fs = File.OpenWrite(ClosePollControl)) 
{

}

这假设您有一些用户级别控制cbHHTNo,表示您获得了Text(例如string)。

答案 2 :(得分:0)

如果您尝试关闭该进程,请使用System.Diagnostics.Process类。例如,

Process process = Process.GetProcessesByName("HHTCntrl.exe").FirstOrDefault();

if (process != null)
{
     process.Kill(); // to immediatelly kill the process or use process.CloseMainWindow() to gracefully "kill" the process
}

如果要关闭活动表单,请使用Close()方法。