Вопрос : ShellExecute SW_HIDE

Когда using ShellExecute SW_HIDE, как вы получаете ручку ООН-прячете применение using ShowWindow? class=

Ответ : ShellExecute SW_HIDE

Classname для блокнот не будет notepad.exe…
Однако, здесь что-то, котор вы могли быть заинтересованн внутри. Питер ниже к спасению снова…


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
блок Unit1;

поверхность стыка

пользы
  Windows, сообщения, SysUtils, варианты, типы, графики, управление, формы,
  Диалоги, StdCtrls, ShellAPI, TlHelp32;

тип
  TForm1 = тип (TForm)
    Button1: TButton;
    процедура Button1Click (прислужник: TObject);
  приватно
    {Приватные объявления}
  публика
    {Общественные объявления}
  конец;

var
  Form1: TForm1;

вставка

{$R *.dfm}

тип
  TEnumData = показатель
    hW: HWND;
    pID: DWORD;
  конец;

функция EnumProc (hw: HWND; данные по var: TEnumData): Bool; stdcall;
var
  pID: DWORD;
начните
  Результат: = True;
  если (GetWindowLong (hw, GWL_HWNDPARENT) = 0) и
     (IsWindowVisible (hw) или IsIconic (hw)) после этого
  начните
    GetWindowThreadProcessID (hw, @pID);
    Если pID = data.pID после этого
    начните
      data.hW: = hW;
      Результат: = ложно;
    конец; {Если}, то
  конец; {Если}, то
конец; {EnumProc}

функция WindowFromProcessID (pID: DWORD): HWND;
var
  данные: TEnumData;
начните
  data.pID: = pID;
  data.hW: = 0;
  EnumWindows (@EnumProc, longint (@data));
  Результат: = data.hW;
конец; {WindowFromProcessID}

функция WindowFromAppname32 (appname: Шнур): HWND;
  {Взятие только filename применения, полный курс!
    Потребность пройти выдвижение также. }
var
  снимок: Т-образная рукоятка;
  processEntry: TProcessEntry32;
начните
  Результат: = 0;
  appName: = UpperCase (appname);
  снимок: = CreateToolhelp32Snapshot (
                TH32CS_SNAPPROCESS,
                0);
  если снимок <> 0 после этого
  попытка
    processEntry.dwSize: = Sizeof (processEntry);
    если Process32First (снимок, processEntry) после этого
    повторение
      если AnsiCompareText (, то
           appname,
           ExtractFilename (StrPas (processEntry.szExeFile))
           ) = 0
      после этого
      начните
        Результат: = WindowFromProcessID (processEntry.th32ProcessID);
        Пролом;
      конец; {Если}, то
    до не Process32Next (снимка, processEntry);
  окончательно
    CloseHandle (снимок);
  конец; {попытка}
конец; {WindowFromAppname32}

процедура TForm1.Button1Click (прислужник: TObject);
var
  x: Т-образная рукоятка;
начните
  ShellExecute (0, «раскрывает», «c:\WINDOWS\notepad.exe», '', '', SW_SHOW);
  x: = WindowFromAppname32 («NotePad.exe ");
  ShowMessage (IntToStr (x));
конец;

конец.
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us