Автор
|
Тема: делфи -> билдер, помогите
|
sleeps |
опубликован 01-02-2002 17:01 MSK
господа, простите мою неграмостность (с таким топиком по ламерам это можно сделать :) ) как примерно будет выглядеть следующий фрагмент в 4-ой стройке, в хелпе я не нашел описания функций // Hачало (MINIMIZE.DPR){$APPTYPE CONSOLE}program Minimize; uses Windows,Messages; var Count:integer; function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall; begin if (GetParent (WinHandle) = 0) and (not IsIconic (WinHandle)) and (IsWindowVisible (WinHandle)) then PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0); Inc(Count); end; EnumProc := TRUE; end; begin Count:=0; EnumWindows (@EnumProc, 0); Writeln('Minimized:',Count,' windows'); end. // конец (MINIMIZE.DPR)это последне, что нужно мне для завершения работы на данном этапе
|
One
|
опубликован 01-02-2002 17:30 MSK
Вообще вопрос непонятен. Написанно вроде норамльно. Единственное, можно вместо PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0) делать ShowWindow(WinHandle, SW_MINIMIZE).Объясни поподробнее |
sleeps
|
опубликован 02-02-2002 09:23 MSK
а EnumProc - нету его у меня в хелпе... |
ADK
|
опубликован 04-02-2002 13:56 MSK
EnumProc - это произвольное название (placeholder), ты ведь адрес передаёшь... |
sleeps
|
опубликован 04-02-2002 16:18 MSK
компиляция затыкается в этом месте: EnumProc := TRUE; end; утверждая, что что-то не в порядке с EnumProc и ;, типа точку надо ставить... |
One
|
опубликован 04-02-2002 17:08 MSK
Потому что надо Result:=True; |
One
|
опубликован 04-02-2002 18:35 MSK
Тлько щас заметил - begin одного не хватает, после if - then, а то end лишний.Во я дурак?!!! А лучше все равно писать Result:=True; |
ADK
|
опубликован 05-02-2002 05:27 MSK
Какую-то пургу вы гоните. Примеров на EnumWindows не можете найти что ли? А вообще все окна не так сворачиваются. Надо создать COM-объект shell и:MinimizeAll Method -------------------------------------------------------------------------------- Description Causes all of the windows on the desktop to be minimized. This is the same as right-clicking on the taskbar and selecting Minimize All Windows. Syntax object.MinimizeAll
Parameter Description object Required. An object expression that evaluates to a Shell object.
|
sleeps
|
опубликован 05-02-2002 09:12 MSK
Спасибо One за замеченную ошибку, действительно - она все решает, так что ты просто самый внимательный из нас :) вопрос у меня остался только один, я функцию определил в билдере, но с вызовом проблемы - какие аргументы мне туда посылать, по идее никакие, ну если только обнуление цикла... вот он и жалуется, типа дескать мало параметров и так далее, что посоветуете? ЗЫ для ADK - проблема в том, что таскбар у меня отсутствуетЮ это во-первых, а во-вторых, все делается для того, чтобы выдвинуть на первый план мою задачу, она в принципе сворачиваться не умеет, но эта прога её свернула! чем аннулировала эфеективность вообще... |