⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bossx.dpr

📁 全局快捷键的示例 采用EnumWindows使进程唯一,设置全局快捷键
💻 DPR
字号:
program BossX;

uses
  Forms,
  Windows,
  Unit1 in 'Unit1.pas' {Form1},
  TrayIcon in 'TrayIcon.pas';

var
  h_Mutex, h_FindHid: HWND;
  s_MoudleName: string;

function EnumWndProc(h_hwnd: Thandle; c_param: Cardinal) :Boolean; stdcall;
var
  s_ClassName, s_WinMoudleName: string;
  WinInstance: THandle;
begin
  result := true;
  SetLength(s_ClassName,100);
  //GetWindowText(hwnd,szCaption,127); 
  GetClassName(h_hwnd,pchar(s_ClassName),length(s_ClassName));  
  s_ClassName := pchar(s_ClassName);
  if s_ClassName=TForm1.ClassName then
  begin
    WinInstance := GetWindowLong(h_hwnd,GWL_HINSTANCE);
    setlength(s_WinMoudleName,100);
    GetModuleFileName(WinInstance,pchar(s_WinMoudleName),length(s_WinMoudleName));
    s_WinMoudleName := pchar(s_WinMoudleName);
    if s_WinMoudleName=s_MoudleName then
    begin
      h_FindHid := h_hwnd;
      result := false;
    end;
  end;
end;

{$R *.res}

begin
  h_Mutex := CreateMutex(nil,false,'MutexCardServer');

  if WaitForSingleObject(h_Mutex,0)<>wait_TimeOut then
  begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TForm1, Form1);
    Application.ShowMainForm :=false;
    Application.Run;
  end
  else
  begin
    SetLength(s_MoudleName,100);
    GetModuleFileName(HInstance,pchar(s_MoudleName),length(s_MoudleName));
    s_MoudleName := pchar(s_MoudleName);
    EnumWindows(@EnumWndProc,0);
    if h_FindHid<>0 then
      SetForegroundWindow(h_FindHid);
  end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -