Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить hWnd моего приложения, если [D5]


Igel ©   (2002-09-09 09:54:00) 

...я его делаю консольным?

Т.е. убираю следующие вставки:

uses Forms;
...
Application.Initialize;
Application.run;


Igel   (2002-09-11 09:06:00) [1]

KSergey, вы правы, н-да, минус мне!!
Я хотел использовать API-функцию MessageBox. Для вывода диалога сообщения (думал прога поменьше будет, если только АПИ использовать). Оказалось нужен хендл. Раньше просто с этим разбирался. А тут в тупик встал! Вот и возникла эта дискуссия... :))


KSergey   (2002-09-10 15:08:00) [2]

Song © (10.09.02 14:11) к сожалению автор так толком и не сказал что на Handle ему нужен и зачем. Возможно в противном случае ответ бы нашелся намного быстрее. Так-то вот, товарищ автор. А то вдруг хендл процесса ему оказывается понадобился...


Song   (2002-09-10 14:11:00) [3]

0 - рабочий стол.


Igel   (2002-09-10 14:02:00) [4]

Всем спасибо, разобрался... по крайней мере, что меня интересовало...
Оказывается, если неоконное приложение, то вместо handle пишется 0. Т.е. к текущему процессу... что-то в этом роде..


still   (2002-09-09 13:52:00) [5]


> Виктор Щербаков © (09.09.02 13:48)
>
> > Не работает FindWindow для консольных приложений
>
> Это почему?


Ну не знаю почему. Но факт. По крайней мере в NT4


Виктор Щербаков   (2002-09-09 13:48:00) [6]


> Не работает FindWindow для консольных приложений

Это почему?


still   (2002-09-09 13:42:00) [7]


> Ketmar © (09.09.02 10:14)
> установить заголовок консольного окна в нечто совсем уникальное,
> потом сделать FindWindow.


Не работает FindWindow для консольных приложений


Игорь Шевченко   (2002-09-09 13:39:00) [8]

Igel © (09.09.02 11:12)

У приложения нету Handle. Вообще. Есть Handle у процесса, потока, окна и еще 57 типов объектов :-)


Romkin   (2002-09-09 11:39:00) [9]

2Igel чушь несусветная, оконный хендл есть только у окна, а то, что перечислено - классы, имеющие окна (TApplication просто создает невидимое окно, так удобно) либо просто оболочка вокруг окна (TForm, TButton)
RTFM


Виктор Щербаков   (2002-09-09 11:15:00) [10]


> Ну, уж нет! Каждое приложение имеет свой hWnd.

Не каждое. Например:
program Project1;
begin
end.
А объект Application можно не создавать. Достаточно выкинуть из Uses модуль Forms.


Igel   (2002-09-09 11:12:00) [11]

Виктор Щербаков, хэндлов (hWnd) окон может и нет, но должон быть хэндл приложения...

Внук:
Ну, уж нет! Каждое приложение имеет свой hWnd. И не важно есть окно или нет! Опять-же в дельфи наглядно видно:
1. Есть hWnd для окна приложения: Application.Handle
2. Есть hWnd для формы приложения. Form1.Handle
3. Есть hWnd для каждого компонента формы. button.Handle

memo1.Lines.add(inttostr(Application.handle));
memo1.Lines.add(inttostr(handle));


Внук   (2002-09-09 10:48:00) [12]

"И как у безоконногоопределить hWnd(Window Handle)?"
Может, я совсем тупой, но это вроде бы взаимоисключающие вещи, нет? :)


Виктор Щербаков   (2002-09-09 10:46:00) [13]


> И как у безоконного определить hWnd ?

У безоконного приложения нет окон, следовательно нет и хэндлов (hWnd) окон.


Igel   (2002-09-09 10:43:00) [14]

Пусть безоконное. А в чем отличие от консольного? И как у безоконного определить hWnd ?


Ketmar   (2002-09-09 10:15:00) [15]

и еще: если вы просто убрали вышеприведенные строки, то это еще не значит, что ваше приложение стало консольным. оно стало просто "безоконным" (макое тоже бывает). дабы сделать его консольным, добавьте в начало проекта строчку
{$APPTYPE CONSOLE}

Satanas Nobiscum! 09-Sep-XXXVII A.S.


Ketmar   (2002-09-09 10:14:00) [16]

установить заголовок консольного окна в нечто совсем уникальное, потом сделать FindWindow.

Satanas Nobiscum! 09-Sep-XXXVII A.S.


Наверх

Титульная страница Поиск, карта сайта Написать письмо