Форум: "WinAPI";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизПуть к исполняемому файлу Найти похожие ветки
← →
Turalyon (2002-02-07 14:17) [3]Спасибо, все понял, только я вот чего не понял. Может я чего то не понимаю....
Проедура прохода по всем окнам и вывода в Memo названия окон, и пути к файлам, которые создали процесс, который их создал
var text ,ProcPath : String;
function EnumProc (Handle: HWnd; Param: LongInt): Boolean; stdcall;
var MInstance : LongWord;
begin
if (GetParent (Handle) = 0) and (not IsIconic (Handle)) and (IsWindowVisible (Handle))
then
begin
GetWindowText(handle, PChar(text), Length(text));
Form1.Memo1.Lines.Add( text );
MInstance := GetWindowLong(Handle, GWL_HINSTANCE);
GetModuleFileName( MInstance , PChar(ProcPath), 200);
/// GetWindowModuleFileName(Handle, PChar(ProcPath), 200);
/// С этой функцией тоже не хочет...
Form1.Memo1.Lines.Add( ProcPath );
end;
EnumProc := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var text : string;
mh : HWnd;
begin
setlength(mtxt,200);
setlength(ProcPath,200);
Memo1.Lines.Clear;
EnumWindows (@EnumProc, 0);
end;
Я понимаю так что в месте где используется функция GetModuleFileName должен выводится имя и путь к экзешнику, запустишему окно??? Мне же выдает константой путь к моей собственной программе. Объясните пожалуйста в чем проблемма
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c