Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2018, 11:58   #11
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от atihiy2010 Посмотреть сообщение
Я понимаю, можно с любым другим приложением, чтоб я по аналогии сделал,но чтоб работало.
Я понимаю, халявы хочется и всё такое. Но...

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 04.04.2018, 11:59   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от atihiy2010 Посмотреть сообщение
есть форма, на ней кнопка. Нажал на кнопку и хром развернулся. Можно так?
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так вам ж все равно сайт открыть надо? Вот при открытии (ShellExecute и т.п.) он и развернется.
10 чукч не читающих
p51x вне форума Ответить с цитированием
Старый 04.04.2018, 12:07   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от atihiy2010 Посмотреть сообщение
Что такое Selenium, PhantomJs, CEF ???
Спросили б еще что такое гугл.

Цитата:
Сообщение от atihiy2010 Посмотреть сообщение
можно пример как это сделать?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.04.2018 в 12:12.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2018, 12:27   #14
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

Код:
uses
  TlHelp32;

type
  TEnumData = record
    hWnd: HWND;
    ProcessID: DWORD;
  end;

function EnumProc(hWnd: HWND; var EnumData: TEnumData): BOOL; stdcall;
var
  PID: DWORD;
begin
  Result := True;
  if IsWindowVisible(hWnd) then
  begin
    GetWindowThreadProcessID(hWnd, @PID);
    if PID = EnumData.ProcessID then
    begin
      EnumData.hWnd := hWnd;
      Result := False;
    end;
  end;
end;

function WindowFromProcessID(PID: DWORD): HWND;
var
  EnumData: TEnumData;
begin
  EnumData.ProcessID := PID;
  EnumData.hWnd := 0;
  EnumWindows(@EnumProc, LPARAM(@EnumData));
  Result := EnumData.hWnd;
end;

function GetProcessID(const ProcName: string): DWORD;
var
  ProcessSnap: THandle;
  PE32: TProcessEntry32;
begin
  Result := 0;
  ProcessSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if ProcessSnap <> INVALID_HANDLE_VALUE then
  begin
    PE32.dwSize := SizeOf(TProcessEntry32);
    if Process32First(ProcessSnap, PE32) then
      repeat
        if UpperCase(PE32.szExeFile) = UpperCase(ProcName) then
        begin
          Result := PE32.th32ProcessID;
          Break;
        end;
      until not Process32Next(ProcessSnap, PE32);
    CloseHandle(ProcessSnap);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  H: HWND;
begin
  H := WindowFromProcessID(GetProcessID('chrome.exe'));
  if (H <> 0) {and IsIconic(H)} then
  begin
    ShowWindow(H, SW_NORMAL);
    SetForegroundWindow(H);
  end;
end;

Последний раз редактировалось Filka; 04.04.2018 в 13:14.
Filka вне форума Ответить с цитированием
Старый 04.04.2018, 16:20   #15
atihiy2010
Пользователь
 
Аватар для atihiy2010
 
Регистрация: 22.04.2010
Сообщений: 60
По умолчанию

получился такой код, но ругается вначале, где TEnumData = record говорит "Ожидается : но найдено ="

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TlHelp32, StdCtrls;

type

  TForm1 = class(TForm)
  TEnumData = record
    Button1: TButton;
    procedure Button1Click(Sender: TObject);


    hWnd: HWND;
    ProcessID: DWORD;
  end;

  private
    { Private declarations }
  public
    { Public declarations }

    function EnumProc(hWnd: HWND; var EnumData: TEnumData): BOOL; stdcall;
var
  PID: DWORD;
begin
  Result := True;
  if IsWindowVisible(hWnd) then
  begin
    GetWindowThreadProcessID(hWnd, @PID);
    if PID = EnumData.ProcessID then
    begin
      EnumData.hWnd := hWnd;
      Result := False;
    end;
  end;
end;

function WindowFromProcessID(PID: DWORD): HWND;
var
  EnumData: TEnumData;
begin
  EnumData.ProcessID := PID;
  EnumData.hWnd := 0;
  EnumWindows(@EnumProc, LPARAM(@EnumData));
  Result := EnumData.hWnd;
end;

function GetProcessID(const ProcName: string): DWORD;
var
  ProcessSnap: THandle;
  PE32: TProcessEntry32;
begin
  Result := 0;
  ProcessSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if ProcessSnap <> INVALID_HANDLE_VALUE then
  begin
    PE32.dwSize := SizeOf(TProcessEntry32);
    if Process32First(ProcessSnap, PE32) then
      repeat
        if UpperCase(PE32.szExeFile) = UpperCase(ProcName) then
        begin
          Result := PE32.th32ProcessID;
          Break;
        end;
      until not Process32Next(ProcessSnap, PE32);
    CloseHandle(ProcessSnap);
  end;
end;

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  H: HWND;
begin
  H := WindowFromProcessID(GetProcessID('chrome.exe'));
  if (H <> 0) {and IsIconic(H)} then
  begin
    ShowWindow(H, SW_NORMAL);
    SetForegroundWindow(H);
  end;

end.
atihiy2010 вне форума Ответить с цитированием
Старый 04.04.2018, 16:21   #16
atihiy2010
Пользователь
 
Аватар для atihiy2010
 
Регистрация: 22.04.2010
Сообщений: 60
По умолчанию

Может я что не туда вставил?
atihiy2010 вне форума Ответить с цитированием
Старый 04.04.2018, 16:25   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что надо изучить хоть основы языка, а не тупо копипастить.

Смотрите что такое классы и какой у них синтаксис.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.04.2018, 16:30   #18
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от atihiy2010 Посмотреть сообщение
Может я что не туда вставил?
Мальчик, немедленно отойди от компьютера!
И больше не подходи.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 04.04.2018, 16:41   #19
atihiy2010
Пользователь
 
Аватар для atihiy2010
 
Регистрация: 22.04.2010
Сообщений: 60
По умолчанию

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

Последний раз редактировалось atihiy2010; 04.04.2018 в 17:13.
atihiy2010 вне форума Ответить с цитированием
Старый 04.04.2018, 16:47   #20
atihiy2010
Пользователь
 
Аватар для atihiy2010
 
Регистрация: 22.04.2010
Сообщений: 60
По умолчанию

Все получилось, спасибо огромное всем за подсказки.
atihiy2010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из C# сделать, чтобы в Google Chrome.. worldbest C# (си шарп) 1 13.08.2013 15:44
Как сделать, чтобы Google Chrome корретно отображал text-shadow? pbko HTML и CSS 1 12.12.2011 17:51
Google Chrome Syltan Операционные системы общие вопросы 1 16.04.2010 08:18
Получить дескриптор окна другого приложения и сделать его активным Delphi 7 AndersX Помощь студентам 4 18.10.2009 09:32
Google Chrome HellMercenariess Софт 1 06.10.2009 15:53