Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как закрыть окно другого процесса / 2 сообщений из 2, страница 1 из 1
06.06.2007, 10:27
    #34576968
slamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть окно другого процесса
Добрый день.
Есть 2 окна, принадлежащие согласно Spy++ одному Process ID и одному и томуже Thread ID.
Необходимо закрыть одно из этих окон из моего приложения.
Хэндл нужного окна определяется правильно ( Полученный через FindWindow() hWnd правильный, согласно Spy++)
Но почемуто никак не получается закрыть (уничтожить) это окно.
Пробовал разными способами:
и
myWnd->PostMessageA( WM_CLOSE, 0, 0 ); ( и WM_QUIT )
и
myWnd->SendMessage( WM_CLOSE, 0, 0 ); ( и WM_QUIT )
и
myWnd->DestroyWindow()
и
myWnd->PreTranslateMessage(&msg) с сформированным msg.

Вобщем ничего понять не могу. В чем же дело?

PS: Пытаюсь закрыть окно редактора VisualBasic в MS ACCESS.
...
Рейтинг: 0 / 0
06.06.2007, 12:43
    #34577343
Tracer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть окно другого процесса
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include "stdafx.h"
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
	HWND hWnd = ::FindWindow( L"wndclass_desked_gsk", NULL );

	if ( hWnd )
	{
		::SendMessage( hWnd, WM_CLOSE,  0 ,  0  );
	}

	return  0 ;
}

Работает.
DestroyWindow можно вызывать только из потока, где создано окно. И не используй pWnd, используй HWND
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как закрыть окно другого процесса / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]