Закрыть ZennoPoster

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 поток остается не завершен в зенке она просит подтверждение на закрытие
, а найти правильный Handle этого окна не получается и какое сообщение послать так же.
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113

Mandyson

Client
Регистрация
03.06.2012
Сообщения
410
Благодарностей
84
Баллы
28
С какой целью убивать процесс?
Убивать как раз не надо, а именно завершить, чтобы данные не побились.
Цель простая. У меня стопорятся потоки при перезагрузке роутера. Вот думаю перезапускать сторонней тулзой.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
796
Баллы
113
Странная мысль... может, просто решить вопрос со «стопорением»? А то вдруг потом будут ещё другие проекты работать, тогда уже мочить зенку неудобно будет. В чём стопор заключается?
 

Polina

Client
Регистрация
29.05.2015
Сообщения
37
Благодарностей
1
Баллы
8
А если ПК будет завершать работу, то ZP корректно будет закрыт, при условии, что в нём не будет активного задания в этот момент?
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
А если ПК будет завершать работу, то ZP корректно будет закрыт, при условии, что в нём не будет активного задания в этот момент?
Присоединяюсь к вопросу, но с другим развитием событий:
Если ПК будет завершать работу (или перезагружаться), а в ZennoPoster будут активные (выполняющиеся в данный момент) задания, как будет себя вести ZennoPoster?
 

Polina

Client
Регистрация
29.05.2015
Сообщения
37
Благодарностей
1
Баллы
8
У меня вот просто появилась простая идея глушить ПК по завершению шаблона: вызывает батник с содержимым
Код:
shutdown /s /t 10
которая вырубит ПК через 60сек, а за это время шаблон успеет завершить работу. 60сек это даже с очень большим запасом.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 706
Баллы
113
Присоединяюсь к вопросу, но с другим развитием событий:
Если ПК будет завершать работу (или перезагружаться), а в ZennoPoster будут активные (выполняющиеся в данный момент) задания, как будет себя вести ZennoPoster?
чисто теоретически если идет работа со списками/таблицами. комп может выключаться в момент записи файла, тогда повредиет файл данных
 

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