Как я могу защитить процесс, который я запускаю из моей программы vb.net? - PullRequest
0 голосов
/ 18 ноября 2010

Я создал небольшое приложение, которое в основном читает и пишет в один процесс Excel.exe.Это в основном таймер, который записывает время, которое я использую в проектах, а затем сохраняю его в листе Excel.Это прекрасно работает, однако, я заметил, что если я открою Excel вручную, поработаю над некоторыми листами и так далее, сохраню и выйду из etcetc, процесс, в котором используется мое программное обеспечение, прерывается или что-то в этом роде.То же самое происходит, если я вручную закрываю процесс excel.exe и мое программное обеспечение не «знает».

Так мне было интересно, можно ли как-нибудь защитить процесс excel.exe?Чтобы убедиться, что он не может быть закрыт или подделан?

Ответы [ 3 ]

1 голос
/ 18 ноября 2010

Позвольте мне предложить альтернативный подход, который не требует, чтобы процесс Excel работал постоянно (в конце концов, это также потребляет много системных ресурсов):

Пусть ваше приложение запишет вашу информацию. Время от времени - например, после того, как рабочая запись была закончена или прошло определенное время - откройте лист Excel, запишите данные и закройте его снова (также закрывая процесс Excel, который вы автоматизируете). Эта операция сохранения не должна занимать более нескольких секунд, и она (в основном) предотвратит возникшую проблему.

На самом деле, поскольку автоматизация Office всегда немного болезненна, еще лучшим способом было бы выводить ваши данные, не требуя процесса Excel. Для этого вы можете использовать

0 голосов
/ 20 ноября 2010

Добавить обработчик исключений. Либо, если возможно, вызывайте не-бросающие методы.

0 голосов
/ 18 ноября 2010

Вы не можете защитить процесс, но вы можете проверить свойство process.HasExited, чтобы узнать, завершился ли процесс, и предпринять действия на его основе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...