0

另一个新问题,我想知道是否以及如何让全屏应用程序在不使用任何表单的项目上运行,它是一个 GUI APP_TYPE。

我在基于表单的应用程序上执行 SW_MAXIMIZED 并将边框设置为 none,这非常简单,任何方式我都可以在这个 cefclient(来自 Delphi Chromium Embedded)上实现这一点:

var
{$IFDEF CEF_MULTI_THREADED_MESSAGE_LOOP}
  Msg      : TMsg;
{$ENDIF}
  wndClass : TWndClass;
begin
  //CefCache := 'cache';
  //navigateto := 'client://test/';
  //navigateto := 'local://c:\';


  // 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_OVERLAPPED,    // window style
      Integer(0), // initial x position
      Integer(0), // 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);

我不知道这是否是全屏部分应该使用的正确代码,但是我尝试使用 SW_MAXIMIZED,但没有工作,我想知道 CW_USEDEFAULT,我怎样才能获得工作区矩形,以便我可以设置宽度和重叠任务栏的高度。或者,有可能吗?

4

0 回答 0