Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
ВнизКак определить hWnd моего приложения, если Найти похожие ветки
← →
Igel (2002-09-09 09:54) [0]...я его делаю консольным?
Т.е. убираю следующие вставки:
uses Forms;
...
Application.Initialize;
Application.run;
← →
Ketmar (2002-09-09 10:14) [1]установить заголовок консольного окна в нечто совсем уникальное, потом сделать FindWindow.
Satanas Nobiscum! 09-Sep-XXXVII A.S.
← →
Ketmar (2002-09-09 10:15) [2]и еще: если вы просто убрали вышеприведенные строки, то это еще не значит, что ваше приложение стало консольным. оно стало просто "безоконным" (макое тоже бывает). дабы сделать его консольным, добавьте в начало проекта строчку
{$APPTYPE CONSOLE}
Satanas Nobiscum! 09-Sep-XXXVII A.S.
← →
Igel (2002-09-09 10:43) [3]Пусть безоконное. А в чем отличие от консольного? И как у безоконного определить hWnd ?
← →
Виктор Щербаков (2002-09-09 10:46) [4]
> И как у безоконного определить hWnd ?
У безоконного приложения нет окон, следовательно нет и хэндлов (hWnd) окон.
← →
Внук (2002-09-09 10:48) [5]"И как у безоконного определить hWnd (Window Handle)?"
Может, я совсем тупой, но это вроде бы взаимоисключающие вещи, нет? :)
← →
Igel (2002-09-09 11:12) [6]Виктор Щербаков, хэндлов (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 11:15) [7]
> Ну, уж нет! Каждое приложение имеет свой hWnd.
Не каждое. Например:
program Project1;
begin
end.
А объект Application можно не создавать. Достаточно выкинуть из Uses модуль Forms.
← →
Romkin (2002-09-09 11:39) [8]2Igel чушь несусветная, оконный хендл есть только у окна, а то, что перечислено - классы, имеющие окна (TApplication просто создает невидимое окно, так удобно) либо просто оболочка вокруг окна (TForm, TButton)
RTFM
← →
Игорь Шевченко (2002-09-09 13:39) [9]Igel © (09.09.02 11:12)
У приложения нету Handle. Вообще. Есть Handle у процесса, потока, окна и еще 57 типов объектов :-)
← →
still (2002-09-09 13:42) [10]
> Ketmar © (09.09.02 10:14)
> установить заголовок консольного окна в нечто совсем уникальное,
> потом сделать FindWindow.
Не работает FindWindow для консольных приложений
← →
Виктор Щербаков (2002-09-09 13:48) [11]
> Не работает FindWindow для консольных приложений
Это почему?
← →
still (2002-09-09 13:52) [12]
> Виктор Щербаков © (09.09.02 13:48)
>
> > Не работает FindWindow для консольных приложений
>
> Это почему?
Ну не знаю почему. Но факт. По крайней мере в NT4
← →
Igel (2002-09-10 14:02) [13]Всем спасибо, разобрался... по крайней мере, что меня интересовало...
Оказывается, если неоконное приложение, то вместо handle пишется 0. Т.е. к текущему процессу... что-то в этом роде..
← →
Song (2002-09-10 14:11) [14]0 - рабочий стол.
← →
KSergey (2002-09-10 15:08) [15]Song © (10.09.02 14:11) к сожалению автор так толком и не сказал что на Handle ему нужен и зачем. Возможно в противном случае ответ бы нашелся намного быстрее. Так-то вот, товарищ автор. А то вдруг хендл процесса ему оказывается понадобился...
← →
Igel (2002-09-11 09:06) [16]KSergey, вы правы, н-да, минус мне!!
Я хотел использовать API-функцию MessageBox. Для вывода диалога сообщения (думал прога поменьше будет, если только АПИ использовать). Оказалось нужен хендл. Раньше просто с этим разбирался. А тут в тупик встал! Вот и возникла эта дискуссия... :))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c