waleed_akre Ответов: 1

Я хочу процесс печати без витрины


 make_print();
            using (Process p = new Process())
            {
                string systemPath = Environment.GetFolderPath(Environment.SpecialFolder.System);
                p.StartInfo.FileName = systemPath + @"\rundll32.exe";
                p.StartInfo.Arguments = systemPath + @"\mshtml.dll,PrintHTML """ + @"D:\Program\Report\" + test.ToString() + @".html" + @"""";
                p.Start();
                p.Close();
                p.Dispose();

What I have tried:

<pre> make_print();
            using (Process p = new Process())
            {
                string systemPath = Environment.GetFolderPath(Environment.SpecialFolder.System);
                p.StartInfo.FileName = systemPath + @"\rundll32.exe";
                p.StartInfo.Arguments = systemPath + @"\mshtml.dll,PrintHTML """ + @"D:\Program\Report\" + test.ToString() + @".html" + @"""";
                p.Start();
                p.Close();
                p.Dispose();
            }

1 Ответов

Рейтинг:
0

OriginalGriff

Попробуй:

p.StartInfo.CreateNoWindow = true;
Но вам, вероятно, следует подождать, пока он выйдет, прежде чем вы закроете его и избавитесь от него:
p.Start();
p.WaitForExit();
Вам не нужно вручную закрывать или утилизировать свои процессы, using блок делает это за вас.


waleed_akre

мне очень жаль но неправильный ответ на мой код Пожалуйста помогите мне не ок

OriginalGriff

В каком смысле? Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы...

RickZeeland

Вам также нужно: p. StartInfo. UseShellExecute = false;

waleed_akre

Спасибо мой учитель