我的 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);