让我懵了好久的代码,高手过来帮我翻译翻译好吗?如果是超级高手,我急切盼望能在每个句子后面来个注释,谢了哈
var
  Humtex:THandle;
  FoundWnd:THandle;
  ModuleName:String;
function   EnumWndProc(Hwnd:THandle;Param:Cardinal):BOOL;stdcall;
var
  ClassName,WinModuleName:string;
  WinInstance:THandle;
begin
  Result:=True;
  SetLength(ClassName,100);
  GetClassName(Hwnd,PChar(ClassName),Length(ClassName));
  ClassName:=PChar(ClassName);
  if ClassName=TForm1.ClassName then
  begin
    SetLength(WinModuleName,200);
    WinInstance:=GetWindowLong(Hwnd,GWL_HINSTANCE);
    GetModuleFileName(WinInstance,PChar(WinModuleName),Length(WinModuleName));
    WinModuleName:=PChar(WinModuleName);
    if WinModuleName=ModuleName then
    begin
      FoundWnd:=Hwnd;
      Result:=False;
    end;
  end;
end;begin
  humtex:=CreateMutex(nil,False,'ClientMutex');
  if (WaitForSingleObject(Humtex,0)<>Wait_TimeOut) then
  begin
    Application.Initialize;
    showwindow(Application.Handle,SW_HIDE);
    Application.ShowMainForm:=false;
    Application.Title := 'XHDSEND';
    Application.CreateForm(TForm1, Form1);
  //Application.CreateForm(TForm2, Form2);
    Application.Run;
  end
  else
  begin
      SetLength(ModuleName,200);
      GetModuleFileName(HInstance,PChar(ModuleName),Length(ModuleName));
      ModuleName:=PChar(ModuleName);
      EnumWindows(@EnumWndProc,0);
    if (FoundWnd<>0) then
    begin
      if not IsWindowVisible(FoundWnd) then
      PostMessage(FoundWnd,WM_App,0,0);
      SetForegroundWindow(FoundWnd);
    end;
  end;
end.