Форум Gatchina OnLine  

Вернуться   Форум Gatchina OnLine > Hard&Soft > Программирование и разработка

Программирование и разработка Обсуждение вопросов программирования

Закрытая тема
 
Опции темы Опции просмотра
Старый 11.05.2007, 16:36   #1
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Окна в делфи

Доброго времени!
Нужна помощь на Delphi. Необходимо составить список дескрипторов всех окон(в том числе и других приложений) и определить какое окно из этого списка активно в данный момент.
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума  
Старый 11.05.2007, 23:20   #2
Executer
Гость
 

Нарушения:[Посмотреть]
Сообщение

Окна какого типа нужны?
просто вот код, который выводит в файл дескрипторы всех окон, и вконце выводит дискриптор активного окна (но это на С++, но вин апи - он и в африке вин апи...):
PHP код:

ofstream fo
;
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
    
fo << (unsigned)hwnd << "\n"
    return 
true;
}

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     
HINSTANCE hPrevInstance,
                     
LPTSTR    lpCmdLine,
                     
int       nCmdShow)
{
    ....
    
fo.open("txt.txt");
    
EnumWindows((WNDENUMPROC)EnumWindowsProcNULL);
    
fo << "Active = "<< (unsigned)GetForegroundWindow() << "\n"
    
fo.close();
    ....

 
Старый 12.05.2007, 14:12   #3
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Спасибо, буду разбираться...
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума  
Старый 12.05.2007, 19:17   #4
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Так, с этим разобрался. А как получить имя процесса, которому принадлежит окно, если нам известен только дескриптор окна?
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума  
Старый 12.05.2007, 20:18   #5
Executer
Гость
 

Нарушения:[Посмотреть]
У тебя есть MSDN?
Если нет, обязатеьно найди и установи. Конечно если еще планируешь использовать вин апи. Вот выписка из него:
PHP код:
The GetWindowThreadProcessId function retrieves the identifier of the thread that created the specified window and, optionallythe identifier of the process that created the window

Syntax

DWORD GetWindowThreadProcessId
(          HWND hWnd,
    
LPDWORD lpdwProcessId
);
Parameters

hWnd
[inHandle to the window
lpdwProcessId
[outPointer to a variable that receives the process identifier. If this parameter is not NULLGetWindowThreadProcessId copies the identifier of the process to the variableotherwiseit does not
Return 
Value

The 
return value is the identifier of the thread that created the window
 
Старый 12.05.2007, 21:08   #6
Executer
Гость
 

Нарушения:[Посмотреть]
Кстати , могу выложить кучу полезного кода по Win32. Рихтер его автор.
Только вот куда выложить...
потому как если тебе нужно именно название а не ID, процесса, то придется выкоблучиваться по-разному.... А там все показано и описано. И не только это...
 
Старый 12.05.2007, 21:15   #7
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Цитата:
Сообщение от Executer Посмотреть сообщение
Кстати , могу выложить кучу полезного кода по Win32. Рихтер его автор.
Только вот куда выложить...
потому как если тебе нужно именно название а не ID, процесса, то придется выкоблучиваться по-разному.... А там все показано и описано. И не только это...
Выкладывай Рихтера куда захочешь, мне всёравно Заранее спасибо.
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума  
Старый 13.05.2007, 16:33   #8
Executer
Гость
 

Нарушения:[Посмотреть]
В том то и дело, что выбора у меня не много . Нужно ткнуть носом - куда скопировать, чтобы у меня права на запись были...
Во внешнюю сеть некуда выкидывать, так что нужно что-то тут - в сети...
 
Старый 13.05.2007, 16:41   #9
Kostyan
папуас
 
Аватар для Kostyan
 
Регистрация: 24.01.2006
Адрес: остров в океане

Нарушения:[Посмотреть]
Цитата:
Сообщение от Executer Посмотреть сообщение
В том то и дело, что выбора у меня не много . Нужно ткнуть носом - куда скопировать, чтобы у меня права на запись были...
Во внешнюю сеть некуда выкидывать, так что нужно что-то тут - в сети...
ftp://ftp.gatchina.ru:21/Change/Kostyan/

ftp://anime.sz:21/Upload/
__________________
I'm going back to my roots yeah yeah
Reggae music is all that I need!
Lucky Dube
Kostyan вне форума  
Старый 13.05.2007, 20:24   #10
Executer
Гость
 

Нарушения:[Посмотреть]
Выложил:
ftp://ftp.gatchina.ru/Change/Kostyan/Win32
 
Закрытая тема


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:13. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot