- Регистрация
- 03.06.2012
- Сообщения
- 410
- Благодарностей
- 84
- Баллы
- 28
Хотел бы сделать тулзу, которая может отправлять сообщения процессу зенки о закрытии программы.
Путем гугления выявил код(простой вариант)
и более сложный с поиском из списка уже запущенных
Всё в общем-то нормально, но проблема заключается в том, то когда хоть 1 поток остается не завершен в зенке она просит подтверждение на закрытие
, а найти правильный Handle этого окна не получается и какое сообщение послать так же.
Путем гугления выявил код(простой вариант)
Код:
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);
}
Последнее редактирование: