Форум: "WinAPI";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизКак узнать HWND окна? Найти похожие ветки
← →
Shira333 (2004-09-27 13:19) [0]Как узнать HWND окна? Если у меня приложение консольное, Applications добавить не могу, т.к. Windows.pas отключен. Какжется можно как-то по Api узнать, не подскажете???
← →
Digitman © (2004-09-27 13:24) [1]
> Как узнать HWND окна?
чьего окна ?
← →
Shira333 (2004-09-27 13:41) [2]Моего, т.е. моего окна консольного приложения.
← →
Digitman © (2004-09-27 14:02) [3]
> Shira333 (27.09.04 13:41) [2]
это окно не относится к "когорте" GUI-окон
а зачем тебе это понадобилось ? поясни ...
← →
Игорь Шевченко © (2004-09-27 14:08) [4]Shira333 (27.09.04 13:41) [2]
> Моего, т.е. моего окна консольного приложения.
Это не твое окно. У консольных приложений нету окон. Узнать можно, перебрав окна и сравнивая имя оконного класса с ConsoleWindowClass и GetWindowThreadProcessId с ID своего процесса.
← →
Digitman © (2004-09-27 14:14) [5]
> Игорь Шевченко
он, видимо, хочет получив хэндл этого окна использовать этот хендл как таргет для Post/SendMessage
← →
Shira333 (2004-09-27 15:24) [6]Короче, одним словом, я хочу послать окну команду SW_HIDE, или по другому говоря, сделать его невидимым!
← →
Игорь Шевченко © (2004-09-27 15:30) [7]Shira333 (27.09.04 15:24) [6]
> я хочу послать окну команду SW_HIDE, или по другому говоря,
> сделать его невидимым!
Вопрос только в том, захочет ли этого окно. Впрочем, как искать, я написал, дальше пробуй.
← →
Shira333 (2004-09-27 15:32) [8]Дело в том, что GetForegroundWindow показывает хэндл, если прогу сам запускал. А когда прога грузится при запуске винды из реестра, то не помогает... Я думаю, что есть какая то функция(вроде GetForegroundWindow</), которая дает хэндл своего окна
← →
Shira333 (2004-09-27 15:37) [9]Как узнать АйДи своего процесса?
← →
Digitman © (2004-09-27 15:41) [10]
> Shira333 (27.09.04 15:37) [9]
Get - получить
Current - текущий
ProcessId - идент-р процесса
все вместе = получить идент-р текущего процесса = GetCurrentProcesId
поискать по станд.справке - не судьба ... не говоря уже о том чтобы догадаться
← →
KSergey © (2004-09-28 08:16) [11]> [6] Shira333 (27.09.04 15:24)
> Короче, одним словом, я хочу послать окну команду SW_HIDE,
> или по другому говоря, сделать его невидимым!
Дык может тогда консольное приложние вовсе и не нужно? Оно по определению открывает окно (система для него). А ты сделай не консольное - и ничего прятать не придется, пока сам явно не покажешь.
← →
MetalFan © (2004-09-28 10:36) [12]
> сделай не консольное - и ничего прятать не придется
оченб верное замечание? смысл консольного приложение, если окно консоли прятать?
← →
Shira333 (2004-09-28 17:21) [13]Спасибу, уже сделал то, что хотел!!!
А консольное сделал, чтоб минимум весило!!!
← →
Digitman © (2004-09-28 17:32) [14]
> консольное сделал, чтоб минимум весило
диагноз подтвердился
← →
Shira333 © (2004-09-28 18:07) [15]Какой???
← →
Lin7 (2004-09-28 18:13) [16]Ужастный!!!
← →
Shira333 © (2004-09-28 18:21) [17]Может объясните, чтобы в будущем не ошибался, если ошибся...
← →
Lin7 (2004-09-28 18:24) [18]Если хочешь сделать очччень маленькую программу - сделай процесс БЕЗ окон, а не консоль. И лучше на WinAPI. И лучше найди (это даже проще и быстрее чем писать самому) примеры в инете.
Удачи.
← →
Shira333 © (2004-09-28 18:26) [19]Как процесс создавать??? Вроде посмотрел, но не увидел...
← →
Lin7 (2004-09-28 18:51) [20]А как же сервисы?
О сервисах смотри на www.rsdn.ru в статьях.
← →
Lin7 (2004-09-28 19:02) [21]Или ещё вариант: создаёшь проект Application, открываешь View Source проекта (в меню Project) и чистишь всё, кроме
program Project1;
begin
// твой код
end.
и удаляешь из проекта единственный юнит-форму. Всё!
Скомпилишь - получишь exe-шник ~8k размером и без окна.
Заметь, пустая консолька весит столько же.
Напишешь на WinAPI - должно быть меньше ИМХО.
Удачи!
← →
y-soft © (2004-09-29 08:21) [22]>Игорь Шевченко © (27.09.04 14:08) [4]
Это не твое окно. У консольных приложений нету окон. Узнать можно, перебрав окна и сравнивая имя оконного класса с ConsoleWindowClass и GetWindowThreadProcessId с ID своего процесса.
???
Обратимся к первоисточнику:
Microsoft Knowledge Base Article - 124103
"How To Obtain a Console Window Handle (HWND)"
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q124/1/03.asp&NoWebCo ntent=1
Но:
...The resulting HWND is not guaranteed to be suitable for all window handle operations...
С уважением
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 2.567 c