Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.11.2012, 11:17
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
Вопрос Странный Explorer в Windows 7

Задача казалась бы очень лёгкая, но столкнулся с необычным глюком. Нужно всего лишь запустить процесс Проводника и получить Хэндл его главной формы.

Делаю так:
Код:
var
  Handl:HWND=0;

function EnumProc(h:HWND; lParam:DWord):boolean; stdcall;
begin
 handl:=h;
 Result:=handl=0;
end;

var
  StartInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
begin
  with StartInfo do
  begin
    cb := SizeOf(StartInfo);
    {dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
    StartInfo.wShowWindow:=SW_show;//hide;
    }
  end;
  CreateProcessA(nil,{PChar('Explorer n/,/select,"'+paramstr(0)+'"')}'Explorer.exe',nil,nil,false,0,nil,nil,StartInfo,ProcInfo);


  //WaitForSingleObject(ProcInfo.hProcess, INFINITE);
  WaitForInputIdle(ProcInfo.hProcess, INFINITE);
  EnumThreadWindows(ProcInfo.dwThreadId,@EnumProc,0);
  CloseHandle(ProcInfo.hProcess);
  CloseHandle(ProcInfo.hThread);


end.
в результате в хэндл получаю ноль, хотя для блокнота то же самое спокойно работает

Думал что может для проводника не так с окнами что либо, потестил через таймер:

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  a:TPoint;
begin
  GetCursorPos(a);
  Caption:=inttostr(WindowFromPoint(a));
end;
так работает.

Внимание, Вопрос: что не так в первом коде?

ну и почему для блокнота и др работает, EnumThreadWindows и EnumWindows для проводника ничего не находят, но ведь окно есть, я же нашёл его... спасите мой глюк)
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter