📄 project1.dpr
字号:
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
var
hMutex,FindHid:HWND;
MoudleName:string;
function EnumWndProc(hwnd:Thandle;param:Cardinal):bool;stdcall;
//由于用于api回调函数,请使用windows传统的参数传递方式stdcall
var
ClassName,WinMoudleName:string;
WinInstance:THandle;
begin
result:=true;
SetLength(ClassName,100);
GetClassName(hwnd,pchar(ClassName),length(ClassName));//获得当前遍历窗口的类名
ClassName:=pchar(ClassName);//在字符串后加结束符,确定字符串结束
if ClassName=TForm1.ClassName then//比较
begin
WinInstance:=GetWindowLong(hwnd,GWL_HINSTANCE);//获得当前遍历窗口的实例
setlength(WinMoudleName,100);
GetModuleFileName(WinInstance,pchar(WinMoudleName),length(WinMoudleName));
//获得当前遍历窗口的程序文件名
WinMoudleName:=pchar(WinMoudleName);
if WinMoudleName=MoudleName then //MoudleName为工程全局变量,自身程序的文件名
begin
FindHid:=hwnd;//FindHid为工程全局变量保存找到的句炳
result:=false;//找到以后就结束遍历
end;
end;
end;
begin
hMutex:=CreateMutex(nil,false,'yiWuaGua');
if WaitForSingleObject(hMutex,0)<>wait_TimeOut then
begin
Application.Initialize;
Application.Title := '书仪外挂管理';
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
begin
SetLength(MoudleName,100);
GetModuleFileName(HInstance,pchar(MoudleName),length(MoudleName));
//获得自己程序文件名
MoudleName:=pchar(MoudleName);
EnumWindows(@EnumWndProc,0);//调用枚举函数
if FindHid<>0 then
SetForegroundWindow(FindHid);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -