normalnie w konsoli wpisuje się:
copy żródło cel
np. copy plik.txt COM1
Jak zapisać to w C#, jako zdarzenie po wciśnięciu jakiegoś buttona.
normalnie w konsoli wpisuje się:
copy żródło cel
np. copy plik.txt COM1
Jak zapisać to w C#, jako zdarzenie po wciśnięciu jakiegoś buttona.
Wyczytałem gdzieś, że aby wysłać coś np na COM1 trzeba potraktować go jak zwykły plik i normalnie zapisać w nim jakieś dane.
Mam coś takiego:
using System.IO;
FileStream fout;
private void button1_Click(object sender, System.EventArgs e)
{
try
{
fout = new FileStream("COM1",FileMode.OpenOrCreate);
}
catch(FileNotFoundException exc)
{
MessageBox.Show("Błąd pliku","Błąd",MessageBoxButtons.OK
, MessageBoxIcon.Error);
}
string str = textBox1.Text;
StreamWriter fstr_out = new StreamWriter(fout);
try
{
fstr_out.Write(str);
}
catch(IOException exc)
{
MessageBox.Show("Błąd pliku","Błąd",MessageBoxButtons.OK
, MessageBoxIcon.Error);
}
fstr_out.Close();
}
ale mam błąd następującej treści:
"An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll
Additional information: FileStream will not open Win32 devices such as disk partitions and tape drives. Don't use "\." in your path."
może ktoś wie jak to zrobić??
private void port(string info)
{ //----------------ustawienia portu
_serialPort = new SerialPort();
_serialPort.PortName = "COM1";
_serialPort.BaudRate = 9600;
_serialPort.Parity = Parity.None;
_serialPort.DataBits = 8;
_serialPort.StopBits = StopBits.One;
_serialPort.Handshake = Handshake.None;
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.Open(); //otwarcie portu
_continue = true;
_serialPort.WriteLine(String.Format(info)); //wyslanie na port
_serialPort.Close(); // zamkniecie portu
}