0

我的 DCEF3(使用 Delphi XE3)遇到了难题。让我们简单地从演示包中获取 cefclient.exe,因为它没有使用表单,而且我并没有在 google 上找到太多文档,我如何检查是否有任何进程,以便它可以专注于当前打开的一个而不是打开一个新的.

这是我在 guiclient 演示中使用的,我在其中使用 Forms 单元。

begin
  Hwnd := FindWindow ('TLoginForm', nil);
  if Hwnd = 0 then
  begin
    Application.Initialize;
    Application.Title := 'Tribul.Net - Game Overview';
    Application.CreateForm(TLoginForm, LoginForm);
    Application.CreateForm(TBrowserForm, BrowserForm);
    Application.Run;
  end else
    SetForegroundWindow(Hwnd);
end.

关于如何在此代码示例上执行此操作的任何想法?

// multi process
  CefSingleProcess := False;
  if not CefLoadLibDefault then Exit;

  try
    wndClass.style         := CS_HREDRAW or CS_VREDRAW;
    wndClass.lpfnWndProc   := @CefWndProc;
    wndClass.cbClsExtra    := 0;
    wndClass.cbWndExtra    := 0;
    wndClass.hInstance     := hInstance;
    wndClass.hIcon         := LoadIcon(0, IDI_APPLICATION);
    wndClass.hCursor       := LoadCursor(0, IDC_ARROW);
    wndClass.hbrBackground := 0;
    wndClass.lpszMenuName  := nil;
    wndClass.lpszClassName := 'tribul';

    RegisterClass(wndClass);

    Window := CreateWindow(
      'tribul',             // window class name
      'Tribul.net - Gods of War',     // window caption
      WS_OVERLAPPEDWINDOW or WS_CLIPCHILDREN,    // window style
      Integer(CW_USEDEFAULT), // initial x position
      Integer(CW_USEDEFAULT), // initial y position
      Integer(CW_USEDEFAULT), // initial x size
      Integer(CW_USEDEFAULT), // initial y size
      0,                      // parent window handle
      0,                      // window menu handle
      hInstance,              // program instance handle
      nil);                   // creation parameters

    ShowWindow(Window, SW_SHOW);
    UpdateWindow(Window);
4

0 回答 0