Закрыть ZennoPoster

  • Автор темы Автор темы Mandyson
  • Дата начала Дата начала

Mandyson

Client
Регистрация
03.06.2012
Сообщения
410
Реакции
84
Баллы
28
Хотел бы сделать тулзу, которая может отправлять сообщения процессу зенки о закрытии программы.
Путем гугления выявил код(простой вариант)
Код:
Развернуть Свернуть Копировать
Process myProcessmyProcess = Process.Start(@"C:\Program Files (x86)\ZennoLab\ZennoPoster Pro\Progs\ZennoPoster.exe");
            myProcess.CloseMainWindow();
и более сложный с поиском из списка уже запущенных
Код:
Развернуть Свернуть Копировать
const int SC_CLOSE = 0xF060;
const int WM_SYSCOMMAND = 0x0112;

[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);

[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName, string lpWindowName);

int iHandle = FindWindow(iHandle, "ZennoPoster Pro v5.9.3.1 by ZennoLab.com");
            if (iHandle > 0)
            {
                // close the window using API
                SendMessage(iHandle, WM_SYSCOMMAND, SC_CLOSE, 0);
            }

Всё в общем-то нормально, но проблема заключается в том, то когда хоть 1 поток остается не завершен в зенке она просит подтверждение на закрытие
190fae664f5c628245b85d36d3d8fac5.png
, а найти правильный Handle этого окна не получается и какое сообщение послать так же.
 
Последнее редактирование:
С какой целью убивать процесс?
Убивать как раз не надо, а именно завершить, чтобы данные не побились.
Цель простая. У меня стопорятся потоки при перезагрузке роутера. Вот думаю перезапускать сторонней тулзой.
 
Странная мысль... может, просто решить вопрос со «стопорением»? А то вдруг потом будут ещё другие проекты работать, тогда уже мочить зенку неудобно будет. В чём стопор заключается?
 
А если ПК будет завершать работу, то ZP корректно будет закрыт, при условии, что в нём не будет активного задания в этот момент?
 
А если ПК будет завершать работу, то ZP корректно будет закрыт, при условии, что в нём не будет активного задания в этот момент?
Присоединяюсь к вопросу, но с другим развитием событий:
Если ПК будет завершать работу (или перезагружаться), а в ZennoPoster будут активные (выполняющиеся в данный момент) задания, как будет себя вести ZennoPoster?
 
У меня вот просто появилась простая идея глушить ПК по завершению шаблона: вызывает батник с содержимым
Код:
Развернуть Свернуть Копировать
shutdown /s /t 10
которая вырубит ПК через 60сек, а за это время шаблон успеет завершить работу. 60сек это даже с очень большим запасом.
 
Присоединяюсь к вопросу, но с другим развитием событий:
Если ПК будет завершать работу (или перезагружаться), а в ZennoPoster будут активные (выполняющиеся в данный момент) задания, как будет себя вести ZennoPoster?
чисто теоретически если идет работа со списками/таблицами. комп может выключаться в момент записи файла, тогда повредиет файл данных
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)